/*
* 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