Skip to main content
10-Marble
October 21, 2025
已解决

ProParameterTableExport

  • October 21, 2025
  • 2回复
  • 1763查看

Does anyone know the context argument (third argument) of ProParameterTableExport using the toolkit that match looking at an assembly's parameters using the filter "Current and all assembly features and components" in Creo Parametric 10.0.4.0?  I am having issues trying to get all of the parameters using PRO_PARAMTABLE_EXPORT_XML.

最佳答案由 JC_IN_KC

I finally figured out the issue.  I was getting the model item by using ProMdlToModelitem in the visit action function, but I need to use the passed argument of (ProFeature *) as the model item.

2回复

18-Opal
October 26, 2025

Do you want to export only solid parameters? All the options are interesting for parameter not created by Model2Modelitem, for example feature parameter. In Assembly Mode, Component parameter may interesting. It depends what you want to parse later in the xml file. As written in the header file, this option is used if the modelitem is NULL, and you don’t want to visit the parameter by your. Which one you are interested in?

 

JC_IN_KC10-Marble作者
10-Marble
October 27, 2025

I don't think I just want solid parameters.  I am not a CAD person (software developer) so I am not sure.  I really want all of the parameters for a component.

18-Opal
October 27, 2025

🙂 

I see that you need to develop a piece of software without having a clue what the audience need, maybe I’m wrong 

 

An assembly is just a special folder,

If you assemble a component, this is a feature, but also a component feature, where the feature may have parameters. This is crucial if you assemble the same component more than once. A component parameter is a feature parameter, here a find number may relevant for example.

 

I would suggest to parse or visit each feature in the assembly and check if the feature is a component. If true, it is a component (part or assembly), visit the parameter of this model, and forget the xml output and do it by yourself. You can do that recursive, here keep an eye on the feature ID and Path. The model name is unique in a Creo session, and I would  ignore flexible component parameter at the beginning and bulk feature 😀

 

A model in session is unique, the parameters are the same regardless where the model is used. Just one unique link.

 

JC_IN_KC10-Marble作者
10-Marble
November 6, 2025

What it seems like is happening is that I'm getting the PART parameters, and not the COMPONENT parameters.  I'm using ProSolidFeatVisit to get the components of the assembly, and only filtering on PRO_FEAT_COMPONENT.  I am getting the assemblies in the drawing by using ProSessionMdlList.  From that list I get the root assembly which I use to call ProSolidFeatVisit.

18-Opal
November 7, 2025

Please review the reply from Oct 31, 2025 07:12 PM and write some test function to validate your assumptions. Just do it hardcoded for one test assembly. The modelitem is the important variable, this should be debugged and see the reply, they are different. You can even hardcode the modelitem, and debug the result for one test assembly.

 

Use:

 

ProDrawingSolidsVisit (
ProDrawing drawing,
ProSolidVisitAction visit_action,
ProSolidFilterAction filter_action,
ProAppData app_data);
/*
Purpose: Visits models in the specified drawing.

Input Arguments:
drawing - the drawing
visit_action - visit action
filter_action - filter action. If NULL, visits
all drawings using the action function.
app_data - data for this action

Output Arguments:
None

 

… to get the attached model files.

 

 

To get the relations line by line, which is a different topic, check the relset header files. 

 

 

JC_IN_KC10-Marble作者
10-Marble
November 11, 2025

Not all of the objects in the drawing are solids so I don't think the solid visit technique will work.