Overview
The StixCtlType enumeration describes the type of value
in a stack frame and is stored in the f_type
field of the
frame. The value is computed from the C++ class of the object and
other associated STEP-NC data.
Applications can use this for fine-grained decisions beyond what a event provides, such as distinguishing between a move event that is a linear move, an arc move, or a helix move.
StixCtlType Definition
enum StixCtlType { STIXCTL_TYPE_UNKNOWN = 0, STIXCTL_TYPE_PROJECT, STIXCTL_TYPE_EXEC, STIXCTL_TYPE_EXEC_ASSIGN, STIXCTL_TYPE_EXEC_IF, STIXCTL_TYPE_EXEC_NONSEQ, STIXCTL_TYPE_EXEC_PARALLEL, STIXCTL_TYPE_EXEC_SELECT, STIXCTL_TYPE_EXEC_WHILE, STIXCTL_TYPE_EXEC_WORKPLAN, STIXCTL_TYPE_EXEC_WORKSTEP, STIXCTL_TYPE_EXEC_NCFUN, STIXCTL_TYPE_EXEC_OP_COMBO, // execs that are also operations STIXCTL_TYPE_OP, STIXCTL_TYPE_OP_MILL, STIXCTL_TYPE_OP_TURN, STIXCTL_TYPE_OP_DRILL, STIXCTL_TYPE_OP_BORE, STIXCTL_TYPE_OP_BACK_BORE, STIXCTL_TYPE_OP_TAP, STIXCTL_TYPE_OP_RAPID, STIXCTL_TYPE_OP_PROBE, // probe point STIXCTL_TYPE_OP_PROBE_COMPLETE, STIXCTL_TYPE_OP_PROBE_TLEN, STIXCTL_TYPE_OP_PROBE_TRAD, STIXCTL_TYPE_TP, STIXCTL_TYPE_TP_FEEDSTOP, // feedstop STIXCTL_TYPE_TP_CUTLOC, // cutter location trajectory STIXCTL_TYPE_TP_CUTCON, // cutter contact trajectory STIXCTL_TYPE_TP_AXIS, // axis trajectory STIXCTL_TYPE_TP_ANGLE, // approach lift path angle STIXCTL_TYPE_TP_TAN, // approach lift path tangent STIXCTL_TYPE_TP_CONSEC, // connect security plane STIXCTL_TYPE_TP_CONDIR, // connect direct STIXCTL_TYPE_CURVE, STIXCTL_TYPE_MOVE, // linear move STIXCTL_TYPE_MOVE_ARC, // arc move STIXCTL_TYPE_MOVE_HELIX, // helical move STIXCTL_LAST_TYPE };
Process Type Details
The values have the STIXCTL_TYPE
prefix, and values
are further grouped by name. All of the executables (flow control
things like workplans, workingsteps, and selectives) have EXEC
names. All of the operations (the contents of a workingstep)
have OP names. All of the toolpaths have TP names. The
different individual tool movement types have MOVE names.
- STIXCTL_TYPE_UNKNOWN
- Zero value. An unrecognized object.
- STIXCTL_TYPE_PROJECT
- A STEP-NC project. This is normally the first object pushed onto the stack, followed next by the main workplan.
- STIXCTL_TYPE_EXEC
- An unrecognized executable type.
- STIXCTL_TYPE_EXEC_ASSIGN
- An assignment executable
- STIXCTL_TYPE_EXEC_IF
- An if executable
- STIXCTL_TYPE_EXEC_NONSEQ
- A nonsequential object
- STIXCTL_TYPE_EXEC_PARALLEL
- A parallel object
- STIXCTL_TYPE_EXEC_SELECT
- A selective object. As the cursor walks the process, it will push one element of the selective onto the stack next.
- STIXCTL_TYPE_EXEC_WHILE
- A while executable.
- STIXCTL_TYPE_EXEC_WORKPLAN
- A workplan object. As the cursor walks the process, it will push each element of the workplan onto the stack next.
- STIXCTL_TYPE_EXEC_WORKSTEP
- A workingstep object. As the cursor walks the process, it will push the operation of a workingstep onto the stack next, followed by each toolpath of the operation, followed by the curves of the toolpath, etc.
- STIXCTL_TYPE_EXEC_NCFUN
- One of the NC Functions defined by STEP-NC.
- STIXCTL_TYPE_EXEC_OP_COMBO
- This is used to identify an executable that is also an operation. The object will be pushed on the stack again with its appropriate "OP" type. Several types in the STEP-NC model inherit from both concepts. Probing is one and usuallyn appears as an operation in a workingstep, but might appear in a workplan directly.
- STIXCTL_TYPE_OP
- An unidentified operation type
- STIXCTL_TYPE_OP_MILL
- A STEP-NC milling operation. There are several different subtypes of milling operations.
- STIXCTL_TYPE_OP_TURN
- A STEP-NC turning operation. There are several different subtypes of turning operations.
- STIXCTL_TYPE_OP_DRILL
- A STEP-NC drilling operation. There are several different subtypes of drilling operations.
- STIXCTL_TYPE_OP_BORE
- A boring or reaming operation
- STIXCTL_TYPE_OP_BACK_BORE
- A back-boring operation
- STIXCTL_TYPE_OP_TAP
- A tapping or thread drilling operation
- STIXCTL_TYPE_OP_RAPID
- A symbolic rapid. This is both an executable and an operation, so it may also appear as an EXEC_OP_COMBO one level higher in the stack.
- STIXCTL_TYPE_OP_PROBE
- A STEP-NC point probing operation. The operation will have start and end position information, a direction vector, and an expected distance that you can get with getMoveProbe() and related functions.
- STIXCTL_TYPE_OP_PROBE_COMPLETE
- Workpiece complete probing operation
- STIXCTL_TYPE_OP_PROBE_TLEN
- Tool length probing operation
- STIXCTL_TYPE_OP_PROBE_TRAD
- Tool radius probing operation
- STIXCTL_TYPE_TP
- An unrecognized toolpath type.
- STIXCTL_TYPE_TP_FEEDSTOP
- A STEP-NC symbolic feedstop toolpath.
- STIXCTL_TYPE_TP_CUTLOC
- A STEP-NC explicit cutter location trajectory toolpath. This is the most common toolpath seen and describes the location in space of the tool tip. May also include the tool axis.
- STIXCTL_TYPE_TP_CUTCON
- A STEP-NC explicit cutter location trajectory toolpath. This is also commonly used and describe the location in space of the tool contact point plus the surface normal at that point. May also include the tool axis.
- STIXCTL_TYPE_TP_AXIS
- A STEP-NC raw axis trajectory toolpath.
- STIXCTL_TYPE_TP_ANGLE
- A STEP-NC symbolic approach lift path angle toolpath.
- STIXCTL_TYPE_TP_TAN
- A STEP-NC symbolic approach lift path tangent toolpath.
- STIXCTL_TYPE_TP_CONSEC
- A STEP-NC symbolic connect by securty plane toolpath.
- STIXCTL_TYPE_TP_CONDIR
- A STEP-NC symbolic connect direct toolpath.
- STIXCTL_TYPE_CURVE
- A toolpath curve. The position (basis) curve will be the getActiveObj() in the frame. Any other associated curves for tool axis, reference direction, surface normal, or speed profile will be auxillary objects that you can access with getActiveAux()
- STIXCTL_TYPE_MOVE
- A linear tool move. The move will have final position information that you can get with getMoveEnd().
- STIXCTL_TYPE_MOVE_ARC
- A circular tool move. The move will have start position information that you can get with getMoveStart(), an final position that you can get with getMoveEnd(), and additional radius, center, and angle parameters that you can get with getMoveArc().
- STIXCTL_TYPE_MOVE_HELIX
- A helical tool move. The move will have start position information that you can get with getMoveStart(), an final position that you can get with getMoveEnd(), and additional radius, center, and angle parameters that you can get with getMoveArc(). STEP-NC helix moves never go more than 360°
- STIXCTL_LAST_TYPE
- Not an actual type. Marker testing whether a numeric value is in the range of known types. A helpful definition for sizing arrays.
Examples
TBD