Symbol Instance Data
Functions Introduced:
ProDtlsyminstdataAlloc() and
ProDtlsyminstdataFree() allocate and free a
ProDtlsyminstdata description.
ProDtlsyminstdataDefSet() and
ProDtlsyminstdataDefGet() set and get the reference to the symbol definition that this instance instantiates.
ProDtlsyminstdataAttachtypeSet() and
ProDtlsyminstdataAttachtypeGet() set and get the type of attachment being chosen for the symbol instance. The corresponding attachment types much exist in the symbol definition.
If you want to make an attachment to a symbol instance of a type that was not specified in the symbol definition, you can add you own symbol definition attachment to the symbol instances.
ProDtlsyminstdataDefattachSet() and
ProDtlsyminstdataDefattachGet() set and get a
ProDtlsymdefattach object on a symbol instance with this purpose.
ProDtlsyminstdataAttachmentGet() and
ProDtlsyminstdataAttachmentSet() get and set the actual attachment for the symbol instance, that is, where it is positioned on the drawing, in the form of a
ProDtlattach object. Refer to the section on
Detail Attachments and Leaders for more information about this object. In 10.0.0.0 and later, you can use the functions
ProDtlsyminstdataAttachmentGet() and
ProDtlsyminstdataAttachmentSet() to place 3D symbols as offset to other symbol, dimension, note or a datum target.
The function
ProDtlsyminstDimattachGet() returns the dimension to which the specified symbol instance is attached. The function returns the error of type
PRO_TK_BAD_CONTEXT when the dimension to which the specified symbol instance is attached is not available. In this case, the model containing the dimension was either deleted or suppressed in the assembly.
ProDtlSyminstElbowlengthGet() gets the elbow properties of the symbol in 3D. The input argument
p_sym_inst is the symbol instance that is defined by
ProDtlsyminst. The output arguments are:
• op_elbow_length—Specifies the elbow length in model units for annotation plane symbols.
• elbow_direction—Specifies the elbow direction in the model's coordinate system. This is the direction from the symbol text to the symbol leaders that is defined by ProVector.
ProDtlsyminstdataLeaderAdd() adds a leader to a symbol instance description.
ProDtlsyminstdataLeadersSet() sets an array of leaders in a symbol instance, replacing any existing leaders.
|
Note:
|
To remove all the leaders from the symbol instance data, pass NULL as the value for the input argument leaders and set the attachment type to PROSYMDEFATTACHTYPE_FREE.
|
ProDtlsyminstdataLeadersCollect() outputs an array of the leaders on a
ProDtlsyminstdata description.
ProDtlsyminstdataElbowlengthGet() and
ProDtlsyminstdataElbowlengthSet() get and set the length of the elbow that connects each leader to the symbol instance. If you do not call
ProDtlnotedataElbowlengthSet() when creating a symbol instance, there will be no elbow.
ProDtlsyminstdataAngleSet() and
ProDtlsyminstdataAngleGet() get and set the rotation angle of the symbol, if the symbol definition allows rotation. (See also the function
ProDtlsymdefdataTextangfixedSet() in the section on
Symbol Definition Data.)
ProDtlsyminstdataScaledheightSet() and
ProDtlsyminstdataScaledheightGet() assign and return the height of a symbol instance in the units of the owner drawing or model, respectively. This value is consistent with the height value shown for a symbol instance in the
Properties dialog box in the user interface.
|
Note:
|
The scaled height obtained using the above functions is partially based on the properties of the symbol definition assigned using the function ProDtlsyminstdataDefSet(). Changing the symbol definition may change the calculated value for the scaled height.
|
ProDtlsymInstnoteDataGet() and
ProDtlsymInstentityDataGet() retrieve the data of a note and an entity, respectively, in the symbol instance.
The function
ProDtlsyminstdataIsDisplayed() checks if the specified instance is not marked as erased. The function
ProDtlsyminstdataDisplayedSet() sets the flag which controls whether or not the instance is marked as displayed.
The function
ProDtlsyminstdataIsInvisible() checks if the specified instance is invisible. An invisible symbol instance will not appear in the drawing even if it marked as displayed. For example:
• if the symbol is in a draft group, which is marked as suppressed
• if the symbol is a BOM balloon, and the repeat region cannot find an appropriate model
• if the symbol is a weld symbol, and its feature is suppressed
• if the symbol is a datum target symbol, and its feature is suppressed
ProDtlsyminstdataVartextAdd(),
ProDtlsyminstdataVartextsSet(),
ProDtlsyminstdataVartextsCollect() manipulate
ProDtllvartext objects in the symbol instance, which provide for substitution of text in the symbol definition. See section
Symbol Instance Variable Text for more information about the
ProDtlvartext object.
The function
ProDtlsyminstdataTransformGet() provides a matrix that describes the transformation between symbol definition coordinates and screen coordinates for this instances, that is, it describes the location and orientation of the symbol. The symbol coordinates are specified in inches.
The function
ProDtlsyminstdataGroupoptionsSet() sets the option for displaying groups in the symbol instance. The possible options are:
• Interactive—prompt the user to select the groups to activate
• All—activate all groups
• None—do not activate any group
• Custom—activate only those groups included in the array of ProDtlsymgroup handles passed to this function.
See the section
Drawing Symbol Groups to learn more about accessing groups during symbol placement.
The function
ProDtlsyminstEntitiesVisibleGet() returns the visible entities in the symbol instance data. The input argument
sym_inst is the symbol instance that displays the symbol added to the drawing.
The function
ProDtlsyminstIsDatumTarget() checks if the specified symbol instance is a datum target. This function returns
PRO_B_TRUE if the specified symbol instance is a datum target and returns
PRO_B_FALSE if it is not.
The function
ProDtlsyminstEnvelopeGet() returns the envelope of the symbol. While retrieving coordinates of the symbol in a specified solid, if the symbol is displayed in the solid as well as in the drawing, the drawing must not be active. The input arguments follow:
• syminst—Symbol.
• drawing—Drawing. The value for this input argument must be passed only if the solid symbol is shown in the drawing. Else, pass it as NULL.
• path—If the value of the input argument drawing is not NULL, then the path points to a part in an assembly whose drawing is passed here. This part is the owner of the symbol instance.
The output argument envelope is the envelope surrounding the symbol in the model coordinate system. For drawing, the envelope surrounding the symbol is in the screen coordinates.
The function
ProDtlsyminstReferencesAdd() adds semantic references to a specified symbol. The input arguments follow:
• syminst—Specifies the symbol to which the semantic references are to be added.
• refs—Specifies the array of semantic references using the enumerated data type ProAnnotationReference.
|
Note:
|
When a reference includes more than one collection, the function ProDtlsyminstReferencesAdd() returns the error PRO_TK_MAX_LIMIT_REACHED and no reference is added.
|
The function
ProDtlsyminstReferencesGet() returns a
ProArray of additional semantic references for a symbol.
Use the function
ProAnnotationreferencearrayFree() to free the
ProArray.
The function
ProDtlsyminstReferenceDelete() deletes the additional semantic references. The input arguments are as follows:
• syminst—Symbol from which the additional semantic references are to be deleted.
• index_ref—Specifies the index of the references that need to be deleted. Indices start from 0. Get the existing references from
ProDtlsyminstReferencesGet().
The function
ProDtlsyminstSurffinGet() gets the owner surface finish from the symbol instance cosmetic. The input arguments are:
• syminst—Symbol to which the semantic references are to be added using the ProDtlsyminst object.
The output argument surf_fin is the owner surface finish item using the ProSurfFinish object.