Assembly: Data Sharing Features
This section describes the Creo TOOLKIT functions access for Data Sharing Features (DSF). These types of features are used to transfer information (geometry, annotations, and other details) from one model to another. Data Sharing Features also help you to consolidate your design information in a central location, control change propagation which aid towards accomplishing top down design objectives. Data Sharing Features are of the following types:
•  Copy Geometry / Publish Geometry
•  Shrinkwrap
•  Merge / Cutout
•  Inheritance
It also explains how to access the properties of variant features and lists read and write functions supporting the Inheritance Features.
Copy Geometry, Publish Geometry, and Shrinkwrap Features
Copy Geometry Features are used to pass any type of geometric reference information, user-defined parameters to and from parts, skeleton models, and assemblies. Copy Geometry features can only copy reference geometry such as surface, datum features and not solid geometry. They are used in a top-down design to reduce the amount of data in session, thus avoiding the retrieval of entire reference source models.
A Publish Geometry feature contains independent, local geometry references. Only local geometry can be referenced in a Publish Geometry feature and external references are not allowed. A Publish Geometry feature has no geometry and does not create local copies of the references selected for its definition. It simply consolidates multiple local references in a model so that they can be copied to other models.
A Shrinkwrap feature is a collection of surfaces and datum features of a model that represents the exterior of the model. You can use a part, skeleton, or top-level assembly as the source model for a Shrinkwrap feature. A Shrinkwrap feature is associative and automatically updates to reflect changes in the parent copied surfaces.
Feature Element Tree for the Copy Geometry, Publish Geometry, and Shrinkwrap Features
The element tree for Copy Geometry, Publish Geometry, and Shrinkwrap features is documented in the header file ProDataShareFeat.h.
The following figure demonstrates the feature element tree structure:
Feature Element Tree for Copy Geometry, Publish Geometry, and Shrinkwrap Features
Image
PRO_E_CG_LOCATION
Image
PRO_E_DSF_PROPAGATE_ANNOTS
Image
PRO_E_DSF_DTM_FIT
Image
The following list details special information about some of the elements in this tree:
•  PRO_E_FEATURE_TYPE—Specifies the feature type and should be PRO_FEAT_GEOM_COPY, for Copy Geometry, Publish Geometry, and Shrinkwrap features.
•  PRO_E_CG_FEAT_SUB_TYPE—Specifies the sub feature type and is a mandatory element. It is visible for all copy geometry features. The valid sub types are as follows:
  PRO_CG_COPY_GEOM—Copy Geometry feature
  PRO_CG_SHRINKWRAP—Shrinkwrap feature
  PRO_CG_PUB_GEOM—Publish Geometry feature
  PRO_CG_CMPST_LAYUP—Composite Layup
•  PRO_E_CG_REFS_TYPE—Specifies the type of references used in a copy geometry feature (a published geometry feature, or an selected array of surfaces, edges, curves and datums). It is visible for Copy Geometry features.
•  PRO_E_CG_LOCATION—Specifies a compound element that indicates the method used for placement of the feature within the parent model. This is valid for Copy Geometry and Shrinkwrap features. See the section describing Element Details of the Subtree PRO_E_CG_LOCATION for more information.
•  PRO_E_CG_PG_OR_REFS—Specifies either a published geometry feature to copy or a collection of local geometry references to copy. It is visible for Copy Geometry features and has the following elements:
  PRO_E_CG_PUBD_GEOM—Specifies the selected publish geometry feature to be copied.
  PRO_E_CG_REFS_COLL—Specifies the collection of references. It is used for Copy Geometry and Publish Geometry features and has the following elements:
  PRO_E_STD_SURF_COLLECTION_APPL—Specifies a collection of selected surfaces to copy.
  PRO_E_STD_CURVE_COLLECTION_APPL—Specifies a collection of selected curves and / or edges to copy.
  PRO_E_CG_OBJS_COLL—Specifies a multivalued element containing miscellaneous references such as datums, quilts, points etc.
  PRO_E_CG_BODY_COLL—Specifies a multivalued element that contains body selections to copy.
Note
The reference collection elements PRO_E_STD_SURF_COLLECTION_APPL, PRO_E_STD_CURVE_COLLECTION_APPL, PRO_E_CG_OBJS_COLL may return the item of type PRO_QUERY. If PRO_QUERY is encountered, the Creo TOOLKIT application cannot access or modify the rules of the query. However, the application can redefine the other properties of the DSF without affecting or removing the query. For more information refer to the section Saved Queries for Copy Geometry and Publish Geometry Features.
•  PRO_E_SW_COLLECTION_TYPE—Specifies the collection mode used while creating a Shrinkwrap feature. The values for this element, specified by the enumerated type ProShrinkwrapCollectionType, are as follows:
  PRO_SW_OUTER_SHELL—Surfaces and datums that represent the exterior of the model are used. This is the default.
  PRO_SW_ALL_SOLID_SURFS—All solid surfaces in the model are automatically collected.
  PRO_SW_MANUAL—Surfaces, edges, curves, and datums that you select are used. You can copy geometry from more than one reference model.
•  PRO_E_SW_OPTIONS—Specifies Shrinkwrap feature options. This element is visible for Shrinkwrap features and has the following elements:
  PRO_E_SW_QUALITY—Specifies the shrinkwrap quality level used when identifying the contributing geometry to the Shrinkwrap feature. It can have valid values in the range of 1 to PRO_MAX_SHRINKWRAP_QUALITY_LVL.
  PRO_E_SW_FILL_HOLES—Specifies whether or not to use the option to auto fill holes.
  PRO_E_SW_COLLECT_QUILTS—Specifies whether or not to include external quilts in the Shrinkwrap feature.
  PRO_E_SW_SKIP_SURF_SIZE—Specifies the shrinkwrap skip surfaces size. Creo Parametric will not include surfaces smaller than the specified percentage of the model's size in the Shrinkwrap model. It can have a value ranging from 0(default) to 100%, to specify the relative size of the surface to ignore.
  PRO_E_SW_COLLECT_ORDER—Specifies how the system will handle the subcomponents in creating the feature. This value can be of the following types:
  PRO_SW_SHRINKWRAP_AND_SELECT—Specifies to first shrinkwrap and then select (selected by default). The system analyzes the entire assembly to identify the external surfaces to be included and only the appropriate surfaces that belong to the selected components are included in the resulting shrinkwrap feature.
  PRO_SW_SELECT_AND_SHRINKWRAP—Specifies select and shrinkwrap. The system builds a shrinkwrap based on selected components.
  PRO_E_SW_RES_GEOM_OPT—Specifies the options for the resultant Shrinkwrap geometry. This element is available only if the element PRO_E_SW_COLLECTION_TYPE is set to the value PRO_SW_ALL_SOLID_SURFS. The values for this element, specified by the enumerated type ProShrinkwrapResGeomOpt, are as follows:
  PRO_SW_RES_GEOM_QUILT—The resulting Shrinkwrap feature is a quilt.
  PRO_SW_RES_GEOM_SOLID—The resulting Shrinkwrap feature is a solid.
  PRO_SW_RES_GEOM_ASM_QUILT—The resulting Shrinkwrap feature is a quilt that contains a merged geometry of a referenced assembly.
  PRO_E_SW__FAILED_SLD_OPT—Specifies the options to address the failed solidification subfeatures (external reference copy geometry features) of a Shrinkwrap feature. This element is available only if the element PRO_E_SW_RES_GEOM_OPT is set to the value PRO_SW_RES_GEOM_SOLID. The values for this element, specified by the enumerated type ProShrinkwrapFailedSldOpt, are as follows:
  PRO_SW_FAILED_SLD_FAIL—Failed solidification subfeatures of the Shrinkwrap feature are not resolved. As a result, the Shrinkwrap feature also fails.
  PRO_SW_FAILED_SLD_TO_QUILT—Failed solidification subfeatures of the Shrinkwrap feature are restored as quilts. As a result, the Shrinkwrap feature does not fail.
  PRO_E_SW_FILL_CNTRS_ARR—Specifies the contours of open spaces that need to be filled. This element consists of an array of compound elements of the type PRO_E_SW_FILL_CNTRS which consists of the following elements:
  PRO_E_SW_FILL_CNTRS_SRF_SEL—Select the surface that defines the contour to be filled.
  PRO_E_SW_FILL_CNTRS_DISP_CRV—Displays a yellow curve instead of a filled contour.
•  PRO_E_SW_COMP_SUBSET—Specifies components of the assembly to be considered when creating the Shrinkwrap. This array element consists of an array of Shrinkwrap component subset elements (PRO_E_SW_COMPONENT). That element includes the following elements:
  PRO_E_SW_INCLUDE_COMP specifies whether or not to include the component in the shrinkwrap
  PRO_E_SW_SEL_COMPONENT specifies the selected component.
•  PRO_E_SW_REFS_COLL—Specifies the collection of surfaces and other references to be included or excluded from the Shrinkwrap feature. It has the following elements:
  PRO_E_STD_SURF_COLLECTION_APPL—Specifies the collection of individual surfaces that must always be included in the Shrinkwrap feature.
  PRO_E_SW_EXCLUDE_SURF_COLL_APPL—Specifies the collection of individual surfaces that must always be excluded from the Shrinkwrap feature.
  PRO_E_STD_CURVE_COLLECTION_APPL—Specifies a collection of chains constructed by selection of edges or curves.
  PRO_E_CG_OBJS_COLL—Specifies a multivalued element containing miscellaneous references such as datums, quilts, points etc.
•  PRO_E_DSF_PROPAGATE_ANNOTS—Specifies rules about how to propagate annotations. See the section Element Details of PRO_E_DSF_PROPAGATE_ANNOTS below for the structure and contents of this element.
•  PRO_E_CG_SRFS_COPY—Specifies a compound element that specifies copied surfaces. It is visible for Copy Geometry features and has the following elements:
  PRO_E_SRF_COPY_TYPE—Specifies the type of copied surface. It can have one of the following values:
  PRO_SRFCOPY_AS_IS
  PRO_SRFCOPY_EXCLD_FILL
  PRO_SRFCOPY_INSIDE_BNDRY
  PRO_SRFCOPY_UNTRIM_TO_ENVLP
  PRO_SRFCOPY_UNTRIM_TO_DOMAIN
  PRO_E_SRF_COPY_EXCL—Specifies excluded surfaces.
  PRO_E_SRF_COPY_FILL—Specifies loops to fill.
  PRO_E_STD_CURVE_COLLECTION_APPL—Specifies the boundary for the copied surfaces.
•  PRO_E_DSF_DTMS_FITS—Specifies a compound element that indicates the rules for fitting datums in the DSF feature. It is visible for all internal Copy Geometry features) and Shrinkwrap features. This compound element includes PRO_E_DTMPLN_FIT and PRO_E_DTMAXIS_FIT subtrees for any or all of the copied datums. Refer to the chapter Element Trees: Datum Features for details on the datum fit subtrees.
•  PRO_E_DSF_DEPENDENCY—Specifies the dependency type of the Copy Geometry Feature. The values for this element are specified by the enumerated type ProDSFDependency defined in the header file ProDataShareFeat.h. For more information on the values, refer to the section Feature Element Tree.
The valid values for the dependency status are as follows:
  PRO_DSF_UPDATE_AUTOMATICALLY—Specifies that the geometry can be updated when its parent changes.
  PRO_DSF_UPDATE_MANUALLY—Suspends the relationship between the current feature and the original geometry. If you change the original part, the current feature does not update automatically. It has to be updated manually.
  PRO_DSF_NO_DEPENDENCY—There is no dependency between DSF feature and referenced model.
Note
From Creo Parametric 3.0 onward, the enumerated type ProDsfDependency has been deprecated. Use the enumerated type ProDSFDependency instead.
•  PRO_E_DSF_NOTIFY_UPDATE—Specify the notification status for the specified feature using the enumerated value ProDsfNotifyUpdate. Use this element only if the element PRO_E_DSF_DEPENDENCY is set to the value PRO_DSF_UPDATE_MANUALLY. The valid values for this element are:
  PRO_DSF_NOTIFY_UPDATE_OFF—Switches off the notification update. This is the default value
  PRO_DSF_NOTIFY_UPDATE_ON—Switches on the notification update.
Use the functions ProFeatureDSFDependencyNotifySet() and ProFeatureDSFDependencyNotifyGet() to set and get the notification status of a DSF feature. For more information on these functions, refer to the section Feature and CopyGeom Feature Functions in the section Assembly: Top-down Design.
•  PRO_E_CMPST_DESIGN_SURF_DIR—Specify the stacking direction for a layup surface and the valid value is CMPST_LAYUP.
Element Details of the Subtree PRO_E_CG_LOCATION
The compound element PRO_E_CG_LOCATION has the following elements:
•  PRO_E_DSF_EXT_LOCAL_TYPE—Specifies the DSF location type:
  PRO_DSF_PLACE_LOCAL type is a local feature within the assembly. Therefore the references will be dependent upon the assembly structure and the feature does not need placement information.
  PRO_DSF_PLACE_EXTERNAL type is set to externalize a Data Sharing Feature. An external data-sharing feature must be placed in its target model explicitly.
Note
The purpose of External DSF's is to copy geometry from one model to another model without the need to copy the geometry in the context of the assembly. External DSF's reduce the dependency on the assembly and all models along the path between the two components. Once a feature has been made "External", it cannot be converted to become internal.
•  PRO_E_DSF_SEL_REF_MDL—Specifies the model to use for the external DSF.
•  PRO_E_CG_PLACEMENT—Specifies the placement of the external reference model in the target model. It has the following elements:
  PRO_E_CG_PLACE_TYPE—The external placement reference for the copied geometry can be of the following types:
  PRO_CG_PLC_DEFAULT—Locates the copied geometry in the current model using the default location.
  PRO_CG_PLC_CSYS_CSYS—Locates the copied geometry in the current model by aligning coordinate systems.
  PRO_CG_PLC_CURRENT—Locates the copied geometry in the current using the current placement (applicable only during a conversion of a local DSF to an external DSF).
  PRO_E_CG_CSYS_PLACE—The two reference elements below this element specifies Csys-Csys alignment.
•  PRO_E_CG_FOLLOW_SRF_OPT—Specifies the options for surface to be followed.
Element Details of PRO_E_DSF_PROPAGATE_ANNOTS
The compound element describes the options available to propagate annotations in DSF's. It has the following subelements:
•  PRO_E_DSF_ANNOT_CPY_ALL—Specifies a flag whether to copy all annotation elements.
•  PRO_E_DSF_ANNOT_DEPEND_ALL—Specifies a flag whether to make the copied annotation elements as dependent on their originals.
•  PRO_E_DSF_ANNOT_AUTO_CPY_DTM—Specifies a flag to propagate annotation planes and other datums referenced by annotation elements automatically. Annotation planes are propagated if the annotation reference comprising of the solid or surface geometry is copied.
•  PRO_E_DSF_ANNOT_SELECTIONS—Instead of using the automatic flags for propagation, the DSF feature can specify a list of annotations to propagate. Each subelement representing an annotation has the following sub-elements:
  PRO_E_DSF_ANNOT_SEL_ANNOTS specifies the manually selected annotation element
  PRO_E_DSF_ANNOT_CPY_STATUS specifies the copy status for this selected element.
  PRO_E_DSF_ANNOT_DEPENDENCY specifies whether to make the annotation dependant in the DSF. It can have one of the following values:
  PRO_DSF_DEPENDENT is set by default.
  PRO_DSF_INDEPENDENT makes the annotations independent of changes made to the parent annotation.
Shrinkwrap Features Created from Copy Geometry References
Functions Introduced:
The function ProFeatureIsShrinkwrapRefCopyGeom() checks whether the specified feature is a reference copy geometry feature, which is created by the shrinkwrap feature. The shrinkwrap reference copy geometry features reference models, which are collected by shrinkwrap according to the type of shrinkwrap, user-defined options, and user selections.
Use the function ProFeatureShrinkwrapGetRefCopyGeoms() to get an array of reference copy geometry features, which are created by the shrinkwrap feature.
The function ProFeatureIsShrinkwrap() checks whether the specified feature is a shrinkwrap feature.
Use the function ProFeatureRefCopyGeomShrinkwrapGet() to get the shrinkwrap feature for the specified reference copy geometry feature.
Saved Queries for Copy Geometry and Publish Geometry Features
Copy Geometry and Publish Geometry features have the ability to retain and reuse search tool queries defined from its collectors. The functions described in this section provide the ability to update these query-driven data sharing features using Creo TOOLKIT.
Functions Introduced:
The function ProDatasharingfeatureIsQuerydriven() returns true if the specified data sharing feature is query driven.
The function ProDatasharingfeatureQueryUpdate() updates the items collected by the query within the Copy Geometry or Publish Geometry feature. This will regenerate the feature and may cause geometry to be added or removed.
Retrieving a copy of the annotation item
Functions Introduced:
The function ProDatasharingfeatCopiedAnnotFind() retrieves the annotation item owned by the data sharing feature, which is a copy of specified annotation item. The function supports Inheritance, Merge, CopyGeom, ShrinkWrap, and Cutout features only. The input arguments are:
•  p_datasharing_feature—Specifies the data sharing feature.
•  p_orig_path—Specifies the component path from the top level assembly to the subcomponent that owns the annotation. Pass NULL if the annotation is owned by the top level model in the data sharing feature.
•  p_orig_item—Specifies the annotation item in the original model.
General Merge (Merge, Cutout and Inheritance Feature)
Feature Element Tree
The element tree for the general merge feature is documented in the header file ProDataShareFeat.h. The following figure demonstrates the feature element tree structure:
Feature Element tree for General Merge Feature
Image
PRO_E_DSF_PLACEMENT
Image
The following list details special information about some of the elements in this tree:
•  PRO_E_FEATURE_TYPE—Specifies the feature type and should be PRO_FEAT_GEN_MERGE.
•  PRO_E_GMRG_FEAT_TYPE—Specifies the type of General Merge Feature:
  PRO_GEN_MERGE_TYPE_MERGE (Merge or cutout feature)
  PRO_GEN_MERGE_TYPE_INHERITANCE (Inheritance feature)
  PRO_GEN_MERGE_TYPE_REF_LAMINATE (Laminate feature)
•  PRO_E_DSF_REF_MDL—Specifies the reference model. It has the following elements:
  PRO_E_DSF_EXT_LOCAL_TYPE—Specifies the DSF location type and is of the following type:
  PRO_DSF_PLACE_LOCAL type is a local reference to the reference model
  PRO_DSF_PLACE_EXTERNAL indicates an external merge, cutout, or inheritance feature.
  PRO_E_DSF_SEL_REF_MDL—Specifies a selected reference model.
  PRO_E_DSF_PLACEMENT—Specifies the placement of the Data Sharing feature. It contains the following elements:
?  PRO_E_COMPONENT_CONSTRAINTS
For more information on component constraint elements, refer to chapter Assembly: Assembling Components.
•  PRO_E_GMRG_MATERIAL_OPT—Specifies the general material options. These are listed as follows:
  PRO_GEN_MERGE_RMV_MATERIAL—It removes material from the modified (target) model . The material removed is equal to the modifying (source) model.
  PRO_GEN_MERGE_ADD_MATERIAL—It adds material to the modified model from the modifying model. The material added is equal to the modifying model.
  PRO_GEN_MERGE_INT_MATERIAL—It retains the intersecting material between the modified and modifying models.
Refer to Creo Parametric Assembly Help for more information.
•  PRO_E_GMRG_VARIED_ITEMS—Specifies a pointer element that defines the inheritance feature varied items and their values. This handle cannot be directly read or modified by Creo TOOLKIT. Instead, use the Visit functions available in ProVariantFeat.h to read varied items. To set varied items (after the feature has been created), use the appropriate modification function on an item whose owner is the variant feature model handle (ProVariantfeatMdlGet()). For more information, refer to the section Inheritance Feature and Flexible Component Variant Items.
•  PRO_E_GMRG_COPY_DATUMS—True to copy datums with this merge or inheritance feature, false to leave them uncopied.
•  PRO_E_DSF_PROPAGATE_ANNOTS—Specifies rules about how to propagate annotations. Refer to the section Feature Element Tree for the Copy Geometry, Publish Geometry, and Shrinkwrap Features for the details. A Shrinkwrap feature is a collection of surfaces and datum features of a model that represents the exterior of the model. You can use a part, skeleton, or top-level assembly as the source model for a Shrinkwrap feature. A Shrinkwrap feature is associative and automatically updates to reflect changes in the parent copied surfaces.
•  PRO_E_DSF_DTMS_FIT—Specifies a compound element that indicates the rules for fitting datums in the DSF feature. It is visible for all internal Copy Geometry features) and Shrinkwrap features. This compound element includes PRO_E_DTMPLN_FIT and PRO_E_DTMAXIS_FIT subtrees for any or all of the copied datums. Refer to the chapter Element Trees: Datum Features for details on the datum fit subtrees.
•  PRO_E_DSF_DEPENDENCY—Specifies the dependency type. The values for this element are specified by the enumerated type ProDsfDependency.
Note
From Creo Parametric 3.0 onward, the enumerated type ProDsfDependency has been deprecated. Use the enumerated type ProDSFDependency instead.
The types of dependencies are:
  PRO_DSF_UPDATE_AUTOMATICALLY—Specifies that the geometry of the DSF feature depends upon the geometry of the parent model used during feature creation. The DSF feature reflects all the changes made in the parent model.
Note
From Creo Parametric 3.0 onward, the value PRO_DSF_DEPENDENT has been deprecated. Use the enumerated value PRO_DSF_UPDATE_AUTOMATICALLY instead.
  PRO_DSF_UPDATE_MANUALLY —Specifies that the geometry of the DSF feature is independent of the geometry of the parent model used during feature creation. If you update the parent model, the DSF feature does not change.
Note
From Creo Parametric 3.0 onward, the value PRO_DSF_INDEPENDENT has been deprecated. Use the enumerated value PRO_DSF_UPDATE_MANUALLY instead.
  PRO_DSF_NO_DEPENDENCY—Specifies that there is no dependency between the geometry of the DSF feature and the geometry of the parent model used during feature creation.
PRO_E_DSF_NOTIFY_UPDATE—Specifies the notify status in the specified feature using the enumerated value ProDsfNotifyUpdate. For more information on this element, refer to the section Feature Element Tree for the Copy Geometry, Publish Geometry, and Shrinkwrap Features.
PRO_E_IS_SMT_CUT—Specifies whether the specified feature is a sheetmetal cut or a solid cut. If true this feature is a sheetmetal cut.
PRO_E_SMT_CUT_NORMAL_DIR—Specifies the surface to which the section projection will be normal.
Note
For more information, refer to the section Sheetmetal Cut Features in the section Production Applications: Sheetmetal.
Inheritance Feature and Flexible Component Variant Items
An Inheritance feature allows one-way associative propagation of geometry and feature data from a reference part to target part within an assembly. The reference part is the original part and the target part contains the inheritance features. Inheritance features are always created by referencing existing parts. An inheritance feature begins with all of its geometry and data identical to the reference part from which it is derived.
Users can vary the visibility and values of items in inheritance features. Creo TOOLKIT offers the ability to access these varied items and their properties using the regular Creo TOOLKIT function appropriate for the property. Creo TOOLKIT also provides the ability to locate and separate the varied properties from the non-varied ones.
A flexible component has similar capabilities for variance of dimensions and parameters of a model in the context of an assembly. Creo TOOLKIT supports access to the variant properties of flexible components through the regular Creo TOOLKIT functions as well.
This section refers collectively to inheritance features and flexible components as "variant features".
Variant Feature Model
Functions Introduced:
Use the function ProVariantfeatMdlGet() to obtain the special model pointer from a variant feature. A special ProMdl handle represents the "inherited" or "flexible" model handle in functions which access variant features. This handle is called the "Variant Feature Model". Only certain functions will support inputs including the Variant Feature Model handle.
The function ProMdlVariantfeatAsmcomppathGet() returns a special pointer ProAsmcomppath from a variant feature. ProAsmcomppath is the pointer to the component path from the model owner of the top level inheritance feature or the top flexible component to the specified variant feature model.
Both these pointers can be used for accessing properties that can be modified by the presence of an inheritance feature or flexible component. Other functions will return an error PRO_TK_INVALID_PTR if provided with this pointer.
Note
If you are using the variant feature model handle and you need to use an unsupported function on it, you can attempt to retrieve the actual model by extracting the model name and type from the model and using ProMdlnameRetrieve() to get the original model. This requires that the parent model be accessible in session. Remember that the parent model will not reflect variations applied by the variant feature.
Use the function ProMdlIsVariantfeatMdl() to identify if a model pointer is a variant feature model handle.
Accessing Properties of Variant Features
The following items are supported by functions that accept the variant feature model handle. Except where noted, both read and write access is supported
•  Dimensions
  Variant dimensions of the inheritance feature:
  Value
  Tolerance
  Dimension bound
  Nonvariant dimensions of the inheritance feature (Properties are read only)
•  Parameters
  Variant parameters of the inheritance feature:
  Value
  Nonvariant parameters of the inheritance feature (Properties are read only)
•  Feature (Inheritance feature only)
  Variant member features:
  Suppressed or resumed or erased status
  Nonvariant member features (Properties are read only)
  Replaced or alternate feature references
•  Annotation (Inheritance feature only)
  Variant geometric tolerances:
  Copy status
  Value
  Nonvariant geometric tolerances (Properties are read only)
  Variant notes
  Copy status
  Shown or hidden property
  Nonvariant notes (Properties are read only)
  Variant symbols
  Copy status
  Nonvariant symbols (Properties are read only)
  Variant surface finishes
  Copy status
  Value
  Nonvariant surface finishes (Properties are read only)
Read Functions Supporting Inheritance Features
Basic Model Properties
ProMdlMdlnameGet()
ProMdlTypeGet()
ProMdlSubtypeGet()
ProMdlPrincipalunitsystemGet()
ProUnitsystemUnitGet()
ProUnitsystemTypeGet()
ProUnitsystemIsStandard()
ProUnitIsStandard()
ProUnitTypeGet()
ProUnitConversionGet()
ProSolidAccuracyGet()
ProSolidOutlineGet()
ProSolidOutlineCompute()
Basic Model Items
ProModelitemNameGet()
ProModelitemDefaultnameGet()
ProSelectionModelitemGet()
Dimensions
ProSolidDimensionVisit()
ProFeatureDimensionVisit()
ProDimensionNomvalueGet()
ProDimensionBoundGet()
ProDimensionSymtextGet()
ProDimensionTollabelGet()
ProDimensionSymbolGet()
ProDimensionValueGet()
ProDimensionToltypeGet()
ProDimensionToleranceGet()
ProDimensionTolerancedecimalsGet()
ProDimensionTolerancedenominatorGet()
ProDimensionTypeGet()
ProDimensionIsFractional()
ProDimensionDecimalsGet()
ProDimensionDenominatorGet()
ProDimensionIsReldriven()
ProDimensionIsRegenednegative()
ProDimensionTextGet()
ProDimensionTextstyleGet()
ProDimensionIsToleranceDisplayed()
ProDimensionIsBasic()
ProDimensionIsInspection()
ProDimensionIsBaseline()
ProDimensionIsOrdinate()
ProDimensionOrdinatestandardGet()
ProDimensionLocationGet()
ProDimensionPlaneGet()
ProDimensionAttachmentsGet()
ProDimensionOverridevalueGet()
ProDimensionValuedisplayGet()
Parameters
ProParameterVisit()
ProParameterValueWithUnitsGet()
ProParameterUnitsGet()
ProParameterIsEnumerated()
ProParameterRangeGet()
ProParameterScaledvalueGet()
Features
ProSolidFeatVisit()
ProFeatureTypeGet()
ProFeatureTypenameGet()
ProFeatureSubtypeGet()
ProFeatureStatusGet()
ProSolidFeatstatusGet()
ProFeatureChildrenGet()
ProFeatureParentsGet()
ProFeatureCopyinfoGet()
ProFeatureGroupGet()
ProFeatureGroupStatusGet()
ProFeatureGrppatternStatusGet()
ProFeatureHasGeomchks()
ProFeatureIsIncomplete()
ProFeatureIsNcseq()
ProFeatureIsReadonly()
ProFeatureNumSectionsGet()
ProFeatureNumberGet()
ProFeaturePatternGet()
ProFeaturePatternStatusGet()
ProFeatureSectionCopy()
ProFeatureSolidGet()
ProFeatureVerstampGet()
ProFeatureVisibilityGet()
Annotations
ProMdlNoteVisit()
ProSolidDispoutlineGet()
ProNoteTextGet()
ProNotePlacementGet()
ProNoteURLGet()
ProNoteOwnerGet()
ProNoteTextstyleGet()
ProTextStyle*Get()
ProNoteDtlnoteGet()
Annotations
ProNoteLeaderstyleGet()
ProNoteElbowlengthGet()
ProMdlGtolVisit()
ProGtolTopModelGet()
ProGtolTypeGet()
ProGtol*Get()
ProGtolRightTextGet()
ProGtolTopTextGet()
ProGtolPrefixGet()
ProGtolSuffixGet()
ProAnnotationTextstyleGet()
ProGtoltextTextstyleGet()
ProSolidDtlsyminstVisit()
ProDtlsyminstDataGet()
ProSolidSurffinishVisit()
ProSurffinishValueGet()
ProSurffinishReferencesGet()
ProSurffinishDataGet()
ProAnnotationIsShown()
ProAnnotationIsInactive()
ProAnnotationElementGet()
ProAnnotationelemFeatureGet()
ProAnnotationplaneAngleGet()
ProAnnotationplaneFrozenGet()
ProAnnotationplanePlaneGet()
ProAnnotationplaneReferenceGet()
ProAnnotationplaneTypeGet()
ProAnnotationplaneVectorGet()
ProAnnotationplaneViewnameGet()
ProGtolDatumReferencesGet()
Write and Modification Functions Supporting Inheritance Features
Dimensions
ProDimensionValueSet()
ProDimensionToleranceSet()
ProDimensionBoundSet()
Parameters
ProParameterValueWithUnitsSet()
Features
ProFeatureSuppress()
ProFeatureResume()
ProFeatureDelete()
Annotations
ProNoteTextSet()
ProNoteURLSet()
ProNoteElbowlengthSet()
ProNoteTextstyleSet()
ProTextStyle*Set()
ProGtolValueStringSet()
ProGtolPrefixSet()
ProGtolSuffixSet()
ProGtolTopTextSet()
ProGtolRightTextSet()
ProAnnotationTextstyleSet()
ProGtoltextTextstyleSet()
ProAnnotationShow()
ProCombstateAnnotationErase()
ProSurffinishValueSet()
ProGtolDatumReferencesSet()
ProGtolDatumReferencesSet()
Variant Model Items
Function Introduced:
Use the function ProVariantfeatItemsVisit() to visit the variant items (dimensions, features, and annotations) owned by an inheritance feature or flexible component. The item handles will contain the variant feature model pointer.
Use the function ProVariantfeatItemStandardize() to remove a varied item from the inheritance feature or flexible component.
Use the function ProVariantfeatItemCopyGet() to obtain the copy flag for a given item in the inheritance feature or flexible component. The input arguments of this function are:
•  feature—Specifies the variant feature
•  item—Specifies the item.
The output arguments of this function are:
•  copy—Specifies whether or not to copy the item into the variant feature. If this argument returns true, the item is copied into the feature. If it is false, the item is not copied. This value overrides the value of the features copy all flag.
Use the function ProVariantfeatItemCopySet() to assign the copy flag for a given item in the inheritance feature or flexible component.
Use the function ProVariantfeatItemCopyUnset() to remove the copy flag for a given item in the inheritance feature or flexible component.
Variant Parameters
Function Introduced:
Use the function ProVariantfeatParamsVisit()to visit only the variant parameters owned by an inheritance feature or flexible component. The parameter handles contain the variant feature model pointer.
Use the function ProVariantfeatParamStandardize() to remove a varied parameter from the inheritance feature or flexible component.
Variant References
By using variant references, you can reroute or replace the references for features in the inheritance feature with new references located inside or outside the inheritance feature. In assemblies, references can be to models other than the target model, as long as the model is within the assembly.
In Creo TOOLKIT, a variant reference is represented by a ProVariantRef handle.
Function Introduced:
Use the function ProVariantrefAlloc() to allocate a handle used to describe a variant reference assigned to a variant feature (like inheritance features). The input arguments of this function are:
•  original_ref—Specifies the initial reference handle.
•  replacement_ref—Specifies the replacement reference handle.
•  feat_ids—Specifies a ProArray of feature ids (from the base model) which will be assigned to the reference replacement action.
Use the function ProVariantrefOriginalrefGet() to obtain the original reference that is replaced.
Use the function ProVariantrefOriginalrefSet() to assign the original reference that is to be replaced.
Use the function ProVariantrefReplacementrefGet() to obtain the replacement reference for replacing the original reference in this variant feature.
Use the function ProVariantrefReplacementrefSet() to assign the replacement reference for replacing the original reference in this variant feature.
Use the function ProVariantrefFeatidsGet() to obtain an array of the feature ids taken from the base model which are assigned the replacement reference.
Use the function ProVariantrefFeatidsSet() to assign an array of the feature ids taken from the base model which are assigned the reference replacement.
Note
An assignment of a replacement reference to a feature applies only if the features actually use the replacement reference.
Use the function ProVariantfeatVariantrefsGet() to obtain the variant reference assignments (a ProArray of the variant reference) stored by this variant feature.
Use the function ProVariantfeatVariantrefsSet() to assign the variant reference assignments stored by this variant feature.
Use the function ProVariantrefFree() to free a handle used to describe a variant reference assigned to a variant feature and the function ProVariantrefProarrayFree() to free an array of handles used to describe a variant reference assigned to a variant feature.