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