|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
• | PRO_FEAT_FIRST_FEAT |
• | PRO_FEAT_HOLE |
• | PRO_FEAT_SHAFT |
• | PRO_FEAT_ROUND |
• | PRO_FEAT_ACTIVE—An ordinary feature. |
• | PRO_FEAT_SUPPRESSED—A suppressed feature. |
• | PRO_FEAT_FAMTAB_SUPPRESSED—A feature suppressed due to the family table settings. |
• | PRO_FEAT_SIMP_REP_SUPPRESSED—A feature suppressed due to the simplified representation. |
• | PRO_FEAT_PROG_SUPPRESSED—A feature suppressed due to Pro/PROGRAM. |
• | PRO_FEAT_INACTIVE—A feature that is not suppressed, but is not currently in use for reasons other than the ones identified above. |
• | PRO_FEAT_UNREGENERATED—A feature that has not yet been regenerated. This is due to a regeneration failure or if the status is obtained during the regeneration process. |
• | PRO_FEAT_INVALID—The feature status could not be retrieved. |
• | PRO_FEAT_STAT_INVALID—Specifies an invalid feature. |
• | PRO_FEAT_STAT_INACTIVE—Specifies an inactive feature. If the bit flag is set to 0, then it means an active feature. |
• | PRO_FEAT_STAT_ACTIVE—Specifies an active feature. |
• | PRO_FEAT_STAT_FAMTAB_SUPPRESSED—Specifies a feature suppressed due to the family table settings. |
• | PRO_FEAT_STAT_SIMP_REP_SUPPRESSED—Specifies a feature suppressed due to the simplified representation. |
• | PRO_FEAT_STAT_PROG_SUPPRESSED—Specifies a feature suppressed due to Pro/PROGRAM. |
• | PRO_FEAT_STAT_SUPPRESSED—Specifies a suppressed feature. |
• | PRO_FEAT_STAT_UNREGENERATED—Specifies an active feature that has not yet been regenerated. This is due to a regeneration failure or if the status is obtained during the regeneration process. |
• | PRO_FEAT_STAT_FAILED—Specifies a failed feature. |
• | PRO_FEAT_STAT_CHILD_OF_FAILED—Specifies a child of a failed feature. |
• | PRO_FEAT_STAT_CHILD_OF_EXT_FAILED—Specifies a child of an external failed feature. |
• | p_planes—ProArray of planes. |
• | p_oper_arr—ProArray of operations; where 0 specifies intersection of half spaces and 1 specifies union of half spaces. Creo Parametric retains the material that belongs to the intersection or union of the half spaces of the planes. |
• | p_solid—A handle to the model. |
• | zone_refs—An array of zone reference planes of type ProZoneReference. The structure ProZoneReference contains the geometric ID of the reference zone plane, the value for the operation, that is, 0 or 1 and the member ID of the part to which the reference plane belongs to. Pass NULL to memb_id_tab if the feature is owned by the part on which the zone is being created.
Creo Parametric retains the material that belongs to the intersection or union of the half spaces of the reference planes.
|
• | zone_name—The name of the zone feature handle. If a zone with the specified name exists, then the function returns the error PRO_TK_E_FOUND and the zone is not created. |
• | The geometric ID of the reference zone plane. |
• | The value for the operation, where 0 specifies intersection of half spaces that is, the AND operator and 1 specifies union of half spaces that is, the OR operator. |
• | The member ID of the part to which the reference plane belongs. |
• | The side of the plane where the model is kept. 1 indicates positive normal of the plane and –1 indicates the opposite side. |
|
|
|
|
|
|
|
|
|
|
• | PRO_FEAT_DELETE_NO_OPTS—Delete or suppress the features without deleting or suppressing their dependent children features. This may result in regeneration failures. Use the option PRO_FEAT_DELETE_FIX, or one of the CLIP options to fix these failures. |
• | PRO_FEAT_DELETE_CLIP—Delete or suppress the features along with their dependent children features. |
• | PRO_FEAT_DELETE_FIX—Delete or suppress the features without deleting or suppressing their dependent children features. The fix model user interface will be prompted in case of a regeneration failure. This option must be used only in the Resolve mode. Otherwise, the function returns PRO_TK_BAD_CONTEXT. |
• | PRO_FEAT_DELETE_RELATION_DELETE—Delete relations with obsolete dimensions. |
• | PRO_FEAT_DELETE_RELATION_COMMENT—Change relations with obsolete dimensions into comments. |
• | PRO_FEAT_DELETE_CLIP_ALL—Delete or suppress the features along with all the following features. |
• | PRO_FEAT_DELETE_INDIV_GP_MEMBERS—Individually delete or suppress the features out of the groups to which they belong. If this option is not included, the entire group of features is deleted or suppressed. For this option to work, the option PRO_FEAT_DELETE_CLIP also has to be supplied. |
• | PRO_FEAT_DELETE_CLIP_INDIV_GP_MEMBERS—Individually delete or suppress the children of features out of the group to which they belong. If this option is not included, the entire group containing the features and their children is deleted or suppressed. For this option to work, the options PRO_FEAT_DELETE_CLIP and PRO_FEAT_DELETE_INDIV_GP_MEMBERS also have to have supplied. |
• | PRO_FEAT_DELETE_KEEP_EMBED_DATUMS—Retain the embedded datums stored in a feature while deleting the feature using ProFeatureDelete(). If this option is not included, the embedded datums will be deleted along with the parent feature. |
• | ProSolid solid—The handle to the solid owner of the features. |
• | int *feat_ids—An array of feature identifiers that specifies the features to be reordered. The array should contain features that formed a contiguous sublist within the original feature regeneration list. If reordering a group, all the features in the group including the Group Header feature must be included in this array. |
• | intn_feats—The number of features to reorder. |
• | intnew_feat_num—An integer that indicates the intended location of the first feature in the specified set after reorder. This integer is not the feature identifier, but rather the regeneration sequence number of the feature. You obtain this number by calling the function ProFeatureNumberGet(). |
|
|
|
|
|
|
|
|
|
• | ProFeatureCreate() |
• | ProFeatureDelete() |
• | ProFeatureSuppress() |
• | ProFeatureResume() |
• | ProFeatureRedefine() |
• | ProFeatureReorder() |
• | ProFeatureInsertModeActivate() |
• | ProInsertModeCancel() |
• | p_last_feat—the last feature. All the features after this feature are detached. Feature creation will resume after the update of the insert mode and are created after this specified last feature. If you cancel the insert mode, the detached features are added at the end. |
• | flags—the regeneration control flags. Pass as bitmask containing one or more of the bit flags PRO_REGEN* defined in ProSolid.h. |
|
|
|
|
|
• | model—Specifies the model, which contains the specified feature. |
• | feature—Specifies a feature whose references are to be retrieved. |
• | model—Specifies the model, which contains the specified feature. |
• | feature—Specifies a feature whose references are to be retrieved. |
• | path—Specifies the path as a ProArray of IDs of a subassembly or component from the top model to the reference model. Specify NULL for local reference. To give an example on how to specify the path, consider an assembly A, which has a component C1 with ID 9 and a subassembly
S with ID 7. The subassembly S has a component C2 with ID 11. If a feature under C1 references an object in the model of C2,
the reference ID path must contain two IDs 7 and 11.
|
• | ref_id—Specifies the ID of the external reference, which is referenced in the specified feature. |
• | solid—The part or assembly to which the features belong. |
• | p_feat_handle—The feature handle. |
• | flags—Indicates the type of references to collect. To collect all types of references, set the value to PRO_EDITREF_REF_TYPE_ALL. |
• | Models containing patterns automatically get one extra feature of type PRO_FEAT_PATTERN_HEAD in the regeneration list. This changes the feature numbers of all the subsequent features, including those in the pattern. |
• | The pattern access functions such as ProFeaturePatternGet(), ProPatternMembersGet() and ProPatternLeaderGet are unaffected by the addition of the pattern header feature. The pattern leader is still the first geometric feature contained in the pattern. |
|
|
|
|
|
|
|
• | PRO_PATTERN_NONE—The feature is not in a pattern. |
• | PRO_PATTERN_LEADER—The feature is the leader of a pattern. |
• | PRO_PATTERN_MEMBER—The feature is a member of a pattern. |
• | PRO_PATTERN_HEADER—The feature is the header of a pattern. |
• | PRO_GRP_PATTERN_NONE—The feature is not in a group pattern. |
• | PRO_GRP_PATTERN_LEADER—The feature is the leader of a group pattern. |
• | PRO_GRP_PATTERN_MEMBER—The feature is a member of a group pattern. |
• | PRO_GRP_PATTERN_HEADER—The feature is the header of a group pattern. |
• | Suppress |
• | Delete |
• | Layer operations |
• | Patterning operations |
typedef struct pro_model_item {
ProMdl owner;
int id;
ProType type;
} ProGroup;
• | Models that contain groups automatically get one extra feature in the regeneration list, of type PRO_FEAT_GROUP_HEAD. This changes the feature numbers of all subsequent features, including those in the group. |
• | Each group automatically contains one new feature in the arrays returned by Pro/TOOLKIT. |
• | Each group automatically gets a different leader feature (the group head feature is the leader). The leader is the first feature in the arrays returned by Pro/TOOLKIT. |
• | Each group pattern contains, of course, a series of groups, and each group in the pattern is similarly altered. |
|
|
|
|
|
|
|
• | solid—The solid model that owns the group. |
• | group_id—The former group feature id. |
• | udf_name—The name of the UDF the group was created from. |
• | feature_list—The feature ids that were members of the group. |
• | Any information the UDF needs that you did not provide in the input data structure |
• | Correct information to replace erroneous information |
• | Name—The name of the UDF library to create, and the instance name, if applicable. |
• | Name or path—the name (or full path) of the UDF to create, and the instance name, if applicable. |
• | Dependency—Whether the UDF is independent of the UDF definition, or is modified by changes made to it. |
• | Scale—How to scale the UDF relative to the placement model. |
• | Variable parameters—The new values of the variable parameters allowed to be changed during UDF placement. |
• | Variable annotations—The new values of the variable gtol values, surface finish values and dimension tolerances allowed to be changed during UDF placement. |
• | Variable dimensions—The new values of the variable dimensions and pattern parameters; those whose values can be modified each time the UDF is created. |
• | Dimension display—Whether to show or blank non-variable dimensions created within the UDF group. |
• | References—The geometrical elements (surfaces, edges, datum planes, and so on) that the UDF needs to relate the features it contains to the existing model features. The elements correspond to the picks that Creo Parametric prompts you for when you create the UDF interactively (using the prompts defined when the UDF was set up). You cannot select an embedded datum as the UDF reference. |
• | Part intersections—If the UDF is being created in an assembly and contains features that modify existing solid geometry, you need to define which parts in the assembly are to be affected (or "intersected"), and at which level in the assembly each such intersection is to be visible. |
• | Orientations—If a UDF contains a feature whose direction is defined with respect to a datum plane (for example, a hole feature that uses a datum plane at its placement plane), Creo Parametric needs to know in which direction the new feature is to point (that is, on which side of the datum plane it should lie). When you create such a UDF interactively, Creo Parametric prompts you for this orientation with a flip arrow. |
• | Quadrants—If a UDF contains a linearly placed feature that references two datum planes to define its location (in the new model), Creo Parametric prompts you to pick the location of the new feature. This decides on which side of each datum plane the feature must lie. This choice is referred to as the "quadrant," because there are four combinations of possibilities for each linearly placed feature. |
• | External symbols—The parameter or dimension to use in place of a missing external symbol from a note callout or relation. |
• | Copied model names—If a UDF creates components in an assembly, this argument specifies the names of the new copied components that the placement creates. |
• | solid—The solid model (part or assembly) on which to place the UDF. |
• | data—The UDF creation data, described below. |
• | asm_reference—An external reference assembly for calculating intersections and external references. |
• | options—An array of option flags. |
• | n_options—The size of the options array. |
|
|
|
|
|
|
|
|
|
|
• | name—Specifies the parameter name. If it represents a variable annotation, then this must be one of the standard annotation parameter
names:
|
• | item—Specifies the owner item. This item must have type and id filled out. (The owner field is ignored by Creo Parametric). The following types are allowed here:
|
• | dim_name—The symbol that the dimension or pattern parameter had when the UDF was originally defined; not the prompt that the UDF uses
when interactively created. To make the name easy to remember, modify the symbols of all the dimensions that you want to select
to be variable before you define the UDF that you plan to create with Creo TOOLKIT. If you do not remember the name, find it by creating the UDF interactively in a test model and then using the Creo TOOLKIT functions ProUdfDimensionVisit() and ProUdfDimensionNameGet() on the resulting UDF.
If you get the name wrong, ProUdfCreate() does not recognize the dimension and prompts the user for the value.
|
• | value—The new value of the dimension or pattern parameter. |
• | type—This enumerated type takes one of the following values:
|
• | prompt—The prompt defined for this reference when the UDF was originally set up. It indicates which reference this structure is providing. |
• | ref_item—A ProSelection object representing the geometry to use as the reference. You can allocate an embedded datum as the UDF reference. If the reference is external, the selection component path should represent the path to the owning model relative to the external reference assembly specified in the call to ProUdfCreate(). If this reference item refers to an annotation reference, you can pass NULL to make the placed annotation incomplete. |
• | external—PRO_B_TRUE if the reference is external, and PRO_B_FALSE if it is internal.
|
• | intersect_part—The component path from either the placement assembly or the external reference assembly down to the intersected component. The external reference assembly is provided by the asm_reference argument to ProUdfCreate(). |
• | visibility—The depth of the component path into the assembly where the intersected UDF is visible. If visibility is equal to the length of the component path, the feature is visible in the part that it intersects and all assemblies and subassemblies. If visibility is 0, the feature is only visible in the top-level assembly. |
• | instance_names—An array of names for the new instances of parts created to represent the intersection geometry. |
• | prompt—The prompt for the external parameter symbol. |
• | parameter—The parameter which is used to resolve this external symbol in the placement model. |
• | prompt—Specifies the prompt used for this external symbol. |
• | dimension—Specifies the dimension handle to be used to resolve the external symbol in the placement model. |
• | old_name—The old name of the component. |
• | new_name—The new name of the component to be created. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
• | When placing a UDF created in an earlier release, in a single body target model. |
• | When placing a UDF created in an earlier release, in a multibody target model, and when the configuration option tk_pre_creo7_udf_body_autofill is set to yes. Use this configuration option to automatically fill the default body during UDF placement in Creo TOOLKIT. |
• | In UDFs created in Creo Parametric 7.0.0.0, the body references are not automatically filled. |
Version of gph file
|
Bodies in target model
|
Value of the configuration option tk_pre_creo7_udf_body_autofill
|
ProUdfCreate()
|
ProUdfdataRequiredreferencesGet()
|
|||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Release earlier than Creo Parametric 7.0.0.0
|
Single Body
|
No
|
Returns PRO_TK_NO_ERRORand automatically fills the UDF with the only available body
|
Returns PRO_TK_NO_ERROR and also the body ref/prompt
|
|||||||||
Release earlier than Creo Parametric 7.0.0.0
|
Single Body
|
Yes
|
Returns PRO_TK_NO_ERROR but does not return the body ref/prompt
|
||||||||||
Release earlier than Creo Parametric 7.0.0.0
|
Multibody
|
No
|
|
Returns PRO_TK_NO_ERROR and also the body ref/prompt
|
|||||||||
Release earlier than Creo Parametric 7.0.0.0
|
Multibody
|
Yes
|
Returns PRO_TK_NO_ERROR and automatically fills the UDF with the default body
|
Returns PRO_TK_NO_ERROR but does not return the body ref/prompt
|
|||||||||
New
|
Single Body
|
No
|
Does not automatically fill the UDF.
|
Returns PRO_TK_NO_ERROR and also all the body ref/prompt
|
|||||||||
New
|
Single Body
|
Yes
|
|||||||||||
New
|
Multibody
|
No
|
|||||||||||
New
|
Multibody
|
Yes
|
Created in a Part or Assembly
|
UDFs that are Retrieved and Placed
|
|
---|---|---|
Assembly
|
Part
|
|
Assembly
|
Irrespective of the value of the configuration option tk_pre_creo7_udf_body_autofill
ProUdfdataRequiredreferencesGet()—3
ProUdfCreate()—Success and returns PRO_TK_NO_ERROR
|
Irrespective of the value of the configuration option tk_pre_creo7_udf_body_autofill
ProUdfdataRequiredreferencesGet()—3
ProUdfCreate()—Success and returns PRO_TK_NO_ERROR. Default body is used implicitly
|
Part
|
Value of the configuration option tk_pre_creo7_udf_body_autofill is YES
ProUdfdataRequiredreferencesGet()—3
ProUdfCreate()— returns PRO_TK_NO_ERROR
|
Value of the configuration option tk_pre_creo7_udf_body_autofill is YES
ProUdfdataRequiredreferencesGet()—3
ProUdfCreate()—automatically fills the reference with the default body and returns PRO_TK_NO_ERROR.
|
Value of the configuration option tk_pre_creo7_udf_body_autofill is NO
ProUdfdataRequiredreferencesGet()—4
ProUdfCreate()— returns PRO_TK_NO_ERROR
Note
You need not fill the body reference.
ProUdfdataRequiredreferencesGet() is for query purpose only.
|
Value of the configuration option tk_pre_creo7_udf_body_autofill is NO
ProUdfdataRequiredreferencesGet()—4
Single body ProUdfCreate()—automatically fills the reference with the default body and returns PRO_TK_NO_ERROR.
Multibody
ProUdfCreate()— returns PRO_TK_MULTIBODY_UNSUPPORTED, if you do not specify the body reference and the UDF creation fails.
ReturnsPRO_TK_NO_ERROR, if you do not specify the body reference correctly.
|
Created in a Part or Assembly
|
UDFs that are Retrieved and Placed
|
|
---|---|---|
Assembly
|
Part
|
|
Assembly
|
NIL
|
NIL
|
Part
|
Value of the configuration option tk_pre_creo7_udf_body_autofill is YES
ProUdfdataRequiredreferencesGet()—3
ProUdfCreate()— returns PRO_TK_NO_ERROR
|
Value of the configuration option tk_pre_creo7_udf_body_autofill is YES
ProUdfdataRequiredreferencesGet()—3
ProUdfCreate()—automatically fill the reference with the default body and returns PRO_TK_NO_ERROR.
|
Value of the configuration option tk_pre_creo7_udf_body_autofill is NO
ProUdfdataRequiredreferencesGet()—4
ProUdfCreate()— returns PRO_TK_NO_ERROR
Note
You need not fill the body reference.
ProUdfdataRequiredreferencesGet() is for query purpose only.
|
Value of the configuration option tk_pre_creo7_udf_body_autofill is NO
ProUdfdataRequiredreferencesGet()—4
Single body ProUdfCreate()—automatically fill the reference with the default body and returns PRO_TK_NO_ERROR.
Multibody
ProUdfCreate()— returns PRO_TK_MULTIBODY_UNSUPPORTED, if you do not specify the body reference and the UDF creation fails.
ReturnsPRO_TK_NO_ERROR, if you do not specify the body reference correctly.
|
Created in a Part or Assembly
|
UDFs that are Retrieved and Placed
|
|
---|---|---|
Assembly
|
Part
|
|
Assembly or part. There is no information in the .gph file and as a result no difference from earlier releases
|
Irrespective of the value of the configuration option tk_pre_creo7_udf_body_autofill
ProUdfdataRequiredreferencesGet()—3
ProUdfCreate()—Success and returns PRO_TK_NO_ERROR
|
Irrespective of the value of the configuration option tk_pre_creo7_udf_body_autofill
ProUdfdataRequiredreferencesGet()—3
ProUdfCreate()—Success and returns PRO_TK_NO_ERROR
Default body is used implicitly
|
Created in a Part or Assembly
|
UDFs that are Retrieved and Placed
|
|
---|---|---|
Assembly
|
Part
|
|
Assembly
|
Irrespective of the value of the configuration option tk_pre_creo7_udf_body_autofill
ProUdfdataRequiredreferencesGet()—3
ProUdfCreate()— Success and returns PRO_TK_NO_ERROR.
|
Irrespective of the value of the configuration option tk_pre_creo7_udf_body_autofill
ProUdfdataRequiredreferencesGet()—3
ProUdfCreate()— Success and returns PRO_TK_NO_ERROR.
Default body is used implicitly.
|
Part
|
Irrespective of the value of the configuration option tk_pre_creo7_udf_body_autofill
ProUdfdataRequiredreferencesGet()—4 or more
1 or more body references.
ProUdfCreate()— returns PRO_TK_NO_ERROR
Note
You do not need to fill the body reference.
ProUdfdataRequiredreferencesGet() is for query purpose only.
|
Irrespective of the value of the configuration option tk_pre_creo7_udf_body_autofill
ProUdfdataRequiredreferencesGet()—4 or more
1 or more body references.
ProUdfCreate()—Single or Mutlibody — Do not fill the body reference.
|