Surface Finish Annotations
The functions described in this section provide read access to the properties of the surface finish object. They also allow you to create and modify surface finishes.
The style of surface finishes for releases previous to Pro/ENGINEER Wildfire 2.0 was a flat-to-screen symbol attached to a single surface. From Pro/ENGINEER Wildfire 2.0 onwards, the method for construction of surface finishes has been modified. The new style of surface finish is a symbol instance that may be attached on a surface or with a leader or offset to another surface finish, symbol, note, or gtol. The following functions support both the old and new surface finish annotations, except where specified.
Functions Introduced:
The function
ProSolidSurffinishVisit() visits the surface finishes stored in the specified solid model. This function accepts a visit function
ProSurfaceVisitAction() and a filter function
ProSurfaceFilterAction() as the input arguments.
The function
ProSurffinishCreate() creates a new symbol-based surface finish annotation. The function requires a symbol instance data structure for creation. Once the surface finish annotation is created, use the function
ProAnnotationShow() to display it.
|
Note:
|
The data must conform to the requirements for surface finishes, that is, attachment must be via leader to or on one or more surfaces.
|
You can use the standard surface finish symbol definitions from the symbol instance data structure. Use the function
ProSolidDtlsymdefRetrieve() to retrieve the surface finish symbol definitions from the location
PRO_DTLSYMDEF_SRC_SURF_FINISH_DIR. The surface finish value should be set using the variant text options for symbol instances.
The function
ProSurffinishReferencesGet() returns the surface or surfaces referenced by the surface finish.
The function
ProSurffinishSrfcollectionGet() obtains a surface collection which contains the references of the surface finish.
The function
ProSurffinishSrfcollectionSet() assigns a surface collection to be the references of the surface finish. This overwrites all current surface finish references. The following types of surface collections are supported:
• One by one surface set
• Intent surface set
• Excluded surface set
• Seed and Boundary surface set
• Loop surface set
• Solid surface set
• Quilt surface set
|
Note:
|
Only those surface finishes that are contained within annotation elements may use a collection of references instead of a single surface reference.
|
The function
ProSurffinishAdditionalReferencesAdd() adds references to the specified surface finish. The input arguments follow:
• surf_finish—Surface finish to which the references are to be added.
• refs—Array of references specified using the ProAnnotationReference structure. You can add only one reference if you select PRO_ANNOT_REF_SRF_COLLECTION.
The function
ProSurffinishAdditionalReferencesGet() returns a
ProArray of references for a specified surface finish.
Use the function
ProAnnotationreferencearrayFree() to release the memory assigned to the
ProArray of references.
The function
ProSurffinishAdditionalReferenceDelete() deletes the specified surface finish references. The input arguments follow:
• surf_finish—Surface finish from which the references are to be deleted.
• index_ref—Index of the references that must be deleted. Indices start from 0. Get existing references from the function
ProDtlsyminstReferencesGet().
The function
ProSurffinishDataGet() returns the symbol instance data for the surface finish. This function supports only new symbol-based surface finishes.
The function
ProSurffinishModify() modifies the symbol instance data for the specified surface finish. This function supports only new symbol-based surface finishes.
The function
ProSurffinishValueGet() retrieves the value of a surface finish annotation.
The function
ProSurffinishValueSet() sets the value of a surface finish annotation.
The function
ProSurffinishDelete() deletes the specified surface finish.
The functions described above supersede the Pro/Develop functions pro_surf_finish_number(), pro_get_surf_finish(), pro_delete_surface_finish() and pro_set_surface_finish().