Reading References
Functions Introduced:
The function
ProReferenceStatusGet() identifies the status of the reference. Typically references are of status
PRO_REF_ACTIVE, indicating that the reference is available and its geometry is usable for construction of features. Other reference statuses include:
• PRO_REF_MISSING – The reference is to geometry that is inactive in the model. When reading the element tree of a feature that modifies the geometry it references (for example, a round of edge removes the edge) the references will have this status.
• PRO_REF_NOT_FOUND – Similar to PRO_REF_MISSING. The function indicates a reference that is critical to the feature that uses the function.
• PRO_REF_FROZEN – The reference is to geometry in a component frozen due to other missing references.
• PRO_REF_INVALID – The reference is invalid in the context of the feature and the element in which it is used (for example, a non-linear edge used as direction reference for drafts or translations.)
• PRO_REF_ALTERNATE – The reference is using an alternate reference. The original reference information is available.
|
Note:
|
Reference status is highly dependent on the model state at the time the reference was obtained. References obtained from a feature via ProFeatureElemtreeExtract() may become “Missing” or “Not found” due to changes in the geometry applied later in the feature list. To obtain the reference status for a given reference as it is seen by a feature, use ProInsertModeActivate() to revert the model to the state just after that feature is created.
|
• PRO_REF_WARNING—The referenced entity has a warning.
|
Note:
|
References obtained from a feature that removes a geometric empty body can have a “Warning” or “Invalid” state. The statuses of the references are not stored in the models and are thrown at run time during feature creation, redefinition, or regeneration.
|
• PRO_REF_NOT_IN_GEOM—The reference is not within the geometry but is still being utilized.
• PRO_REF_ALTERNATE2—The alternate reference is adjusted to accommodate flex movement.
The function
ProReferenceIsLocalcopy() identifies if the reference is a local copy of the external reference. If the reference is a local copy, the original reference information is available as well.
The function
ProReferenceTypeGet() gets the type of handle that is referenced.
The function
ProReferenceIdGet() gets the item identity of the reference handle.
The function
ProReferenceOwnerGet() gets the
ProMdl handle of the owner model for the reference. The output of these three functions provides access to the basic
ProModelitem referenced by the
ProReference handle. If the reference status is not
PRO_REF_ACTIVE, some or all of this information may not be accessible (for example, the reference owner model is not accessible if the reference is to a geometry item in an unretrieved component). The function
ProReferenceOwnerMdlnameGet() gets the reference owner name of the referenced geometry item, which may be available even if the model itself has not been retrieved.
The functions
ProReferenceOriginaltypeGet(),
ProReferenceOriginalidGet(),
ProReferenceOriginalownerGet(),
ProReferenceOriginalownerMdlnameGet() get the original properties of a geometric reference handle. These could be different from the actively used type if the reference has been backed up, copied locally, or replaced with an alternate.
The function
ProReferenceAsmcomppathGet() gets the component path of a reference handle.
The function
ProReferenceParamsGet() gets the u-v parameters of a reference handle.
The function
ProReferencePointGet() gets the selected point of a reference handle.
The function
ProReferenceToSelection() gets and allocates a
ProSelection containing a representation for this reference. The output of this function is the resulting
ProSelection handle. This selection is independently allocated and should be freed using
ProSelectionFree().
The function
ProSelectionToReference() gets and allocates a
ProReference containing a representation for this selection. The output of this function is the resulting
ProReference handle. This reference is independently allocated and should be freed using
ProReferenceFree().
The function
ProReferencearrayToSelections() converts a reference
ProArray to a selection
ProArray. The input arguments for this function are
• references – The ProArray of reference handles.
• skip_unusable – PRO_B_TRUE to skip the processing of missing references that cannot be valid selections. PRO_B_FALSE to process all references.
The output for this function is a selection that is a
ProArray of selection handles. You can free this array using the function
ProSelectionarrayFree().
The function
ProSelectionarrayToReferences() converts a selection
ProArray to a reference
ProArray.
ProArray of selection handles is given as the input and the
ProArray of reference handles is the output. Free this array using
ProReferencearrayFree().
The function
ProReferenceFree() frees a reference handle.
The function
ProReferencearrayFree() frees a reference
ProArray. This function also free each
ProReference handle using
ProReferenceFree().