Interpreters development
  • Interpreters development
v3.0.4
Search Results for

    Show / Hide Table of Contents

    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:

    MethodMethod descriptionDescription of use
    SetSystemUnits

    The method sets the project units.

    Input parameter: Units (TNCSystemMeasure):

    smMetrics - metric;
    smImperial - inch.

    To interpret commands like G20, G21 in ISO code.
    SetFeedrateUnits

    The method sets the feed units.

    Input parameter: Units (TNCFeedrateMeasure):

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

    To interpret commands like G700, G710 for the Sinumerik controller.
    GetSystemUnitsThe function returns the project units (TNCSystemMeasure).
    GetFeedrateUnitsThe 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;
    ffRapid - rapid;
    ffFirst - first pass;
    ffEngage - engage;
    ffRetract - retract;
    ffPlunge - plunge;
    ffFinish - finishing pass;
    ffNext - transition;
    ffReturn - return;
    ffApproach - approach;
    ffRapid5D - rapid along the safe surface with axis limit control;
    ffTransitionOnSafe - transition along the safe surface;
    ffApproachFromSafe - approach from the safe surface;
    ffReturnToSafe - return to the safe surface;
    ffLongNext - long transition;
    ffThreadPitch - equal to the thread pitch.

    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;
    ptYZ - YZ plane;
    ptZX - ZX 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.
    OffsetNumber (integer) - length offset number.

    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.
    OffsetNumber (integer) - radius offset number.

    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.
    dctWithShift - drilling cycle with shift; the returned generator supports two interfaces: INCT_DrillingCycleFormer, INCT_DrillingCycleWithShiftFormer.
    dctPeck - drilling cycle with chip breaking; the returned generator supports two interfaces: INCT_DrillingCycleFormer, INCT_PeckDrillingCycleFormer.

    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.
    lctThreadCutting - turning thread cutting cycle; the returned generator supports one interface: INCT_LatheThreadCuttingCycleFormer.
    lctStockRemoval - turning cycle of rough and finish contour turning; the returned generator supports one interface: INCT_LatheStockRemovalCycleFormer.

    To interpret commands like CYCLE93, CYCLE95, CYCLE97 for the Sinumerik controller.
    In this article