#ifndef PRONCSEQELEM_H
#define PRONCSEQELEM_H
/* ProNcseqElem.h: defines the action functions setting NC seq elems */
#include <ProToolkit.h>
#include <ProParamval.h>
#include <ProSelection.h>
#include <ProWcell.h>
#include <ProMfgOptions.h>
/*****************************************************************************\
WARNING: Methods in this header are related to the Feature element tree described
in ProNcseq.h - that element tree is deprecated and will be removed in subsequent
releases. Check ProNcseq.h for possible replacements.
\******************************************************************************/
PRO_BEGIN_C_DECLS
typedef struct Pro_Elem *ProNcseqElem;
typedef PRO_CONST_ARG struct Pro_Elem *ProConstNcseqElem;
typedef enum Pro_HolesetDirection {
PRO_HS_DIR_NATURAL = -1,
PRO_HS_DIR_FLIP = 1
} ProHolesetDirection;
extern ProError ProNcseqElemMillsurfSet (ProNcseqElem elem,
ProBoolean flip,
int mill_surf_id);
/*
Purpose: Stores the mill surface identifier and the normal sense in a
<i>ProNCseqElem</i> data structure.
<p> Applicable Element Id(s):
<p> PRO_E_SURFACES
Input Arguments:
elem - The <i>ProNcseqElem</i> handle in which to store the information
flip - Specifies whether to flip the normal sense of a surface
reference
mill_surf_id - The identifier of a mill surface
Output Arguments:
none
Return Values:
PRO_TK_NO_ERROR - The function successfully stored the information.
PRO_TK_BAD_INPUTS - One or more of the arguments are invalid.
*/
extern ProError ProNcseqElemSurfaceAdd (ProNcseqElem elem,
PRO_CONST_ARG ProSelection srf);
/*
Purpose: Stores the surface selections in a <i>ProNcseqElem</i> data
structure.
<p> NOTE:
<p> When you call the function
<b>ProFeatureWithoptionsRedefine()</b>, the system replaces the
existing surface selections in the feature with the selections
stored in the <i>ProNcseqElem</i> data structure.
<p> Applicable Element Id(s):
<p> PRO_E_SURFACES
Input Arguments:
elem - The <i>ProNcseqElem</i> handle in which to store the information
srf - The surface selection
Output Arguments:
none
Return Values:
PRO_TK_NO_ERROR - The function successfully stored the information.
PRO_TK_BAD_INPUTS - One or more of the arguments are invalid.
See Also:
ProFeatureWithoptionsRedefine()
*/
extern ProError ProNcseqElemSurfaceflipSet (ProNcseqElem elem,
ProBoolean flip);
/*
Purpose: Stores a surface flip in a <i>ProNCseqElem</i> data structure.
<p> NOTE:
<p> This function is useful when you are redefining the "flip" of
a mill surface reference of a sequence.
<p> Applicable Element Id(s):
<p> PRO_E_SURFACES
Input Arguments:
elem - The <i>ProNcseqElem</i> handle in which to store the information
flip - Specifies whether to flip the normal sense of a surface
reference
Output Arguments:
none
Return Values:
PRO_TK_NO_ERROR - The function successfully stored the information.
PRO_TK_BAD_INPUTS - One or more of the arguments are invalid.
*/
extern ProError ProNcseqElemVolumeSet (ProNcseqElem elem,
int mill_vol_id);
/*
Purpose: Stores a mill volume identifier in a <i>ProNcseqElem</i> data
structure.
<p> Applicable Element Id(s):
<p> PRO_E_SURFACES
<p> PRO_E_VOLUME
Input Arguments:
elem - The <i>ProNcseqElem</i> handle in which to store the information
mill_vol_id - The identifier of the mill volume
Output Arguments:
none
Return Values:
PRO_TK_NO_ERROR - The function successfully stored the information.
PRO_TK_BAD_INPUTS - One or more of the arguments are invalid.
*/
extern ProError ProNcseqElemWindowSet (ProNcseqElem elem,
int mill_wind_id);
/*
Purpose: Stores a mill window identifier in a <i>ProNcseqElem</i> data
structure.
<p> Applicable Element Id(s):
<p> PRO_E_MACH_WINDOW
Input Arguments:
elem - The <i>ProNcseqElem</i> handle in which to store the information
mill_wind_id - The identifier of the mill window
Output Arguments:
none
Return Values:
PRO_TK_NO_ERROR - The function successfully stored the information.
PRO_TK_BAD_INPUTS - One or more of the arguments are invalid.
*/
extern ProError ProNcseqElemHolesetAdd (ProNcseqElem elem,
int *r_set_nmb);
/*
Purpose: Adds storage for another hole set to a <i>ProNcseqElem</i> data
structure. <b>Please note that this routine and the associated
PRO_E_HOLES element are provided solely for compatibility with
existing Creo Parametric TOOLKIT code. Wherever possible the more
powerful PRO_E_HOLESETS element should be used instead.</b>
<p> Applicable Element Id(s):
<p> PRO_E_HOLES
Input Arguments:
elem - The <i>ProNcseqElem</i> handle in which to store the
information.
Output Arguments:
r_set_nmb - If this is not NULL and storage was successful, this is the
number of the hole set that was added.
Return Values:
PRO_TK_NO_ERROR - The function successfully stored the information.
PRO_TK_BAD_INPUTS - The input argument is invalid.
*/
extern ProError ProNcseqElemHolesetDepthTypeSet (ProNcseqElem elem,
int set_nmb,
ProDrillDepthType dt);
/*
Purpose: Stores the type of drill depth for the specified hole set in a
<i>ProNcseqElem</i> data structure. <b>Please note that this
routine and the associated PRO_E_HOLES element are provided solely
for compatibility with existing Creo Parametric TOOLKIT code.
Wherever possible the more powerful PRO_E_HOLESETS element should
be used instead.</b>
<p> Applicable Element Id(s):
<p> PRO_E_HOLES
Input Arguments:
elem - The <i>ProNcseqElem</i> handle in which to store the information
set_nmb - The number of the hole set on which to operate
dt - The type of drill depth
Output Arguments:
none
Return Values:
PRO_TK_NO_ERROR - The function successfully stored the information.
PRO_TK_BAD_INPUTS - One or more of the arguments are invalid.
*/
extern ProError ProNcseqElemHolesetDepthBySet (ProNcseqElem elem,
int set_nmb,
ProDrillDepthByType db);
/*
Purpose: Stores the depth-by type for the specified hole set in a
<i>ProNcseqElem</i> data structure. <b>Please note that this
routine and the associated PRO_E_HOLES element are provided solely
for compatibility with existing Creo Parametric TOOLKIT code.
Wherever possible the more powerful PRO_E_HOLESETS element should
be used instead.</b>
<p> Applicable Element Id(s):
<p> PRO_E_HOLES
Input Arguments:
elem - The <i>ProNcseqElem</i> handle in which to store the information
set_nmb - The number of the hole set on which to operate
db - The depth-by type
Output Arguments:
none
Return Values:
PRO_TK_NO_ERROR - The function successfully stored the information.
PRO_TK_BAD_INPUTS - One or more of the arguments are invalid.
*/
extern ProError ProNcseqElemHolesetStartSet (ProNcseqElem elem,
int set_nmb,
PRO_CONST_ARG ProSelection start_pln);
/*
Purpose: Stores the start plane for the specified hole set in a
<i>ProNcseqElem</i> data structure. <b>Please note that this
routine and the associated PRO_E_HOLES element are provided solely
for compatibility with existing Creo Parametric TOOLKIT code.
Wherever possible the more powerful PRO_E_HOLESETS element should
be used instead.</b>
<p> Applicable Element Id(s):
<p> PRO_E_HOLES
Input Arguments:
elem - The <i>ProNcseqElem</i> handle in which to store the information
set_nmb - The number of the hole set on which to operate
start_pln - The start plane selection
Output Arguments:
none
Return Values:
PRO_TK_NO_ERROR - The function successfully stored the information.
PRO_TK_BAD_INPUTS - One or more of the arguments are invalid.
*/
extern ProError ProNcseqElemHolesetEndSet (ProNcseqElem elem,
int set_nmb,
PRO_CONST_ARG ProSelection end_pln);
/*
Purpose: Stores the end plane selection for the specified hole set in a
<i>ProNcseqElem</i> data structure. <b>Please note that this
routine and the associated PRO_E_HOLES element are provided solely
for compatibility with existing Creo Parametric TOOLKIT code.
Wherever possible the more powerful PRO_E_HOLESETS element should
be used instead.</b>
<p> Applicable Element Id(s):
<p> PRO_E_HOLES
Input Arguments:
elem - The <i>ProNcseqElem</i> handle in which to store the information
set_nmb - The number of the hole set on which to operate
end_pln - The end plane selection
Output Arguments:
none
Return Values:
PRO_TK_NO_ERROR - The function successfully stored the information.
PRO_TK_BAD_INPUTS - One or more of the arguments are invalid.
*/
extern ProError ProNcseqElemHolesetDepthSet (ProNcseqElem elem,
int set_nmb,
double hs_depth);
/*
Purpose: Stores the depth value for the specified hole set in a
<i>ProNcseqElem</i> data structure. <b>Please note that this
routine and the associated PRO_E_HOLES element are provided solely
for compatibility with existing Creo Parametric TOOLKIT code.
Wherever possible the more powerful PRO_E_HOLESETS element should
be used instead.</b>
<p> Applicable Element Id(s):
<p> PRO_E_HOLES
Input Arguments:
elem - The <i>ProNcseqElem</i> handle in which to store the information
set_nmb - The number of the hole set on which to operate
hs_depth - The depth of the hole set
Output Arguments:
none
Return Values:
PRO_TK_NO_ERROR - The function successfully stored the information.
PRO_TK_BAD_INPUTS - One or more of the arguments are invalid.
*/
extern ProError ProNcseqElemHolesetDirectionSet (ProNcseqElem elem,
int set_nmb,
ProHolesetDirection dir);
/*
Purpose: Stores the direction for the specified hole set in a
<i>ProNcseqElem</i> data structure. <b>Please note that this
routine and the associated PRO_E_HOLES element are provided solely
for compatibility with existing Creo Parametric TOOLKIT code.
Wherever possible the more powerful PRO_E_HOLESETS element should
be used instead.</b>
<p> Applicable Element Id(s):
<p> PRO_E_HOLES
Input Arguments:
elem - The <i>ProNcseqElem</i> handle in which to store the information
set_nmb - The number of the hole set on which to operate
dir - The drilling direction
Output Arguments:
none
Return Values:
PRO_TK_NO_ERROR - The function successfully stored the information.
PRO_TK_BAD_INPUTS - One or more of the arguments are invalid.
*/
extern ProError ProNcseqElemHolesetAxisAdd (ProNcseqElem elem,
int set_nmb,
PRO_CONST_ARG ProSelection axis);
/*
Purpose: Stores an axis to be machined for the specified hole set in a
<i>ProNcseqElem</i> data structure. <b>Please note that this
routine and the associated PRO_E_HOLES element are provided solely
for compatibility with existing Creo Parametric TOOLKIT code.
Wherever possible the more powerful PRO_E_HOLESETS element should
be used instead.</b>
<p> Applicable Element Id(s):
<p> PRO_E_HOLES
Input Arguments:
elem - The <i>ProNcseqElem</i> handle in which to store the information
set_nmb - The number of the hole set on which to operate
axis - The axis to be machined
Output Arguments:
none
Return Values:
PRO_TK_NO_ERROR - The function successfully stored the information.
PRO_TK_BAD_INPUTS - One or more of the arguments are invalid.
*/
extern ProError ProNcseqElemHolesetDrillpartAdd (ProNcseqElem elem,
int set_nmb,
PRO_CONST_ARG ProSelection drl_part);
/*
Purpose: Stores the part to be drilled for the specified hole set in a
<i>ProNcseqElem</i> data structure. <b>Please note that this
routine and the associated PRO_E_HOLES element are provided solely
for compatibility with existing Creo Parametric TOOLKIT code.
Wherever possible the more powerful PRO_E_HOLESETS element should
be used instead.</b>
<p> Applicable Element Id(s):
<p> PRO_E_HOLES
Input Arguments:
elem - The <i>ProNcseqElem</i> handle in which to store the information
set_nmb - The number of the hole set on which to operate
drl_part - The part to be machined
Output Arguments:
none
Return Values:
PRO_TK_NO_ERROR - The function successfully stored the information.
PRO_TK_BAD_INPUTS - One or more of the arguments are invalid.
*/
extern ProError ProNcseqElemHolesetCsinkdiamSet (ProNcseqElem elem,
int set_nmb,
double csink_diameter);
/*
Purpose: Stores the countersink diameter for the specified hole set in a
<i>ProNcseqElem</i> data structure. <b>Please note that this
routine and the associated PRO_E_HOLES element are provided solely
for compatibility with existing Creo Parametric TOOLKIT code.
Wherever possible the more powerful PRO_E_HOLESETS element should
be used instead.</b>
<p> Applicable Element Id(s):
<p> PRO_E_HOLES
Input Arguments:
elem - The <i>ProNcseqElem</i> handle in which to store the information
set_nmb - The number of the hole set on which to operate
csink_diameter - The countersink diameter
Output Arguments:
none
Return Values:
PRO_TK_NO_ERROR - The function successfully stored the information.
PRO_TK_BAD_INPUTS - One or more of the arguments are invalid.
*/
extern ProError ProNcseqElemStartPntSet (ProNcseqElem elem,
ProMachHead head,
ProSelection point);
/*
Purpose: Stores the start point selection in a <i>ProNcseqElem</i> data
structure.
<p> Applicable Element Id(s):
<p> PRO_E_START
Input Arguments:
elem - The <i>ProNcseqElem</i> handle in which to store the information
head - The machining head information
point - The selected point
Output Arguments:
none
Return Values:
PRO_TK_NO_ERROR - The function successfully stored the information.
PRO_TK_BAD_INPUTS - One or more of the arguments are invalid.
*/
extern ProError ProNcseqElemEndPntSet (ProNcseqElem elem,
ProMachHead head,
ProSelection point);
/*
Purpose: Stores the end point selection in a <i>ProNcseqElem</i> data
structure.
<p> Applicable Element Id(s):
<p> PRO_E_END
Input Arguments:
elem - The <i>ProNcseqElem</i> handle in which to store the information
head - The machining head information
point - The selected point
Output Arguments:
none
Return Values:
PRO_TK_NO_ERROR - The function successfully stored the information.
PRO_TK_BAD_INPUTS - One or more of the arguments are invalid.
*/
PRO_END_C_DECLS
#endif /* PRONCSEQELEM_H */