Annotation Orientation
 
An Annotation Orientation refers to the annotation plane or the parallel plane in which the annotation lies, the viewing direction, and the text rotation. You can define the annotation orientation using a datum plane or flat surface, a named view, or as flat to screen. If the orientation is defined by a datum plane, you can set its reference to frozen or driven; where frozen indicates that the reference to the datum plane or named view has been removed.
Functions Introduced:
The function ProAnnotationplaneCreate() creates a new annotation plane from either a datum plane, a flat surface, or an existing annotation that already contains an annotation plane.
The function ProAnnotationplaneFromViewCreate() creates a new annotation plane from a saved model view.
The function ProAnnotationplaneFlatToScreenCreate() returns the annotation plane item representing a flat-to-screen annotation in the model. This function takes a ProBoolean input argument by_screen_point, which identifies whether the annotations on this plane are located by screen points, or by model units.
*You can only place notes, surface finishes, and symbols as flat to screen. Dimensions, geometric tolerances and set datum tags are not supported as flat-to-screen annotations.
Use the function ProAnnotationplaneTypeGet() to obtain the annotation plane type. It can have one of the following values:
PRO_ANNOTATIONPLANE_REFERENCE—The annotation plane is created from a datum plane or a flat surface, and can be frozen or be associative to the reference.
PRO_ANNOTATIONPLANE_NAMED_VIEW—The annotation plane is created from a named view or a view in the drawing.
PRO_ANNOTATIONPLANE_FLATTOSCREEN_BY_MODELPNT—The annotation plane is flat-to-screen and annotations are located by model units.
PRO_ANNOTATIONPLANE_FLATTOSCREEN_BY_SCREENPNT—The annotation plane is flat-to-screen and annotations are located by screen points.
PRO_ANNOTATIONPLANE_FLATTOSCREEN_LEGACY—The annotation uses a legacy flat-to-screen format (located in model space).
The function ProAnnotationplaneReferenceGet() returns the planar surface used as the annotation plane.
The function ProAnnotationplanePlaneGet() returns the geometry of the annotation plane in terms of the ProPlanedata object containing the origin and orientation of the annotation plane.
The functions ProAnnotationplaneFrozenGet() and ProAnnotationplaneFrozenSet() determine and assign, respectively, whether the annotation orientation is frozen or driven by reference to the plane geometry. These functions are applicable only for annotation planes governed by references.
The functions ProAnnotationplaneForcetoplaneflagGet() and ProAnnotationplaneForcetoplaneflagSet() return and assign, respectively, the value of the ProBoolean argument force_to_plane for an annotation plane. If this argument is set to PRO_B_TRUE, then the annotations that reference the annotation plane are placed on that plane. If the annotation orientation is not frozen, that is, driven by the reference plane, and if the reference plane is moved, then the annotations also move along with the plane.
The function ProAnnotationplaneViewnameGet() obtains the name of the view that was originally used to determine the orientation of the annotation plane.
*If the named view orientation has been changed after the annotation plane was created, the orientation of the plane will not match the current orientation of the view.
The function ProAnnotationplaneVectorGet() returns the normal vector that determines the viewing direction of the annotation plane.
The function ProAnnotationplaneAngleGet() returns the current rotation angle in degrees for a given annotation plane and the text orientation of all annotations on that plane.
The function ProAnnotationplaneActiveGet() returns the active annotation plane in the specified model.
The function ProMdlAnnotplanesFromGalleryCollect() collects the names of all the annotation planes in the gallery. The output argument names is a ProArray of names in the gallery. Use the function ProWstringArrayFree() to free the allocated memory. The function returns the error PRO_TK_EMPTY if there are no annotation planes in the gallery.
The function ProMdlAnnotationplanesCollect() collects the names of all the named annotation planes in the specified model. The function returns the error PRO_TK_EMPTY if there are no annotation planes in the model.
The function ProAnnotationplaneNamesGet() returns the names of the specified annotation plane.
The function ProAnnotationplaneByNameInit() finds and returns the annotation plane with the specified name. The function returns the error PRO_TK_E_NOT_FOUND if the annotation plane with the specified name does not exist.
The function ProAnnotationplaneNameAssign() assigns a name to the specified annotation plane. The function returns the error PRO_TK_E_NOT_FOUND if the specified annotation plane does not exist in the model. The function returns the error PRO_TK_E_FOUND if an annotation plane with the specified name already exists in the model.
Use the function ProAnnotationplaneAddToGallery() to add an annotation plane with the specified name to the gallery.
Use the function ProAnnotationplaneRemoveFromGallery() to remove the annotation plane with the specified name from the gallery.
The function ProAnnotationRotate() rotates a given annotation by the specified angle. This moves the annotation to a new annotation plane with the appropriate rotation assigned. Other annotations on the annotation’s current plane are unaffected by this function.
*You can only rotate annotations that belong to annotation elements using the above function.
Was this helpful?