#ifndef PRONCSEQ_H
#define PRONCSEQ_H
/* ProNcseq.h: this include file contains the following details of NC Sequences
* NC Sequence feature definition
* some utility functions for the NC Sequence feature
*/
#include <ProObjects.h>
#include <ProMfgoper.h>
#include <ProWcell.h>
#include <ProMfgOptions.h>
/*****************************************************************************\
WARNING: This Feature element tree is deprecated and will be removed in subsequent
releases. Refer to these headers for replacement:
ProMfgFeat2xCurvTraj.h
ProMfgFeatCornerFinishing.h
ProMfgFeatFacing.h
ProMfgFeatFinishing.h
ProMfgFeatHolemaking.h
ProMfgFeatManualCycle.h
ProMfgFeatProfMilling.h
ProMfgFeatReroughing.h
ProMfgFeatRoughing.h
ProMfgFeatThreadMilling.h
ProMfgFeatTrajectory.h
ProMfgFeatTurnThread.h
ProMfgFeatTurning.h
Feature element tree
PRO_E_FEATURE_TREE
|
|--PRO_E_FEAT_TYPE Non-redefinable
|
|--PRO_E_NCSEQ_TYPE Non-redefinable
|
|--PRO_E_HOLEMAKING_TYPE Holemaking only, Non-redefinable
|
|--PRO_E_HOLE_CYCLE_TYPE Holemaking only, Non-redefinable
|
|--PRO_E_PECK_TYPE Holemaking only, with CYCLE_TYPE == DEEP
| Non-redefinable
|
|--PRO_E_DRILL_MODE Optional element, applicable when workcell
| is MILL_N_TRN Non-redefinable
|
|--PRO_E_NUM_AXES Non-redefinable, Optional element
|
|--PRO_E_MACH_HEAD Optional element, applicable when workcell
| is multi-axis LATHE or MILL_N_TRN
| Non-redefinable
|
|--PRO_E_TURN_OPTION Non-redefinable
| For turning: outside, inside and face
|
|--PRO_E_OPERATION
|
|--PRO_E_FIXTURE Optional element
|
|--PRO_E_FEAT_NAME Optional element
|
|--PRO_E_COMMENTS Optional element
|
|--PRO_E_TOOL
|
|--PRO_E_CUSTOM_CYCLE
|
|--PRO_E_MFG_PARAMS
| |
| |--PRO_E_MFG_PARAM
| |
| |--PRO_E_MFG_PARAM_NAME
| |
| |--PRO_E_MFG_PARAMVAL
|
|--PRO_E_CSYS
|
|--PRO_E_RETRACT
|
|--PRO_E_RETRACT_SURFACE
| |
| |-- PRO_E_RETRACT_SURFACE_TYPE
| |
| |-- PRO_E_RETRACT_SURFACE_REF
| |
| |-- PRO_E_RETRACT_SURFACE_ORIENT
| |
| |-- PRO_E_RETRACT_SURFACE_VALUE
|
|
|--PRO_E_VOLUME Required for volume milling sequences
|
|--PRO_E_SURFACES Required for surface milling sequences
|
|--PRO_E_HOLESETS Required for holemaking sequences
| | (see note 6 for further description)
| |--PRO_E_HOLESET
| |
| |--PRO_E_HOLESET_ID
| |
| |--PRO_E_HOLESET_TYPE
| |
| |--PRO_E_HOLESET_START
| | |
| | |--PRO_E_HOLESET_START_TYPE
| | |
| | |--PRO_E_HOLESET_START_SURFACE
| |
| |--PRO_E_HOLESET_END
| | |
| | |--PRO_E_HOLESET_END_TYPE
| | |
| | |--PRO_E_HOLESET_END_MEASURE_BY
| | |
| | |--PRO_E_HOLESET_END_SURFACE
| | |
| | |--PRO_E_HOLESET_DEPTH_VALUE
| | |
| | |--PRO_E_HOLESET_CSINK_DIAM
| | |
| | |--PRO_E_HOLESET_USE_BRKOUT_DIST
| |
| |--PRO_E_HOLESET_DEPTH
| | |
| | |--PRO_E_HOLESET_DEPTH_TYPE
| | |
| | |--PRO_E_HOLESET_DEPTH_BY_TYPE
| | |
| | |--PRO_E_HOLESET_DEPTH_PLATES
| | | |
| | | |--PRO_E_HOLESET_DEPTH_PLATE
| | | |
| | | |--PRO_E_HOLESET_PLATE_START
| | | |
| | | |--PRO_E_HOLESET_PLATE_END
| | | |
| | | |--PRO_E_HOLESET_PLATE_DEPTH
| | | |
| | | |--PRO_E_HOLESET_PLATE_CDIAM
| | | |
| | | |--PRO_E_HOLESET_PLATE_BRKOUT
| | |
| | |--PRO_E_HOLESET_EDGE_BREAK
| |
| |--PRO_E_HOLESET_CUSTOM_CYCLE_PLATES
| | |
| | |--PRO_E_HOLESET_CUSTOM_CYCLE_REFERENCES
| | | |
| | | |--PRO_E_HOLESET_CUSTOM_CYCLE_REF
| | | |
| | | |--PRO_E_HOLESET_CUSTOM_CYCLE_PLATE_NAME
| | | |
| | | |--PRO_E_HOLESET_CUSTOM_CYCLE_REF_OPT
| | | |
| | | |--PRO_E_HOLESET_CUSTOM_CYCLE_REF_SEL
| | | |
| | | |--PRO_E_HOLESET_CUSTOM_CYCLE_REF_Z_OFFSET
| | |
| | |--PRO_E_HOLESET_CUSTOM_CYCLE_VARIABLES
| | |
| | |--PRO_E_HOLESET_CUSTOM_CYCLE_VAR
| | |
| | |--PRO_E_HOLESET_CUSTOM_CYCLE_PLATE_NAME
| | |
| | |--PRO_E_HOLESET_CUSTOM_CYCLE_VAR_VALUE
| |
| |--PRO_E_DRILL_PART_DATA
| | |
| | |--PRO_E_DRILL_PARTS
| | |
| | |--PRO_E_AUTO_SEL_DRILL_PARTS
| |
| |--PRO_E_HOLESET_SELECTION_RULES
| | |
| | |--PRO_E_HOLESET_SEL_BY_TABLE
| | |
| | |--PRO_E_HOLESET_SEL_PNTS_ON_SURFACES
| | |
| | |--PRO_E_HOLESET_SEL_INDIV_PNTS
| | |
| | |--PRO_E_HOLESET_SEL_PNTS_BY_FEATURE
| | |
| | |--PRO_E_HOLESET_SEL_PROJECT_SURFACES
| | |
| | |--PRO_E_HOLESET_SEL_MAX_PROJECT_DIST
| | |
| | |--PRO_E_HOLESET_SEL_UNSEL_PNTS
| | |
| | |--PRO_E_HOLESET_SEL_BY_TABLE
| | |
| | |--PRO_E_HOLESET_SEL_AUTO_CHAMFER
| | |
| | |--PRO_E_HOLESET_SEL_INDIV_AXES
| | |
| | |--PRO_E_HOLESET_SEL_UNSEL_AXES
| | |
| | |--PRO_E_HOLESET_SEL_AXIS_PATTS
| | |
| | |--PRO_E_HOLESET_SEL_DRILL_GROUPS
| | |
| | |--PRO_E_HOLESET_SEL_BY_DIAMETERS
| | |
| | |--PRO_E_HOLESET_SEL_BY_SURFACES
| | |
| | |--PRO_E_HOLESET_SEL_BY_PARAMS
| | |
| | |--PRO_E_HOLESET_SEL_BY_PARAM
| | |
| | |--PRO_E_HOLESET_SEL_PARAM_NAME
| | |
| | |--PRO_E_HOLESET_SEL_PARAM_VAL
| | |
| | |--PRO_E_HOLESET_SEL_PARAM_REL
| |
| |--PRO_E_HOLESET_TIP_CTRL_PNT
| |
| |--PRO_E_HOLESET_START_HOLE
| |
| |--PRO_E_HOLESET_UNFLIPPED_AXES
| |
| |--PRO_E_HOLESET_FLIPPED_AXES
|
|--PRO_E_REF_NCSEQ
|
|--PRO_E_NCL_COMMANDS
| |
| |--PRO_E_NCL_COMMAND
|
|--PRO_E_STOCK_BOUND_COMP
| |
| |--PRO_E_STOCK_BOUND_SKETCH
| |
| |--PRO_E_STOCK_BOUND_WP_SEL
|
|--PRO_E_TURN_PROF_COMP
| |
| |--PRO_E_TURN_PROF_CRV
| |
| |--PRO_E_TURN_PROF_ST_EXT
| |
| |--PRO_E_TURN_PROF_EN_EXT
|
|--PRO_E_START
|
|--PRO_E_END
NC Sequence Elements Table
--------------------------------------------------------------------------------
Element Id Element Name Data Type Valid Values
(PRO_VALUE_TYPE)
--------------------------------------------------------------------------------
PRO_E_FEAT_TYPE Feature type INT PRO_FEAT_MILL
PRO_FEAT_DRILL
PRO_E_NCSEQ_TYPE NC Sequence Type INT ProNcseqType
PRO_E_HOLEMAKING_TYPE Holemaking type INT ProHolemakingType
PRO_E_HOLE_CYCLE_TYPE Holemaking cycle INT ProHolemakingCycleType
type
PRO_E_PECK_TYPE Peck type INT ProHolemakingPeckType
PRO_E_DRILL_MODE Drill Mode INT ProHolemakingMode
PRO_E_NUM_AXES Number of axes INT See note 1
PRO_E_MACH_HEAD Machine head INT ProMachHead
PRO_E_TURN_OPTION turn option type INT ProTurnOptionType
PRO_E_OPERATION Mfg operation INT Operation feature id
PRO_E_FIXTURE Fixture setup INT Fixture setup feature
id
PRO_E_FEAT_NAME Feature Name WSTRING Feature name
PRO_E_COMMENTS Comments WSTRING ARRAY Paragraph of text
PRO_E_TOOL Tool WSTRING Tool ID
PRO_E_CUSTOM_CYCLE Cycle Type WSTRING Customized cycle Name
PRO_E_MFG_PARAMS Sequence params ARRAY
PRO_E_MFG_PARAM Mfg param COMPOUND
PRO_E_MFG_PARAM_NAME Mfg param name STRING User-visible
mfg param names
PRO_E_MFG_PARAMVAL Mfg param value INT/DOUBLE/WSTRING See note 2
PRO_E_CSYS Sequence Csys SELECTION NC Seq Csys selection
PRO_E_RETRACT Retraction Plane INT Retraction plane id
PRO_E_RETRACT_SURFACE Retraction Surface COMPOUND See note 9
PRO_E_RETRACT_SURFACE_TYPE INT ProRetractSurfaceType
PRO_E_RETRACT_SURFACE_REF SELECTION See note 9
PRO_E_RETRACT_SURFACE_ORIENT INT ProRetractSurfaceOrient
PRO_E_RETRACT_SURFACE_VALUE DOUBLE See note 9
PRO_E_VOLUME Volume INT Volume base feature id
PRO_E_SURFACES Surfaces POINTER Pointer using API
PRO_E_START Sequence start point SELECTION See note 3
PRO_E_END Sequence end point SELECTION See note 3
PRO_E_HOLESETS Hole Sets ARRAY See notes 4 and 6
PRO_E_HOLESET COMPOUND
PRO_E_HOLESET_ID INT
PRO_E_HOLESET_TYPE INT ProHolesetType
PRO_E_HOLESET_START COMPOUND
PRO_E_HOLESET_START_TYPE INT ProDrillStartType
PRO_E_HOLESET_START_SURFACE SELECTION surfaces/quilts
PRO_E_HOLESET_END COMPOUND
PRO_E_HOLESET_END_TYPE INT ProDrillEndType
PRO_E_HOLESET_END_MEASURE_BY INT ProDrillDepthByType
PRO_E_HOLESET_END_SURFACE SELECTION surfaces/quilts
PRO_E_HOLESET_DEPTH_VALUE DOUBLE positive numbers
PRO_E_HOLESET_CSINK_DIAM DOUBLE positive numbers
PRO_E_HOLESET_USE_BRKOUT_DIST BOOLEAN
PRO_E_HOLESET_DEPTH COMPOUND
PRO_E_HOLESET_DEPTH_BY_TYPE INT ProDrillDepthByType
PRO_E_HOLESET_DEPTH_TYPE INT ProDrillDepthType
PRO_E_HOLESET_DEPTH_PLATES ARRAY
PRO_E_HOLESET_DEPTH_PLATE COMPOUND
PRO_E_HOLESET_PLATE_START SELECTION surfaces/quilts
PRO_E_HOLESET_PLATE_END SELECTION surfaces/quilts
PRO_E_HOLESET_PLATE_DEPTH DOUBLE positive numbers
PRO_E_HOLESET_PLATE_CDIAM DOUBLE positive numbers
PRO_E_HOLESET_PLATE_BRKOUT BOOLEAN
PRO_E_DRILL_PART_DATA COMPOUND
PRO_E_HOLESET_EDGE_BREAK DOUBLE positive numbers
PRO_E_DRILL_PARTS SELECTION ARRAY solids
PRO_E_AUTO_SEL_DRILL_PARTS BOOLEAN
PRO_E_HOLESET_SELECTION_RULES COMPOUND
PRO_E_HOLESET_SEL_PNTS_ON_SURFACES SELECTION ARRAY surfaces
PRO_E_HOLESET_SEL_INDIV_PNTS SELECTION ARRAY points
PRO_E_HOLESET_SEL_UNSEL_PNTS SELECTION ARRAY points
PRO_E_HOLESET_SEL_PNTS_BY_FEATURE SELECTION ARRAY datum point featuress
PRO_E_HOLESET_SEL_PROJECT_SURFACES SELECTION ARRAY surfaces
PRO_E_HOLESET_SEL_MAX_PROJECT_DIST DOUBLE positive numbers
PRO_E_HOLESET_SEL_AUTO_CHAMFER BOOLEAN
PRO_E_HOLESET_SEL_INDIV_AXES SELECTION ARRAY axes
PRO_E_HOLESET_SEL_UNSEL_AXES SELECTION ARRAY axes
PRO_E_HOLESET_SEL_AXIS_PATTS SELECTION ARRAY axes
PRO_E_HOLESET_SEL_DRILL_GROUPS INT ARRAY drill group feature ids
PRO_E_HOLESET_SEL_BY_DIAMETERS DOUBLE ARRAY positive numbers
PRO_E_HOLESET_SEL_BY_TABLE COMPOUND
PRO_E_HOLESET_SEL_BY_SURFACES SELECTION ARRAY surfaces
PRO_E_HOLESET_SEL_BY_PARAMS ARRAY
PRO_E_HOLESET_SEL_BY_PARAM COMPOUND
PRO_E_HOLESET_SEL_PARAM_NAME WSTRING
PRO_E_HOLESET_SEL_PARAM_VAL INT/BOOL/DOUBLE/WSTRING
PRO_E_HOLESET_SEL_PARAM_REL INT ProHolesetParamRels
PRO_E_HOLESET_TIP_CTRL_PNT INT
PRO_E_HOLESET_START_HOLE SELECTION
PRO_E_HOLESET_UNFLIPPED_AXES SELECTION ARRAY axes See note 7.
PRO_E_HOLESET_FLIPPED_AXES SELECTION ARRAY axes See note 7.
PRO_E_HOLESET_CUSTOM_PLATES ARRAY
PRO_E_HOLESET_CUSTOM_PLATE COMPOUND
PRO_E_HOLESET_CUSTOM_REFERENCE BOOLEAN
PRO_E_HOLESET_CUSTOM_SURFACE SELECTION surfaces
PRO_E_HOLESET_CUSTOM_REF_ID INT
PRO_E_HOLESET_CUSTOM_Z_OFFSET DOUBLE positive numbers
PRO_E_HOLESET_CUSTOM_VALUE DOUBLE
PRO_E_HOLESET_CUSTOM_CYCLE_PLATES COMPOUND
PRO_E_HOLESET_CUSTOM_CYCLE_REFERENCES ARRAY
PRO_E_HOLESET_CUSTOM_CYCLE_REF COMPOUND
PRO_E_HOLESET_CUSTOM_CYCLE_PLATE_NAME WSTRING
PRO_E_HOLESET_CUSTOM_CYCLE_REF_OPT INT ProCustomRefOption
PRO_E_HOLESET_CUSTOM_CYCLE_REF_SEL SELECTION surfaces/quilts
PRO_E_HOLESET_CUSTOM_CYCLE_REF_Z_OFFSET DOUBLE positive numbers
PRO_E_HOLESET_CUSTOM_CYCLE_VARIABLES ARRAY
PRO_E_HOLESET_CUSTOM_CYCLE_VAR COMPOUND
PRO_E_HOLESET_CUSTOM_CYCLE_PLATE_NAME WSTRING
PRO_E_HOLESET_CUSTOM_CYCLE_VAR_VALUE DOUBLE positive numbers
PRO_E_HOLES Holes POINTER See note 5.
PRO_E_NCL_COMMANDS ARRAY
PRO_E_REF_NCSEQ INT
PRO_E_STOCK_BOUND COMPOUND
PRO_E_STOCK_BOUND_SKETCH POINTER Sketch section
PRO_E_STOCK_BOUND_WP_SEL SELECTION workpiece selection
PRO_E_TURN_PROF COMPOUND
PRO_E_TURN_PROF_CRV int turn profile feature id
PRO_E_TURN_PROF_ST_EXT int turn profile start
extension direction
PRO_E_TURN_PROF_EN_EXT int turn profile end
extension direction
( Both have values of type ProTurnProfExtType )
--------------------------------------------------------------------------------
NOTES:
1. The range of valid num axes is dependent on the sequence's workcell.
Please refer to the manufacturing user's guide for valid settings in
the user interface.
2. This type of element can have an integer value, a double value or a
wide string value. Please refer to manufacturing user's guide for
appropriate values.
------------------------------------------------
User Interface Programmatic Value
------------------------------------------------
2 axis 2
3 axis 3
4 axis 4
5 axis 5
3. Selection should be initialized to the datum point's identifier
(NOT the feature identifier!).
4. PRO_E_HOLESETS gives much more powerful control than PRO_E_HOLES, but its
support of drill points sets is still limited. Through PRO_E_HOLESETS it
is possible to determine which drill point sets exist in a feature, delete
them, or overwrite them with drill axes sets.
5. PRO_E_HOLES is provided solely for compatibility with old code. Such code
should be updated to the more complete and easier to use PRO_E_HOLESETS
element.
6. Adequate descriptions for the PRO_E_HOLESETS sub-elements could not be
fit into the element tree above and are therefore given here. Note that
basic element type information is still found in the table above.
PRO_E_HOLESETS contains data for all sequence holesets
PRO_E_HOLESET data for a single holeset
PRO_E_HOLESET_ID id of a holeset
PRO_E_HOLESET_TYPE type of a holeset
PRO_E_HOLESET_DEPTH depth data for a holeset of a web drilling
PRO_E_HOLESET_DEPTH_BY_TYPE whether depth is calculated by the tool's
tip or its shoulder
PRO_E_HOLESET_DEPTH_TYPE depth algorithm to use
PRO_E_HOLESET_DEPTH_PLATES set of PRO_E_HOLESET_DEPTH_PLATE elements
- not used for auto or thru-all depth
types
- contains only one pair if not web
drilling
PRO_E_HOLESET_DEPTH_PLATE start and end feed height data; contains
PRO_E_HOLESET_PLATE_START and one of the
following:
PRO_E_HOLESET_PLATE_END
PRO_E_HOLESET_PLATE_DEPTH
PRO_E_HOLESET_PLATE_CDIAM
may also optionally contain
PRO_E_HOLESET_PLATE_BRKOUT
PRO_E_HOLESET_PLATE_START starting surface or quilt
PRO_E_HOLESET_PLATE_END ending surface of quilt
PRO_E_HOLESET_PLATE_DEPTH depth to drill from start
PRO_E_HOLESET_PLATE_CDIAM countersink diameter (applicable to
countersink sequences only)
PRO_E_HOLESET_PLATE_BRKOUT whether to drill an additional
BREAKOUT_DISTANCE [a manufacturing sequence
parameter] deeper (not applicable to
countersink sequences)
PRO_E_HOLESET_EDGE_BREAK amount by which to break edges for a by
edge-break holeset (applicable to
countersink sequences only)
PRO_E_HOLESET_START drilling start data for a holeset
PRO_E_HOLESET_START_TYPE start surface algorithm to use
PRO_E_HOLESET_START_SURFACE starting surface or quilt
PRO_E_HOLESET_END depth data for a holeset
PRO_E_HOLESET_END_TYPE depth algorithm to use
PRO_E_HOLESET_END_MEASURE_BY whether depth is calculated by the tool's
tip or its shoulder
PRO_E_HOLESET_END_SURFACE ending surface of quilt
PRO_E_HOLESET_DEPTH_VALUE depth to drill from start
PRO_E_HOLESET_CSINK_DIAM countersink diameter (applicable to
countersink sequences only)
PRO_E_HOLESET_USE_BRKOUT_DIST whether to drill an additional
BREAKOUT_DISTANCE [a manufacturing sequence
parameter] deeper (not applicable to
countersink sequences)
PRO_E_DRILL_PART_DATA which parts to consider for auto and
thru-all depth calculations
PRO_E_DRILL_PARTS a list of individual parts
PRO_E_AUTO_SEL_DRILL_PARTS whether to select all appropriate parts
automatically; if true PRO_E_DRILL_PARTS is
ignored
PRO_E_HOLESET_SELECTION_RULES rules by which to select axes/points;
point and axes rules should not be mixed.
whether you can use point or axes will
be decided by PRO_E_HOLESET_TYPE.
except as noted below, axes must satisfy
all specified rules in order to be selected
PRO_E_HOLESET_SEL_PNTS_ON_SURFACES select points which lie on selected
surfaces
PRO_E_HOLESET_SEL_INDIV_PNTS individual point selections
PRO_E_HOLESET_SEL_PNTS_BY_FEATURE individual datum point feature selections
PRO_E_HOLESET_SEL_PROJECT_SURFACES required only for five-axis, and if
we have some individual point selection.
point will be allowed only if it lie
on the surface, and surface normal will
be user for drilling direction.
PRO_E_HOLESET_SEL_MAX_PROJECT_DIST accuracy used to determine whether a
point lie on a surface.
PRO_E_HOLESET_SEL_UNSEL_PNTS individual points to exclude; reject even
if selected by feature/surface rule.
PRO_E_HOLESET_SEL_AUTO_CHAMFER select axes with chamfers matching the
sequence's tool (countersink sequences only)
PRO_E_HOLESET_SEL_INDIV_AXES individual axis selections; axes selected
this way do not have to meet other selection
criteria
PRO_E_HOLESET_SEL_UNSEL_AXES individual axes to exclude; reject even if
selected by another rule
PRO_E_HOLESET_SEL_AXIS_PATTS axis pattern selections; axes selected this
way do not have to meet other selection
criteria
PRO_E_HOLESET_SEL_DRILL_GROUPS select axes contained in drill groups
PRO_E_HOLESET_SEL_BY_DIAMETERS select axes for surfaces of given diameters
PRO_E_HOLESET_SEL_BY_TABLE whether hole selection is by auto hole table
PRO_E_HOLESET_SEL_BY_SURFACES select axes of holes on given surfaces
PRO_E_HOLESET_SEL_BY_PARAMS select axes of features which match one of
the specified parameter criteria
PRO_E_HOLESET_SEL_BY_PARAM a parameter criteria
PRO_E_HOLESET_SEL_PARAM_NAME parameter name
PRO_E_HOLESET_SEL_PARAM_VAL parameter value
PRO_E_HOLESET_SEL_PARAM_REL criteria relation
PRO_E_HOLESET_START_HOLE hole to drill first
PRO_E_HOLESET_UNFLIPPED_AXES list of axes that should be drilled as per
orientation of the axis entities; see note 7
PRO_E_HOLESET_FLIPPED_AXES list of axes that should be drilled opposite
of the orientation of the axis entities;
see note 7
7. The elements PRO_E_HOLESET_FLIPPED_AXES and PRO_E_HOLESET_UNFLIPPED_AXES
only apply to 5-axis drilling. In 5-axis drilling, the system will attempt
(usually successfully) to determine the appropriate machining approach
directions for all selected axes whose approach direction is not specified
by these elements. These elements therefore usually do not need to be
specified. NOTE: Axes listed by these elements are only drilled if they
meet the critera specified by PRO_E_HOLESET_SELECTION_RULES.
8. The PRO_NCSEQ_TRAJ_MILL NC Sequence type is not fully supported in
Creo Parametric TOOLKIT yet.
9. PRO_E_RETRACT_SURFACE can be used instead of PRO_E_RETRACT.
--------------------------------------------------------
PRO_E_RETRACT_SURFACE_TYPE | PRO_E_RETRACT_SURFACE_REF
--------------------------------------------------------
PRO_RETRACT_SURFACE_PLANE | csys,face(plane)
PRO_RETRACT_SURFACE_CYLINDER | axis,csys
PRO_RETRACT_SURFACE_SPHERE | point,csys
PRO_E_RETRACT_SURFACE_ORIENT is applicable to
PRO_RETRACT_SURFACE_CYLINDER only.
PRO_E_RETRACT_SURFACE_VALUE is an offset for PRO_E_RETRACT_SURFACE_PLANE and
a radius for PRO_RETRACT_SURFACE_CYLINDER or
PRO_RETRACT_SURFACE_SPHERE
\******************************************************************************/
PRO_BEGIN_C_DECLS
typedef struct pro_model_item ProNcseq;
typedef enum Pro_HolemakingCycleType {
PRO_HOLE_MK_CYCLE_STD = 4,
PRO_HOLE_MK_CYCLE_DEEP = 5,
PRO_HOLE_MK_CYCLE_FIXED = 7,
PRO_HOLE_MK_CYCLE_FLOATING = 11,
PRO_HOLE_MK_CYCLE_BREAK_CHIP = 12,
PRO_HOLE_MK_CYCLE_WEB = 15,
PRO_HOLE_MK_CYCLE_BACK = 17
} ProHolemakingCycleType;
typedef enum Pro_HolemakingPeckType {
PRO_HOLE_MK_PECK_DEFAULT = -1,
PRO_HOLE_MK_PECK_CONSTANT = 0,
PRO_HOLE_MK_PECK_VARIABLE = 14
} ProHolemakingPeckType;
typedef enum Pro_HolesetParamRels {
PRO_HOLESET_PARAM_REL_EQUAL = 1,
PRO_HOLESET_PARAM_REL_NOT_EQUAL = 2,
PRO_HOLESET_PARAM_REL_LARGER = 3,
PRO_HOLESET_PARAM_REL_SMALLER = 4
} ProHolesetParamRels;
typedef enum Pro_TurnProfExtType {
PRO_E_TURN_PROF_EXT_NONE = 0,
PRO_E_TURN_PROF_EXT_PARALLEL = 1,
PRO_E_TURN_PROF_EXT_PERPEND = 2
} ProTurnProfExtType;
typedef enum Pro_TurnProfMaterialSide {
PRO_E_TURN_PROF_MAT_ON_RIGHT = 0,
PRO_E_TURN_PROF_MAT_ON_LEFT = 1
} ProTurnProfMaterialSide;
typedef enum Pro_RetractSurfaceType {
PRO_RETRACT_SURFACE_UNDEF_TYPE = -1,
PRO_RETRACT_SURFACE_PLANE = 0,
PRO_RETRACT_SURFACE_CYLINDER = 1,
PRO_RETRACT_SURFACE_SPHERE = 2,
PRO_RETRACT_SURFACE_REVOLVED = 3
} ProRetractSurfaceType;
typedef enum Pro_RetractSurfaceOrient {
PRO_RETRACT_SURFACE_UNDEF_DIR = -1,
PRO_RETRACT_SURFACE_X_DIR = 0,
PRO_RETRACT_SURFACE_Y_DIR = 1,
PRO_RETRACT_SURFACE_Z_DIR = 2
} ProRetractSurfaceOrient;
/* PRO_HOLE_MK_ON_MILL = 0 represent drilling on mill for 5-axis_mil_turn &
PRO_HOLE_MK_ON_TURN = 1 represent drilling on turn for 5-axis_mil_turn*/
typedef enum Pro_HolemakingMode {
PRO_HOLE_MK_ON_MILL = 0,
PRO_HOLE_MK_ON_TURN = 1
} ProHolemakingMode;
extern ProError ProFeatureIsNcseq (PRO_CONST_ARG ProFeature *feat,
ProBoolean *p_is_ncseq);
/*
Purpose: Determines whether a feature is an NC sequence.
Input Arguments:
feat - The handle to a feature.
Output Arguments:
p_is_ncseq - This is PRO_B_TRUE if the feature is an NC sequence.
Otherwise, this is PRO_B_FALSE.
Return Values:
PRO_TK_NO_ERROR - The function successfully retrieved the information.
PRO_TK_BAD_INPUTS - The input argument is invalid.
PRO_TK_INVALID_TYPE - The specified handle is not a feature.
*/
extern ProError ProNcseqTypeGet ( PRO_CONST_ARG ProNcseq *seq,
ProLine r_type_name);
/*
Purpose: Retrieves the type name of the specified NC sequence.
Input Arguments:
seq - The handle to an NC sequence feature
Output Arguments:
r_type_name - The type name of the NC sequence
Return Values:
PRO_TK_NO_ERROR - The function successfully retrieved the information.
PRO_TK_BAD_INPUTS - The input argument is invalid.
See Also:
ProFeatureIsNcseq()
*/
extern ProError ProNcseqNumGet ( PRO_CONST_ARG ProNcseq *seq,
int *r_seq_num);
/*
Purpose: Retrieves the number of the specified NC sequence.
Input Arguments:
seq - The handle to an NC sequence feature
Output Arguments:
r_seq_num - The number of the NC sequence
Return Values:
PRO_TK_NO_ERROR - The function successfully retrieved the information.
PRO_TK_BAD_INPUTS - The input argument is invalid.
See Also:
ProFeatureIsNcseq()
*/
extern ProError ProNcseqCutTimeGet ( PRO_CONST_ARG ProNcseq *seq,
double *r_time);
/*
Purpose: Retrieves the cutting time for the specified NC sequence feature.
Input Arguments:
seq - The handle to an NC sequence feature
Output Arguments:
r_time - The cutting time
Return Values:
PRO_TK_NO_ERROR - The function successfully retrieved the information.
PRO_TK_E_NOT_FOUND - The cutting time information was not present.
PRO_TK_BAD_INPUTS - The input argument is invalid.
See Also:
ProFeatureIsNcseq()
*/
extern ProError ProNcseqRemovedVolGet (PRO_CONST_ARG ProNcseq *seq,
double *r_vol);
/*
Purpose: Retrieves the volume of material removed by the specified NC
sequence feature.
Input Arguments:
seq - The handle to an NC sequence feature
Output Arguments:
r_vol - The volume of material removed
Return Values:
PRO_TK_NO_ERROR - The function successfully retrieved the information.
PRO_TK_E_NOT_FOUND - The data for the volume of material removed was
not present.
PRO_TK_BAD_INPUTS - The input argument is invalid.
See Also:
ProFeatureIsNcseq()
*/
extern ProError ProNcseqToolpathDisplay ( PRO_CONST_ARG ProNcseq *seq);
/*
Purpose: Displays the toolpath of the specified NC sequence on the screen.
Input Arguments:
seq - The handle to an NC sequence feature
Output Arguments:
none
Return Values:
PRO_TK_NO_ERROR - The function successfully retrieved the information.
PRO_TK_GENERAL_ERROR - The toolpath display failed.
PRO_TK_BAD_INPUTS - The argument is invalid.
See Also:
ProFeatureIsNcseq()
*/
PRO_END_C_DECLS
#endif /* PRONCSEQ_H */