Forming the tool path in geometric axes
INCT_GeomCLData - a CAM system interface that implements the commands of forming the tool path in geometric axes.
Description of the interface methods:
| Method | Method description | Description of use |
|---|---|---|
| SetSystemUnits | The method sets the project units. Input parameter: Units (TNCSystemMeasure): smMetrics - metric; | To interpret commands like G20, G21 in ISO code. |
| SetFeedrateUnits | The method sets the feed units. Input parameter: Units (TNCFeedrateMeasure): fmMMPerMinute - mm per minute; | To interpret commands like G700, G710 for the Sinumerik controller. |
| GetSystemUnits | The function returns the project units (TNCSystemMeasure). | |
| GetFeedrateUnits | The function returns the current feed units (TNCFeedrateMeasure). | |
| OutStandardFeed | The method adds to the tool path a command that changes the feed to a standard one. Input parameter: Feed (TNCFeedType) - feed type: ffWorking - working; The feed value of each type is set on the 'Feeds/Speeds' tab of the operation in the CAM system. | To interpret commands like G00 (Rapid) / G01 (Working) in ISO code. |
| OutFeed | The method adds to the tool path a feed change command with the specified type and value. Input parameters: Feed (TNCFeedType) - feed type (see OutStandardFeed); Value (real number) - feed value; MPM (boolean) - feed units flag: True - mm/min, False - mm/rev. | To interpret commands like F in ISO code. |
| SetCurrentPlane | The method adds to the tool path a command that changes the current plane to the specified one. Input parameter: Plane (TNCPlaneType) - plane type: ptXY - XY plane; | To interpret commands like G17-G19 in ISO code. |
| AddSpindleSpeedOnRPM | The method adds to the tool path a command that turns on the active spindle with the specified speed in revolutions per minute. If the spindle is already on, its speed is changed to the specified one. Input parameters: RPM (real number) - spindle speed in revolutions per minute; Range (integer) - spindle speed range number; Direction (boolean) - rotation direction (True - clockwise CW, False - counterclockwise CCW). | To interpret commands like S in ISO code. |
| AddSpindleSpeedOnCSS | The method adds to the tool path a command that turns on the active spindle with constant cutting speed. If the spindle is already on, its mode and speed are changed to the specified ones. Input parameters: CSS (real number) - constant cutting speed; MaxRPM (real number) - maximum spindle speed; Range (integer) - spindle speed range number; Direction (boolean) - rotation direction (True - clockwise CW, False - counterclockwise CCW). | To interpret commands like G96 for the Sinumerik controller. |
| AddSpindleOff | The method adds to the tool path a command that turns off the active spindle. No input or output parameters. | To interpret commands like M05 in ISO code. |
| AddSpindleOrient | The method adds to the tool path an oriented stop command of the active spindle. Input parameter: OrientationAngle (real number) - spindle rotation angle. | |
| AddOpStop | The method adds to the tool path an optional stop command of the NC program. When the optional stop block is reached, the program execution is interrupted only if the corresponding mode is turned on in the CNC controller. If this mode is off, the program execution is not interrupted. No input or output parameters. | To interpret commands like M01 in ISO code. |
| AddCoolant | The method adds to the tool path a command that turns the machine coolant systems on or off. Input parameters: OnOff (boolean) - True - on, False - off; PipeNumber (integer) - number of the coolant pipe (1 - flood, 2 - mist, 3 - through the tool). | To interpret commands like M08/M09 in ISO code. |
| AddDelay | The method adds to the tool path a command that pauses the program execution for the specified time. Input parameter: Value (real number) - dwell time in seconds. | To interpret commands like G04 in ISO code. |
| AddLengthCompensation | The method adds to the tool path a tool length compensation command with the specified parameters. Input parameters: Mode (TNCLengthCompensationMode) - mode: lcOff - turn off the tool length compensation; lcOn - turn on the positive tool length compensation; lcOnNegative - turn on the negative tool length compensation. | To interpret commands like G43, G44, G49, H in ISO code. |
| AddLengthCompensationValue | The method adds to the tool path a tool length compensation command with the specified parameters. Input parameters: Mode, OffsetNumber (see AddLengthCompensation); Value (real number) - tool length offset value. Attention! In the current version the function works like AddLengthCompensation, without the possibility to set the value. | |
| AddLengthCompensationWithSpecifiedAxis | The method adds to the tool path a tool length compensation command with the specified parameters. Input parameters: Mode (see AddLengthCompensation); SpecifiedAxis (integer) - number of the axis along which the length compensation is made; OffsetNumber (see AddLengthCompensation). Attention! In the current version the function works like AddLengthCompensation, without the possibility to select the axis. | To interpret commands like G43 (together with G17-G19) in ISO code. |
| AddRadiusCompensation | The method adds to the tool path a tool radius compensation command with the specified parameters. Input parameters: Mode (TNCRadiusCompensationMode) - mode: rcOff - turn off the tool radius compensation; rcLeft - turn on the tool radius compensation on the left; rcRight - turn on the tool radius compensation on the right. | To interpret commands like G41, G42, D in ISO code. |
| AddRadiusCompensationValue | The method adds to the tool path a tool radius compensation command with the specified parameters. Input parameters: Mode, OffsetNumber (see AddRadiusCompensation); Value, Value2 (real number) - tool radius offset values. Attention! In the current version the function works like AddRadiusCompensation, without the possibility to set the value. | |
| CutTo3d | The method adds to the tool path a command of linear tool movement to the specified point. Input parameter: P (TNC3DPoint) - coordinates of the point. | To interpret commands like G00/G01 X Y Z (CutTo3d) or G00/G01 X Y Z A B C (CutTo5d, CutTo6d) in ISO code. |
| CutTo5d | The method adds to the tool path a command of linear tool movement to the specified point with the specified tool direction. Input parameters: P (TNC3DPoint) - coordinates of the point; N (TNC3DPoint) - tool normal vector in the part coordinate system. | |
| CutTo6d | The method adds to the tool path a command of linear tool movement to the specified position with the specified tool orientation. Input parameter: P (TNC3DMatrix) - tool position and orientation in the part coordinate system. TNC3DMatrix - homogeneous 4×4 matrix with the fields vX, A, vY, B, vZ, C, vT, D: vX, vY, vZ (TNC3DPoint) - directions of the tool coordinate system axes (vZ - tool axis); vT (TNC3DPoint) - tool position (X, Y, Z); A, B, C (real number) - 0; D (real number) - 1. | |
| ArcTo2d | The method adds to the tool path a command of tool movement along a circular arc with the specified parameters. Input parameters: Pe (TNC3DPoint) - arc end point (X, Y, Z); Pc (TNC3DPoint) - arc center (X, Y, Z); Plane (TNCPlaneType, see SetCurrentPlane) - arc plane; R (real number) - arc radius (greater than zero for counterclockwise rotation, less than zero for clockwise rotation); CanBeFull (boolean) - the arc can be a full circle. | To interpret commands like G02/G03 X Y Z I J K R in ISO code. |
| ArcTo3d | The method adds to the tool path a command of tool movement along a circular arc with the specified parameters. Input parameters: Pe (TNC3DPoint) - arc end point (X, Y, Z); Pc (TNC3DPoint) - arc center (X, Y, Z); Nc (TNC3DPoint) - normal vector of the arc plane; R (real number) - arc radius (greater than zero for counterclockwise rotation, less than zero for clockwise rotation); CanBeFull (boolean) - the arc can be a full circle. | |
| ArcTo5d | The method adds to the tool path a command of tool movement along a circular arc with the specified parameters. Input parameters: Pe (TNC3DPoint) - arc end point (X, Y, Z); Ne (TNC3DPoint) - tool normal vector at the end point in the part coordinate system; Pc (TNC3DPoint) - arc center (X, Y, Z); Nc (TNC3DPoint) - normal vector of the arc plane; R (real number) - arc radius (greater than zero for counterclockwise rotation, less than zero for clockwise rotation); CanBeFull (boolean) - the arc can be a full circle. | |
| ArcTo6d | The method adds to the tool path a command of tool movement along a circular arc with the specified parameters. Input parameters: Pe (TNC3DMatrix) - tool position and orientation at the arc end point in the part coordinate system (for the type, see CutTo6d); Pc (TNC3DPoint) - arc center (X, Y, Z); Nc (TNC3DPoint) - normal vector of the arc plane; R (real number) - arc radius (greater than zero for counterclockwise rotation, less than zero for clockwise rotation); CanBeFull (boolean) - the arc can be a full circle. | |
| GetLastPosition | The function returns the coordinates of the current tool position and the tool normal vector relative to the part coordinate system. No input parameters. Output parameters: P (TNC3DPoint) - current tool position; N (TNC3DPoint) - tool normal vector. Note: the tool position is not defined before the first movement, so check WasMovement before the call. | Used to get the current tool position. |
| WasMovement | The function returns the flag of whether the first movement has been made (boolean). True - the first movement has already been made, the current tool position can be obtained with GetLastPosition. False - no movements have been made yet. During simulation by the NC program (including ENCY Tuner) the function always returns True. | See the note to GetLastPosition. |
| CreateLinearMotionFormer | The function returns the interface of the linear movement generator (INCT_GeomLinearMotionFormer). Using the generator in the interpreter simplifies forming a linear tool path. Working with the generator is described in the article Linear movements. No input parameters. | To interpret commands like G00/G01 X Y Z in ISO code. |
| CreateCircularMotionFormer | The function returns the interface of the arc movement generator (INCT_CircularMotionFormer). Using the generator in the interpreter simplifies forming a tool path along an arc. Working with the generator is described in the article Circular movements. No input parameters. | To interpret commands like G02/G03 X Y Z I J K R in ISO code. |
| CreateDrillingCycleFormer | Depending on the specified parameter, the function returns the interface of the generator of one of the drilling cycles. Working with the generators is described in the articles Drilling cycle, Drilling cycle with shift, Drilling cycle with chip breaking. Input parameter: CycleType (TNCDrillingCycleType) - cycle type. dctSimple - simple drilling cycle; the returned generator supports only one interface: INCT_DrillingCycleFormer. | To interpret commands like G73, G74, G76, G80-89 for the Fanuc controller. |
| CreateLatheCycleFormer | Depending on the specified parameter, the function returns the interface of the generator of one of the turning cycles. Working with the generators is described in the articles Turning grooving cycle, Turning threading cycle, Turning stock removal cycle. Input parameter: CycleType (TNCLatheCycleType) - cycle type. lctGrooving - turning grooving cycle; the returned generator supports one interface: INCT_LatheGroovingCycleFormer. | To interpret commands like CYCLE93, CYCLE95, CYCLE97 for the Sinumerik controller. |