/* * INCLUDES: ProAutoDrill.h */ #ifndef PROAUTODRILL_H #define PROAUTODRILL_H #include <ProMfg.h> PRO_BEGIN_C_DECLS extern ProError ProAutodrillSeqOrderAlloc( ProMfg mfg, int consider_csys ); /* Purpose: Setup the necessary data for reordering autodrilling sequences. It will group autodrilling sequences which are created inside the same operation and consequtively together. If consider_csys is not zero, then two sequences with nonparallel z-axis ( of their coordinate systems ) will not be grouped together. Input Arguments: mfg - The manufacturing object. consider_csys - A flag, if nonzero, then sequences with different nonparallel coordinate systems will not be grouped together. Output Arguments: none Return Values: PRO_TK_NO_ERROR - The function successfully retrieved the information. Other - The input argument is invalid. */ extern ProError ProAutodrillSeqOrderFree( ProMfg mfg ); /* Purpose: Release the data allocated by ProAutodrillSeqOrderAlloc(). Input Arguments: mfg - The manufacturing object. Output Arguments: none Return Values: PRO_TK_NO_ERROR - The function successfully releases data. Other - The input argument is invalid. */ extern ProError ProAutodrillSegmentNumGet( ProMfg mfg, int *p_num_of_segments ); /* Purpose: Returns the number of groups created by ProAutodrillSeqOrderAlloc(). Input Arguments: mfg - The manufacturing object. Output Arguments: p_num_of_segments - The number of groups created by ProAutodrillSeqOrderAlloc(). Return Values: PRO_TK_NO_ERROR - The function successfully retrieved the information. Other - The input argument is invalid. */ extern ProError ProAutodrillSegmentGet( ProMfg mfg, int segment_index, int **p_segment ); /* Purpose: Returns one of the groups( id's of its sequences) created by ProAutodrillSeqOrderAlloc(). Input Arguments: mfg - The manufacturing object. segment_index - index of the segment. Output Arguments: p_segment - address of the segment. *p_segment is a pre_allocated array. Return Values: PRO_TK_NO_ERROR - The function successfully retrieved the information. Other - The input argument is invalid. */ extern ProError ProAutodrillSegmentSet( ProMfg mfg, int segment_index, int *segment ); /* Purpose: Reorder one of the groups( id's of its sequences) created by ProAutodrillSeqOrderAlloc(). It does not reorder features by itself. It only store the new ordering for future call to ProAutodrillReorder(). Input Arguments: mfg - The manufacturing object. segment_index - index of the segment. segment - The new ordering for the selected segment. Output Arguments: none Return Values: PRO_TK_NO_ERROR - The function successfully set data. Other - The input argument is invalid. */ extern ProError ProAutodrillSegmentReset( ProMfg mfg, int segment_index ); /* Purpose: Restore one of the groups( id's of its sequences) created by ProAutodrillSeqOrderAlloc(), in case it was changed by a call to ProAutodrillSegmentSet(). Input Arguments: mfg - The manufacturing object. segment_index - index of the segment. Output Arguments: none Return Values: PRO_TK_NO_ERROR - The function successfully set data. Other - The input argument is invalid. */ extern ProError ProAutodrillReorder( ProMfg mfg ); /* Purpose: Reorder autodrilling features using data set by ProAutodrillSegmentSet(). Input Arguments: mfg - The manufacturing object. Output Arguments: none Return Values: PRO_TK_NO_ERROR - The function successfully reorder sequences. Other - The input argument is invalid. */ PRO_END_C_DECLS #endif