#ifndef PROSECDIMDOTH #define PROSECDIMDOTH #include <ProToolkit.h> #include <ProObjects.h> #include <ProSelection.h> #include <ProSection.h> #include <ProItemerr.h> #include <Pro2dEntdef.h> #include <ProSecdimType.h> PRO_BEGIN_C_DECLS extern ProError ProSecdimCreate (ProSection handle, int entity_ids[], ProSectionPointType point_types[], int num_ids, ProSecdimType dim_type, Pro2dPnt place_pnt, int *r_dim_id); /* Purpose: Dimensions the entities in the specified section to each other. Input Arguments: handle - The section handle entity_ids - An array of entity identifiers point_types - An array of point types (PRO_ENT_...) num_ids - The length of the <i>entity_ids</i> array dim_type - The dimension type (linear, angular, length, and so on) place_pnt - The placement point Output Arguments: r_dim_id - The identifier of the section dimension Return Values: PRO_TK_NO_ERROR - The function successfully dimensioned the entities. PRO_TK_BAD_INPUTS - One or more of the input arguments are invalid. PRO_TK_MEMORY_ERROR - There was a memory error. */ extern ProError ProSecdimValueSet (ProSection handle, int dim_id, double value); /* Purpose: Changes the value of the specified dimension in the section. Input Arguments: handle - The section handle dim_id - The identifier of the dimension to be modified value - The new value of the dimension Output Arguments: none Return Values: PRO_TK_NO_ERROR - The function successfully set the new value. PRO_TK_BAD_INPUTS - One or more of the arguments are invalid. PRO_TK_GENERAL_ERROR - A general error occurred and the function failed. */ extern ProError ProSecdimDelete (ProSection handle, int dim_id); /* Purpose: Deletes a dimension from the specified section. Input Arguments: handle - The section handle dim_id - The identifier of the dimension Output Arguments: none Return Values: PRO_TK_NO_ERROR - The function successfully deleted the dimension. PRO_TK_GENERAL_ERROR - One or more of the arguments are invalid. */ extern ProError ProSecdimValueGet (ProSection handle, int dim_id, double *r_value); /* Purpose: Retrieves the value of the specified dimension in the section. Input Arguments: handle - The section handle dim_id - The identifier of the dimension Output Arguments: r_value - The value of the dimension Return Values: PRO_TK_NO_ERROR - The function successfully retrieved the information. PRO_TK_GENERAL_ERROR - A general error occurred and the function failed. */ extern ProError ProSecdimTypeGet (ProSection section, int dim_id, ProSecdimType *r_type); /* Purpose: Retrieves the type of the specified dimension in the section. Input Arguments: section - The section handle dim_id - The identifier of the dimension Output Arguments: r_type - The type of the dimension Return Values: PRO_TK_NO_ERROR - The function successfully retrieved the information. PRO_TK_GENERAL_ERROR - A general error occurred and the function failed. */ extern ProError ProSecdimLocationGet ( ProSection handle, int dim_id, Pro2dPnt location); /* Purpose: Retrieves the location of the specified dimension in the section. Input Arguments: handle - The section handle dim_id - The identifier of the dimension Output Arguments: location - The location of the dimension in section coordinates Return Values: PRO_TK_NO_ERROR - The function successfully retrieved the information. PRO_TK_GENERAL_ERROR - A general error occurred and the function failed. */ extern ProError ProSecdimReferencesGet ( ProSection handle, int dim_id, int **entity_ids, ProSectionPointType **point_types, int *p_num_refs); /* Purpose: Retrieves the references of the specified dimension in the section. Input Arguments: handle - The section handle. dim_id - The identifier of the dimension. Output Arguments: entity_ids - An array of entity identifiers referenced by the section dimension. Free this memory using <b>ProArrayFree()</b>. point_types - The corresponding array of <i>point_types</i> for each entity. Free this memory using <b>ProArrayFree()</b>. p_num_refs - The returned size of the arrays. Return Values: PRO_TK_NO_ERROR - The function successfully retrieved the information. PRO_TK_GENERAL_ERROR - A general error occurred and the function failed. See Also: ProArrayFree() */ extern ProError ProSecdimIdsGet (ProSection handle, ProIntlist *p_id_list, int *p_num_ids ); /* Purpose: Returns an array of valid dimension identifiers for the specified section. Input Arguments: handle - The section handle. Output Arguments: p_id_list - The array of identifiers. The function allocates the memory for this array. Call the function <b>ProArrayFree()</b>to release the memory. p_num_ids - The size of the <i>p_id_list</i> array. Return Values: PRO_TK_NO_ERROR - The function successfully retrieved the information. PRO_TK_GENERAL_ERROR - A general error occurred and the function failed. PRO_TK_BAD_INPUTS - The input argument is invalid. See Also: ProArrayFree() */ extern ProError ProSecdimDiameterSet (ProSection handle, int dim_id); /* Purpose: Converts section dimension between a centerline and another entity into a "diameter dimension". Input Arguments: handle - The section handle. dim_id - ID of a dimension to convert Output Arguments: none Return Values: PRO_TK_NO_ERROR - The dimension was successfully converted. PRO_TK_BAD_INPUTS - The input arguments are invalid. ( invalid handle, invalid dimension ID, or dimension doesn't reference exactly one centerline ) */ extern ProError ProSecdimDiameterClear (ProSection handle, int dim_id); /* Purpose: Converts a "diameter" section dimension (between a centerline and another entity) into a regular one. Input Arguments: handle - The section handle. dim_id - ID of a dimension to convert Output Arguments: none Return Values: PRO_TK_NO_ERROR - The dimension was successfully converted. PRO_TK_BAD_INPUTS - The input arguments are invalid. ( invalid handle, invalid dimension ID, or or the dimension doesn't reference exactly one centerline ) */ extern ProError ProSecdimDiameterInquire (ProSection handle, int dim_id, ProBoolean *dim_is_diameter); /* Purpose: To determine whether a dimension has the "diameter" property. Input Arguments: handle - The section handle. dim_id - ID of a dimension to get info about Output Arguments: dim_is_diameter - TRUE, if the dimension is a "diameter" one. FALSE, otherwise. Return Values: PRO_TK_NO_ERROR - The function successfully retrieved the information. PRO_TK_BAD_INPUTS - The input arguments are invalid. ( invalid handle, or invalid dimension ID ) */ extern ProError ProSecdimStrengthen ( ProSection section, int dim_id ); /* Purpose: Make a strong dimension. Input Arguments: section - The section dim_id - The dimension identifier Output Arguments: none Return Values: PRO_TK_NO_ERROR - The function successfully strengthen the entity. PRO_TK_BAD_INPUTS - One or more of the input arguments are invalid. PRO_TK_INVALID_TYPE - Dimension can not be made strong. PRO_TK_E_FOUND - Dimension is already a strong dimension. */ extern ProError ProSecdimLockSet( ProSection section, int dim_id, ProBoolean is_locked ); /* Purpose: Lock or unlock the dimension entity. Input Arguments: section - The section dim_id - The dimension identifier is_locked - PRO_B_TRUE, means lock the dimension. Output Arguments: none Return Values: PRO_TK_NO_ERROR - The function successfully locked/ unlocked the entity. PRO_TK_BAD_INPUTS - One or more of the input arguments are invalid. PRO_TK_INVALID_TYPE - Dimension can not be locked or unlocked. */ extern ProError ProSecdimIsLocked( ProSection section, int dim_id, ProBoolean *is_locked ); /* Purpose: Determine whether or not the dimension is locked. Input Arguments: section - The section dim_id - The dimension identifier Output Arguments: is_locked - PRO_B_TRUE, means locked dimension status. Return Values: PRO_TK_NO_ERROR - The function successfully executed. PRO_TK_BAD_INPUTS - One or more of the input arguments are invalid. */ PRO_END_C_DECLS #endif