#ifndef PROANNOTATIONFEAT_H #define PROANNOTATIONFEAT_H #include <ProObjects.h> #include <ProSelection.h> #include <ProDtlsyminst.h> PRO_BEGIN_C_DECLS extern ProError ProAnnotationfeatCreate ( ProSelection model, ProBoolean use_ui, ProFeature *p_feat); /* Purpose: Creates a new annotation feature in the model. Licensing Requirement: UNRECOGNIZED Input Arguments: model - The part on which the feature is being created. If the feature is created in an assembly, component path must be specified. use_ui - PRO_B_TRUE to invoke the annotation feature creation User Interface. PRO_B_FALSE to create a feature automatically containing a single general annotation element. Output Arguments: p_feat - The new annotation feature. Return Values: PRO_TK_NO_ERROR - The function succeeded. PRO_TK_BAD_INPUTS - One or more arguments was invalid. PRO_TK_USER_ABORT - The user cancelled the feature creation (if use_ui = TRUE). PRO_TK_BAD_CONTEXT - The owner is not the current model (if use_ui = TRUE). */ extern ProError ProAnnotationfeatElementAdd (ProSelection feature, ProBoolean allow_fix_ui, ProAnnotationElem *element); /* Purpose: Adds a new general annotation element to the annotation feature. Licensing Requirement: UNRECOGNIZED Input Arguments: feature - The annotation feature. If the feature belongs to an assembly, component path must be specified. allow_fix_ui - PRO_B_TRUE to bring up the Fix Model UI in the event of regeneration failure; PRO_B_FALSE to abort the element adding. Output Arguments: element - The new annotation element. Return Values: PRO_TK_NO_ERROR - The function succeeded. PRO_TK_BAD_INPUTS - One or more arguments was invalid. PRO_TK_CANT_MODIFY - Datum Target annotation feature cannot be modified. */ extern ProError ProAnnotationfeatElementCopy (ProSelection feature, ProAnnotationElem *element); /* Purpose: Copy and add an existing annotation element to the annotation feature. Licensing Requirement: UNRECOGNIZED Input Arguments: feature - The annotation feature. If the feature belongs to an assembly, component path must be specified. element - The annotation element to copy and add. Output Arguments: none Return Values: PRO_TK_NO_ERROR - The function succeeded. PRO_TK_BAD_INPUTS - One or more arguments was invalid. */ extern ProError ProAnnotationfeatElementArrayAdd( ProSelection feature, ProBoolean allow_fix_ui, ProAnnotation *annotations, ProAnnotationElem **elements); /* Purpose: Adds a series of new elements to the annotation feature. Each element may be created as general, or may contain a preexisting annotation. if feature is datum target annotation feature only one set datum tag annotation can be added. Licensing Requirement: UNRECOGNIZED Input Arguments: feature - The annotation feature. If the feature belongs to an assembly, component path must be specified. allow_fix_ui - PRO_B_TRUE to bring up the Fix Model UI in the event of regeneration failure; PRO_B_FALSE to abort the element adding. annotations - ProArray of ProAnnotation to use in the new elements. The size of this array indicates the number of new elements to create. Any individual ProAnnotation whose type is set to PRO_TYPE_UNUSED will be used to create a general annotation element instead of an annotation element which references an annotation. Output Arguments: elements - ProArray of new annotation elements. Free this using ProArrayFree(). Return Values: PRO_TK_NO_ERROR - The function succeeded. PRO_TK_BAD_INPUTS - One or more arguments was invalid. PRO_TK_CANT_MODIFY - Only one set datum tag can exist in Datum Target annotation feature */ extern ProError ProAnnotationfeatElementDelete ( ProSelection element, ProBoolean allow_fix_ui); /* Purpose: Removes an annotation element from an annotation feature or data sharing feature. For annotation feature elements, the element will be deleted, but the annotation that it contains (if applicable) will remain in the model but not be a part of any feature. For data sharing features, this annotation element will no longer be propagated in this feature. The parent model of the data sharing feature must be in memory to allow this removal to succeed. Licensing Requirement: UNRECOGNIZED Input Arguments: element - The annotation element. Include the assembly path if in the context of an assembly subcomponent. allow_fix_ui - PRO_B_TRUE to go to the Fix Model UI on regeneration failure, PRO_B_FALSE to undo changes on regeneration failure. Output Arguments: none Return Values: PRO_TK_NO_ERROR - The function succeeded. PRO_TK_BAD_INPUTS - The argument was invalid. PRO_TK_BAD_CONTEXT - The annotation element is readonly and cannot be deleted. PRO_TK_UNATTACHED_FEATS - Deletion was aborted due to regeneration failure. PRO_TK_E_NOT_FOUND - The data sharing feature's parent model is not in memory; PRO_TK_NOT_VALID - The element is owned by an independent feature. PRO_TK_NO_PERMISSION - Deletion of set datum tag from datum target annotation feature is not allowed. */ extern ProError ProAnnotationfeatElementArrayDelete ( ProSelection feature, ProSelection *elements, ProBoolean allow_fix_ui); /* Purpose: Removes a series of annotation elements from an annotation feature or data sharing feature. For annotation feature elements, the element will be deleted, but the annotation that it contains (if applicable) will remain in the model but not be a part of any feature. For data sharing features, this annotation element will no longer be propagated in this feature. The parent model of the data sharing feature must be in memory to allow this removal to succeed. Licensing Requirement: UNRECOGNIZED Input Arguments: feature - The annotation feature. If the feature belongs to an assembly, component path must be specified. elements - ProArray of the annotation elements. Include the assembly path if in the context of an assembly subcomponent. allow_fix_ui - PRO_B_TRUE to go to the Fix Model UI on regeneration failure, PRO_B_FALSE to undo changes on regeneration failure. Output Arguments: none Return Values: PRO_TK_NO_ERROR - The function succeeded. PRO_TK_BAD_INPUTS - The argument was invalid. PRO_TK_INVALID_ITEM - Feature is invalid for this operation. PRO_TK_BAD_CONTEXT - The annotation element is readonly and cannot be deleted. PRO_TK_UNATTACHED_FEATS - Deletion was aborted due to regeneration failure. PRO_TK_E_NOT_FOUND - The data sharing feature's parent model is not in memory; PRO_TK_NOT_VALID - The element is owned by an independent feature. PRO_TK_NO_PERMISSION - Deletion of set datum tag from datum target annotation feature is not allowed. */ extern ProError ProAnnotationfeatBaselineCreate( ProSelection feature, ProSelection reference, ProSelection direction_reference, ProAnnotationPlane *plane, ProAnnotationElem *baseline_ae ); /* Purpose: Creates a new ordinate baseline annotation element in the annotation feature. Licensing Requirement: UNRECOGNIZED Input Arguments: feature - The annotation feature. If the feature belongs to a subcomponent of the active assembly, the component path must be specified. reference - The reference geometry for the ordinate baseline dim. direction_reference - A straight entity indicating the direction of dimension witness lines. If the attachment reference is a csys, this must be a csys axis. If the dimension reference is a plane or linear entity, this can be NULL. plane - The annotation plane for the baseline dim and all of its related dimensions. Output Arguments: baseline_ae - The baseline annotation element. Return Values: PRO_TK_NO_ERROR - The function succeeded. PRO_TK_BAD_INPUTS - One or more input arguments was invalid. PRO_TK_BAD_DIM_ATTACH - Invalid reference geometry specified for the baseline dimension. PRO_TK_INVALID_MATRIX - Invalid annotation plane specified with respect to the reference geometry. */ extern ProError ProDatumtargetAnnotationfeatureCreate ( ProSelection model, ProBoolean use_ui, ProFeature *p_feat); /* Purpose: Creates a new datum target annotation feature in the model. Licensing Requirement: UNRECOGNIZED Input Arguments: model - The part on which the feature is being created. If the feature is created in an assembly, component path must be specified. use_ui - PRO_B_TRUE to invoke the datum target annotation feature creation User Interface. PRO_B_FALSE to create a feature automatically. Output Arguments: p_feat - The new datum target annotation feature. Return Values: PRO_TK_NO_ERROR - The function succeeded. PRO_TK_BAD_INPUTS - One or more arguments was invalid. PRO_TK_USER_ABORT - The user cancelled the feature creation (if use_ui = TRUE). PRO_TK_BAD_CONTEXT - The owner is not the current model (if use_ui = TRUE). */ PRO_END_C_DECLS #endif /* PROANNOTATIONFEAT_H */