Forming of the toolpath in machine axes

INCT_CLData - SprutCAM X interface, which implements the commands for the formation of the tool path, using machine axes.

Description of interface methods:

Method

Method Description

Description of use

SetSystemUnits

The method sets the units of measurement of the project.

Input parameter: Units (TNCSystemMeasure)

smMetrics - metric;
smImperial - inch.

To interpret commands similar to G20, G21 in ISO codes.

SetFeedrateUnits

The method sets the units of measure for the feed.

Input parameter: Units (TNCFeedrateMeasure)

fmMMPerMinute - mm per minute;
fmInchPerMinute - inches per minute.

To interpret commands similar to the G700, G710 for the Heidenhain rack.

GetSystemUnits

The function returns project units of measurement (TNCSystemMeasure)


GetFeedrateUnits

The function returns the current feed units (TNCFeedrateMeasure)


AddOrigin

The method adds to the motion path a command for selecting a coordinate system by number.

Input parameter: WCSNumber (number) coordinate system number.

To interpret commands similar to G54-G57 in ISO codes.

AddOriginByShift

The method adds to the toolpath the command for shifting the coordinate system by the specified value.

Input parameter: Shift (TNC3DPoint) - the amount of displacement along the axes (X, Y, Z).

To interpret commands similar to G92 in ISO codes.

OutStandardFeed

The method adds to the toolpath the command to change the feed to the standard one.

Input parameter: Feed (TNCFeedType) - feed type:

ffWorking - working;ffRapid - rapid;
ffFirst - first;
ffEngage - engage;
ffRetract - retract;
ffPlunge - plunge;
ffFinish - finish;
ffNext - next;
ffReturn - return;
ffApproach - approach.

The feed value for each type is specified in the 'Feed' tab of the operation in SprutCAM X.

To interpret commands similar to G00 (Rapid) / G01 (Working) in ISO codes.

OutFeed

The method adds a feed change command with the specified type and value to the tool path.

Input parameters: Feed (TNCFeedType) - feed type (see OutStandardFeed), Value (number) - feed value, MPM (boolean) - sign of feed units:

True - mm per min. False- mm per turn.

To interpret commands similar to F in ISO codes.

SetCurrentPlane

The method adds a command to change the current plane to the specified one in the tool path.

Input parameter: Plane (TNCPlaneType) - plane type:

ptXY - plane XY;
ptYZ - plane YZ;
ptZX - plane ZX.

To interpret commands similar to G17-G19 in ISO codes.

GetActiveSpindle

The function returns the index of the active spindle.


SetActiveSpindle

The method changes the active spindle index to the specified one.

Input parameter: Number (integer) - spindle number, numbering starts from 0.

To interpret commands similar to SETMS for the Heidenhain rack.

AddSpindleSpeedOnRPM

The method adds a command to enable the active spindle with a given frequency in revolutions per minute to the tool path. If the spindle is already on, the spindle speed changes to the specified one.

Input parameters: RPM (number) - spindle rotation speed in revolutions per minute; Range (integer) - the number of the spindle's rotation range, Direction (boolean) - the direction of the rotation (True - clockwise CW, False - counterclockwise CCW).

To interpret commands similar to S in ISO codes.

AddSpindleSpeedOnCSS

The method adds a command to enable the active spindle with a constant cutting speed to the tool path. If the spindle is already on, the mode and speed changes to the specified one.

Input parameters: CSS (number) - the value of the constant cutting speed; MaxRPM (number) - the maximum spindle speed; Range (integer) - the number of the spindle's rotation range, Direction (logical) - the direction of the rotation (True - clockwise CW, False - counterclockwise CCW).

To interpret commands similar to the G96 for the Sinumerik rack

AddSpindleOff

The method adds a command to turn off the active spindle to the tool movement path.

There are no input and output parameters.

To interpret commands similar to M05 in ISO codes.

AddSpindleOrient

The method adds to the toolpath the command of the oriented active spindle stop.

Input Parameter: OrientationAngle (number) - the angle of rotation of the spindle.



AddStop

The method adds a command to interrupt the execution of the control program to the tool movement path. When the stop frame is reached, the execution of the G-code is interrupted.

There are no input and output parameters.

To interpret commands similar to M00 in ISO codes.

AddOpStop

The method adds an optional command to the execution of the G-code to the tool path. When an optional stop block is reached, the execution of the program is interrupted only if the corresponding mode is activated in the NC rack. When you turn off this mode, the execution of the program is not interrupted.

There are no input and output parameters.


To interpret commands similar to M01 in ISO codes.

AddCoolant

The method adds a command to enable or disable machine cooling systems to the tool movement path.

Input parameters: OnOff (logical) - True - enable, False - disable; PipeNumber (integer) - The number of the cooling pipe to be turned on (1 - liquid, 2 - fog, 3 - tool).

To interpret commands similar to M08 / M09 in ISO codes.

AddDelay

The method adds to the toolpath the command to pause the program for a specified time.

Input Parameter: Value (number) —During time in seconds.

To interpret commands similar to G04 in ISO codes.


LoadTool

The method changes the current instrument number to the specified one.

Input parameter: ToolID (integer) - tool number.

To interpret commands similar to T01 in ISO codes.

AddLengthCompensation

The method adds a tool length compensation command to the tool path with the specified parameters.

Input parameters: Mode (TNCLengthCompensationMode) - mode:

lcOff - turn off the compensation for the tool length; lcOn - enable positive compensation for the tool length;

lcOnNegative - enable negative compensation for tool length.
OffsetNumber (number) - The number of the length offset.

To interpret commands similar to G43, G44, G49, H in ISO codes.

AddLengthCompensationValue

The method adds a tool length compensation command to the tool path with the specified parameters.

Input parameters: Mode, OffsetNumber (see AddLengthCompensation); Value (number) is the tool length offset value.

Attention! In the current version, the function works in the same way as AddLengthCompensation, without the possibility of setting a value.


AddLengthCompensationWithSpecifiedAxis

The method adds a tool length compensation command to the tool path with the specified parameters.

Input parameters: Mode, OffsetNumber (see AddLengthCompensation); SpecifiedAxis (integer) - the number of the axis along which compensation is made for the length.


Attention! In the current version, the function works in the same way as AddLengthCompensation, without the possibility of selecting an axis.

To interpret commands similar to G43 (together with G17-G19) in ISO codes.

AddRadiusCompensation

The method adds a tool radius compensation command to the tool path with the specified parameters.

Input parameters: Mode (TNCRadiusCompensationMode) - mode:

rcOff - turn off tool radius compensation;

rcLeft - enable tool radius compensation to the left;

rcRight - enable tool radius compensation to the right.

OffsetNumber (number) - The number of the length offset.

To interpret commands similar to G41, G42, D in ISO codes.

AddRadiusCompensationValue

The method adds a tool radius compensation command to the tool path with the specified parameters.

Input parameters: Mode, OffsetNumber (see AddRadiusCompensation); Value (number) is the tool radius compensation value.

Attention! In the current version, the function works in the same way as AddRadiusCompensation, without the possibility of setting a value.


OpenMultiMotion

The method determines the beginning of the input of multi-axis displacements of the controlled coordinates of the machine with the specified type.

Input Parameter: GotoMode (TNCGotoMode) - type of movement:

gtmTooltip - movement relative to the current coordinate system of the workpiece; interpolation of the base axes is performed with control of the straightness of the movement path in each of the intermediate points;
gtmPhysic - movement relative to machine zeros (physical coordinates of the machine), while interpolating the basic axes of control of intermediate points of the path is not performed, only the reachability of the end point is controlled.

To interpret commands similar to G00/G01 X Y Z A B C in ISO codes (gtmTooltip).

To interpret commands similar to G53 in ISO, SUPA in Sinumerik, M91 in HEIDENHAIN (gtmPhysic).


AddMotion

The method adds movement along the specified axis to the specified coordinate.

Input parameters: AxisIndex (number) - machine axis index (controlled or physical), Value (number) - coordinate value.

Both linear and rotary axes, as well as those specific to a particular machine (tool shop, turret, cartridge, etc.) can act as controlled axes of the machine.

CloseMultiMotion

The method determines the completion of the entry of displacements and adds to the toolpath the command of multi-coordinate displacements formed as a result of the addition of displacements by the AddMotion command from the beginning of the entry of multi-coordinate displacements OpenMultiMotion.

AddCircle

The method adds to the tool path of the tool the command to move the tool along the arc of a circle with the specified parameters.

Input parameters: P (TNC3DPoint) - the end point of the arc (X, Y, Z); Pc (TNC3DPoint) - coordinate of the arc center (X, Y, Z); R (number) is the radius of the arc (the radius is greater than zero, if the rotation is counterclockwise, and the radius is less than zero, if the rotation is clockwise); Plane (TNCPlaneType, see SetCurrentPlane) - arc plane; CanBeFull (boolean) - can be closed.

The axes associated with the X, Y, Z parameters of P, Pc points are determined automatically after executing tool change commands (LoadTool) or setting an active spindle (SetActiveSpindle). You can find the indexes of the axes currently associated with the X, Y, Z parameters using the GetXYZindex function.

To interpret commands similar to G02 / G03 X Y Z I J K R in ISO codes.

OpenTooltipMotion

The method determines the beginning of the input multi-coordinate movements with the specified type.

Input parameter: Mode (TNCTooltipMode) - movement type;

tmLinear - linear movement of the tool toward a given point;

tmCircularMiddlePoint, tmCircularEndPoint — moves the tool along an arc to a given end point through the middle one;

tmPhysic - moving all of the physical axes of the machine at the same time to a predetermined point.

For the linear displacements and displacements along the arc interpretation.

For linear displacements:

  • OpenTooltipMotion(tmLinear)

  • SetTooltipPosition

  • SetTooltipAttitude/ SetTooltipAttitude2

  • SetTooltipFlip (optional)

  • AddTooltipMotion (optional)

  • CloseTooltipMotion

For the displacements along the arc:

  • OpenTooltipMotion(tmCircularMiddlePoint)

  • SetTooltipPosition

  • SetTooltipAttitude / SetTooltipAttitude2

  • SetTooltipFlip (optional)

  • AddTooltipMotion (optional)

  • CloseTooltipMotion

  • OpenTooltipMotion(tmCircularEndPoint)

  • SetTooltipPosition

  • SetTooltipAttitude

  • SetTooltipFlip (optional)

  • AddTooltipMotion (optional)

  • CloseTooltipMotion

For moving all axes:

  • OpenTooltipMotion(tmPhysic)

  • SetTooltipPosition

  • SetTooltipAttitude / SetTooltipAttitude2

  • SetTooltipFlip (optional)

  • AddTooltipMotion (optional)

  • CloseTooltipMotion











SetTooltipPosition

The method sets the position of a point defined in OpenTooltipMotion in the Cartesian coordinate system relative to the part zero.

Input parameter: P (TNC3DPoint) - coordinates of the setpoint.

SetTooltipAttitude

The method sets the angular displacements along the X, Y, Z axes in the Cartesian coordinate system relative to the part zero.

Input parameters:

Ang1, Ang2, Ang3 (number) - Specified values of angular displacement

Convention (TNCEulerAnglesConvention) - the sequence of the angular displacements:

eacXYZ - X, Y, Z
eacXZY - X, Z, Y
eacYXZ - Y, X, Z
eacYZX - Y, Z, X
eacZXY - Z, X, Y
eacZYX - Z, Y, X
eacXYX - X, Y, X
eacXZX - X, Z, X
eacYXY - Y, X, Y
eacYZY - Y, Z, Y
eacZXZ - Z, X, Z
eacZYZ - Z, Y, Z
eacAxisAngle - rotation around an axis whose direction is given by the normalized values of Ang1, Ang2, Ang3. The rotation angle around the axis is equal to the modulus of the values of Ang1, Ang2, Ang3.

RotationsAroundMovableAxes (boolean) - with rotation around moving axles. Truth - with a turn. False - without turning.

AnglesInDegrees (boolean) - The value of the angular displacements is given in degrees. Truth is in degrees, False is in radians.

SetTooltipAttitude2

The method sets the angular displacement in quaternions in the Cartesian coordinates relative to the part zero .

Input parameters:

qx, qy, qz, qw ( number ) - the values of the quaternion

SetTooltipFlip

The method sets the position of the joints (of the robot).

Input parameters:

FlipType (TNCFlipType) - joint type

ftFlipA1 - A1

ftFlipA3 - A3

ftFlipA5 - A5

Value (boolean) - True - Inverted position, False - Direct position.

AddTooltipMotion

The method adds movement along the specified additional axis to the specified coordinate.

Input parameters:

AxisIndex (number) - additional robot axis index,

Value (number) - coordinate value.

CloseTooltipMotion

The method determines the completion of the entry displacements and adds a command of multi-coordinate displacements to the tool path. Multi-coordinate movements formed as a result of adding movements by *Tooltip* commands from the beginning of entering movements using the OpenTooltipMotion command.

GetAxisValue

The function returns the coordinate of the current tool position for the specified axis (number).

Input parameter: Index (integer) - axis index.

The function is used to get the current position of the tool, for example, when specifying the center of the hole when using the CreateDrillingCycleFormer.

WasAxisMovement

The function returns whether the first move is for a given axis (Boolean). True - the first move has already been effected, the current position of the tool can be obtained using GetAxisValue. False - movements on the given axis have not been made yet.

Input parameter: Index (integer) - axis index.

See GetAxisValue.

AddSinglePassThread

The method adds a command to activate the continuous thread cutting mode with a constant step with a turning tool according to the specified parameters to the toolpath.

Input Parameters: Orient (TNCThreadOrientation) - thread orientation; LeadType (TNCThreadLeadType) - a way to set the thread pitch; Step (number) - the value of the thread pitch; StartAngle (number) - the initial angular position of the spindle in degrees (used for multiple threads).

TNCThreadLeadType:

ltDistance - distance;
ltThreadsPerUnit - the number of turns per unit length.

TNCThreadOrientation:

toOuter - outdoor;
toInner - internal;
toFace - end.

To interpret commands similar to G33 in ISO codes.

CreateLinearMotionFormer

The function returns the interface of the linear motion generator (INCT_LinearMotionFormer). Using the driver in the interpreter simplifies the construction of a linear tool path. Working with the driver is described in the article Linear movements.

No input parameters.

To interpret commands similar to G00/G01 X Y Z A B C in ISO codes.

CreateCircularMotionFormer

The function returns the arc path maker interface (INCT_CircularMotionFormer). Using the driver in the interpreter simplifies the construction of the tool path along the arc. Work with the shaper is described in the article Circular movements.

No input parameters.

To interpret commands similar to G02/G03 X Y Z I J K R in ISO codes.

CreateDrillingCycleFormer

Depending on the set parameter, the function returns the interface of the trajectory driver of one of the drilling cycles. Working with shapers is described in the articles Drilling cycle, Drilling cycle with shift, Drilling cycle with chip breaking.

Input parameter: CycleType (TNCDrillingCycleType) - type of cycle.

dctSimple is a simple drilling cycle, in this case the driver that is returned by the function supports only one interface: INCT_DrillingCycleFormer.
dctWithShift - the offset drilling cycle returned by the function, the driver supports two interfaces: INCT_DrillingCycleFormer, INCT_DrillingCycleWithShiftFormer.
dctPeck - drilling cycle with chip breaking, the function returned by the driver: two interfaces: INCT_DrillingCycleFormer, INCT_PeckDrillingCycleFormer.

To interpret commands similar to G73, G74, G76, G80-89 for a Fanuc rack.

CreateLatheCycleFormer

Depending on the set parameter, the function returns the interface of the trajectory driver of one of the turning cycles. Working with formers is described in the articlesTurning cycle grooving, Turning cycle threading, Turning machining cycle.Input parameter: CycleType (TNCLatheCycleType) - type of cycle.

lctGrooving - the turning cycle of grooving, in this case the shaper returned by the function supports one interface: INCT_LatheGroovingCycleFormer.
lctThreadCutting - turning the threading cycle, in this case the shaper returned by the function supports one interface: INCT_LatheThreadCuttingCycleFormer.
lctStockRemoval - turning cycle of rough and finishing contour turning, in this case the shaper returned by the function supports one interface: INCT_LatheStockRemovalCycleFormer.


To interpret commands similar to CYCLE93, CYCLE95, CYCLE97 for the Sinumerik rack.

OutPolarInterpolation

The method turns on or off the polar interpolation.

Input parameter: Enable (logical) - a sign of the turning of polar interpolation. True - Interpolation is on, False - interpolation is off.

To interpret commands similar to G132/G133 lathe CNC Okuma.

OutCylindricalInterpolation

The method turns on or off cylindrical interpolation with a specified radius.

Input parameters: Enable (logical) - a sign of the turning of cylindrical interpolation. True - Interpolation is on, False - interpolation is off. Radius (number) - specified radius.

To interpret commands similar to G119 lathe CNC Okuma.

AddOriginByShiftAndRotate

The method add toolpath command shifting and rotating the coordinate system according to the specified parameters.

Input parameters:

Shift (TNC3DPoint) - the amount of displacement along the axes (X, Y, Z).

Ang1, Ang2, Ang3 (number) - Specified values of angular displacement

Convention (TNCEulerAnglesConvention) - the sequence of the angular displacements (description SetTooltipAttitude).

RotationsAroundMovableAxes (boolean) - with rotation around moving axles. Truth - with a turn. False - without turning.

AnglesInDegrees (boolean) - The value of the angular displacements is given in degrees. Truth is in degrees, False is in radians.

To interpret commands similar to G68.2, G53.1 CNC Fanuc.


ResetOrigin

The method add toolpath command turns off the shifting and turning of the coordinate system specified in AddOriginByShiftAndRotate.