Turning cycle threading

INCT_LatheThreadCuttingCycleFormer - SprutCAM X interface that implements functionality to simplify the formation of the movements of a thread-cutting turning cycle. The object that implements this interface is returned by the INCT_CLData.CreateLatheCycleFormer, INCT_GeomCLData.CreateLatheCycleFormer function when it is executed with the lctThreadCutting parameter.

images/download/attachments/84218648/ThreadCuttingCycle_Outer.png

images/download/attachments/84218648/ThreadCuttingCycle_Inner.png

images/download/attachments/84218648/ThreadCuttingCycle_Params.png

Purpose:

Performing movements in different types of turning cycles for threading, for different racks in general, repeat the same path:

  1. Instrument approach to the starting point or the point of the next run in the retraction plane at the accelerated feed.

  2. Move to the start point of the thread on the work feed.

  3. Tapping to the end point on the work feed.

  4. Return to the retraction plane in the flow with accelerated movement.

  5. If the number of entries (roughing and finishing) are not finished, return to Step 1.

Examples of such cycles, Sinumerik: CYCLE97.

Using the former allows you to set the parameters: the start and end points of the thread, the plane of retracts, the number of hits of the thread, the method of cutting down, the angle of cutting down, etc., to form the tool path. And also add the features necessary for a particular cycle to the path on any formed section, change the type or value of feed, or skip the tool path prepared by the former.


Shaper use:

We recommend creating a new turning cycle generator for each new cycle in the G-code frame, except when the cycle operation is repeated in a new frame. Thus, the interface of the old driver must be freed when creating a new one or shutting down the interpreter.

To form commands for moving an instrument along a cycle path, the following steps must be performed:

  1. Get shaper interface (INCT_CLData.CreateLatheCycleFormer, INCT_GeomCLData.CreateLatheCycleFormer).

  2. Set the indexes of the longitudinal and transverse axes along on which movements will be made (Set_AxisIndexes).

  3. Set the cycle parameters (Set_ThreadOrientation, Set_ThreadDepth, Set_ThreadStep, Set_ThreadStartAngle, Set_StartPoint etc., see the description below).

  4. If changes to the loop path are needed, set a loop event handler (Set_Events).

  5. To form teams of tool path along the cycle path (MakeWorkpath).


Description of interface methods:

Method

Method description

Set_AxisIndexes

The method establishes the indexes of the longitudinal and transverse axes along which movements will be made during the formation of the cycle path.

Input parameters: Value (TNCLCAxisIndexes) - Transverse (integer) - transverse axis index, Longitudinal (integer) - longitudinal axis index.

No output parameters.

Get_AxisIndexes

The function returns the indexes of the longitudinal and transverse axes in which the movements will be made during the formation of the cycle trajectory (TNCLCAxisIndexes).

No input parameters.

Set_Direction

The method sets the direction of the cycle.

Input parameter: Value (TNCThreadCuttingDirection) - cycle direction: drLongitudinal - longitudinal, drTransverse - transverse.

No output parameters.

Get_Direction

The function returns the direction of the cycle (TNCThreadCuttingDirection).

No input parameters.

Set_ThreadOrientation

The method sets the type of thread orientation.

Input parameter: Value (TNCThreadOrientation see INCT_CLData.AddSinglePassThread) - thread type orientation.

No output parameters.

Get_ThreadOrientation

The function returns the thread orientation (TNCThreadOrientation).

No input parameters.

Set_ThreadDepth

The method sets the value of the thread depth.

Input parameter: Value (number) - thread depth value.

No output parameters.

Get_ThreadDepth

The function returns the value of the thread depth (number).

No input parameters.

Set_ThreadStep

The method sets the value of the thread step.

Input parameter: Value (number) - thread step value.

No output parameters.

Get_ThreadStep

The function returns the value of the thread step (number).

No input parameters.

Set_ThreadStartAngle

The method sets the value of the initial angle of the thread.

Input parameter: Value (number) - the value of the initial angle of the thread.

No output parameters.

Get_ThreadStartAngle

The function returns the value of the initial angle of the thread (number).

No input parameters.

Set_ThreadStartCount

The method sets the value of the thread starts.

Input parameter: Value (integer) - thread count.

No output parameters.

Get_ThreadStartCount

The function returns the number of thread hits (integer).

No input parameters.

Set_StartPoint

The method sets the coordinates of the starting point of the thread.

Input parameter: Value (TNC2DPoint) - the coordinates of the starting point of the thread.

No output parameters.

Get_StartPoint

The function returns the coordinates of the starting point of the thread. (TNC2DPoint).

No input parameters.

Set_EndPoint

The method sets the coordinates of the end point of the thread.

Input parameter: Value (TNC2DPoint) - coordinate values of the end point of the thread.

No output parameters.

Get_EndPoint

The function returns the coordinates of the end point of the thread (TNC2DPoint).

No input parameters.

Set_TaperDist

The method sets a value of taper between the start and end point of the thread.

Input parameter: Value (number) - value of taper between the start and end point of the thread.

No output parameters.

Get_TaperDist

The function returns a value of taper between the start and end point of the thread (number).

No input parameters.

Set_ChamferLength

Method sets chamfer length to exit the tool at the end of the thread.

Input parameter: Value (number) - chamfer length to exit the tool at the end of the thread.

No output parameters.

Get_ChamferLength

The function returns the chamfer length to exit the tool at the end of the thread (number).

No input parameters.

Set_ChamferAngle

The method sets the value of the chamfer angle in degrees.

Input parameter: Value (numbar) - value of the chamfer angle in degrees.

No output parameters.

Get_ChamferAngle

The function returns the value of the chamfer angle in degrees (number).

No input parameters.

Set_RetractionPath

The method sets the level of the retraction plane.

Input parameter: Value (number) - retraction plane level.

No output parameters.

Get_RetractionPath

The function returns the specified level of the retraction plane (number).

No input parameters.

Set_RunInPath

The method sets the value of the input area.

Input parameter: Value (number) - input area value.

No output parameters.

Get_RunInPath

The function returns the value of the input area (number).

No input parameters.

Set_RunOutPath

The method sets the value of the output section.

Input parameter: Value (number) -value of the output section.

No output parameters.

Get_RunOutPath

The function returns the value of the output section (number).

No input parameters.

Set_ThreadAngle

The method sets the value of the angle of the thread profile.

Input parameter: Value (number) - the value of the angle of the thread profile.

No output parameters.

Get_ThreadAngle

The function returns the angle value of the thread profile (number).

No input parameters.

Set_InclinationAngle

The method sets the value of the angle of one of the walls of the thread profile relative to the vertical.

Input parameter: Value (number) - value.

No output parameters.

Get_InclinationAngle

The function returns the angle value of one of the walls of the thread profile relative to the vertical (number).

No input parameters.

Set_SequenceType

The method establishes the method of plunging on roughing cuts.

Input parameters: Value (TNCThreadSequenceType) - thread sequence type on roughing cuts.

stRadial - radial;
stFlank - flank;
stModifiedFlank - at an angle;
stAlternateFlank - alternately flank.

No output parameters.

Get_SequenceType

The function returns the plunge method on roughing passes. (TNCThreadSequenceType).

No input parameters.

Set_PlungeAngle

The method sets the plunge angle for the stModifiedFlank strategy.

Input parameter: Value (number) - plunge angle value in degrees.

No output parameters.

Get_PlungeAngle

The function returns the plunging angle for the stModifiedFlank strategy (number).

No input parameters.

Set_DepthIsEqual

Sets the method for determining the depth of cut.

Input parameter: Value (boolean) -method of determining the depth of cut. True - constant depth, False - constant cutting area.

No output parameters.

Get_DepthIsEqual

The function returns a method for determining the depth of cut (boolean).

No input parameters.

Set_IsPassCountDefined

The method sets the method for determining the cut depth.

Inner parameter: Value (boolean) - method of determining the cut depth. True - by the number of passes, False - by initial depth.

No output parameters.

Get_IsPassCountDefined

The function returns the method for determining the depth of cut (boolean).

No input parameters.

Set_MinCutDepth

The method sets the value of the minimum possible depth of the rough cut.

Input parameter: Value (number) - the value of the minimum possible depth of the rough pass.

No output parameters.

Get_MinCutDepth

The function returns the value of the minimum possible depth of the rough cut (number).

No input parameters.

Set_FirstCutDepth

The method sets the depth of the first roughing pass.

Input parameter: Value (number) - depth value of the first rough cut.

No output parameters.

Get_FirstCutDepth

The function returns the depth of the first rough cut (number).

No input parameters.

Set_RoughPassCount

The method sets the number of rough passes.

Input parameter: Value (integer) - number of rough passes.

No output parameters.

Get_RoughPassCount

The function returns the number of rough passes (integer).

No input parameters.

Set_FinishPassCount

The method sets the number of finishing passes.

Input parameter: Value (integer) - number of finishing passes.

No output parameters.

Get_FinishPassCount

The function returns the number of finishing passes (integer).

No input parameters.

Set_FinishPassDepth

The method sets the value of the depth of the finishing passes.

Input parameter: Value (number) - the depth valueof the finishing passes.

No output parameters.

Get_FinishPassDepth

The function returns the depth value of the finishing passes (number).

No input parameters.

Set_Feedrate

The method sets the value of the work feed.

Input parameter: Value (number) - value of the work feed.

No output parameters.

Get_Feedrate

The function returns the value of the work feed.

No input parameters.

Set_MPM

The method sets the type of working feed.

Input parameter: Value (logical) - type of working feed. True - mm/min, False - rev/min.

No output parameters.

Get_MPM

The function returns the type of working feed.

No input parameters.

Set_Events

The method assigns events to control the behavior of the loop. When using events, you can add features that are necessary for a particular cycle to the tool path on any formed section: stop, oriented stop, etc., change the type or value of feed, or skip the tool path prepared by the former.

Input parameter: Value (interface) - an object that implements the interfaces INCT_LatheCycleEvents, INCT_LatheThreadCuttingCycleEvents. See the description below.

No output parameters.

Get_Events

The function returns an object that implements the events associated with the loop generator (INCT_LatheCycleEvents, INCT_LatheThreadCuttingCycleEvents).

No output parameters.

MakeWorkpath

The method forms a cycle path according to specified parameters.


INCT_LatheCycleEvents - is an interface implemented in the interpreter that allows you to control the behavior of the turning cycle. Described in detail in the article Turning cycle threading.

INCT_LatheThreadCuttingCycleEvents - is an interface implemented in the interpreter that allows you to control threading. The interface describes one method-event OnThread, which is executed when performing threading inside the former.


Description of interface methods:

Method

Method Description

Description of use

OnThread

The method will be executed before each threading while forming the cycle path. The implementation of this method allows you to change the thread parameters for the selected iteration.

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

Input and output parameters: Handled (boolean) - a sign of the execution of the movement within the OnThread implementation (True - the movement is completed, False - the movement is not performed).

If, after calling OnThread, the Handled parameter takes the value True, this means that threading was performed inside the implementation of the OnThread method and the loop builder does not add the threading command to the tool movement path.

If, after calling OnThread, the Handled parameter takes the value False, the driver assumes that threading was not performed inside the implementation of the OnThread method and adds a threading command to the tool movement path.

If necessary, replace the parameters of threading. Either the task of the thread change algorithm at different approaches that are not implemented in the former.

OnCalcBaseDepth

The method is executed for IsPassCountDefined = True mode, after the calculation base (first) depth. The implementation of this method allows you to change the base depth.

Input and output parameter: BaseDepth (number) - base depth.

OnCalcCount

The method is executed for IsPassCountDefined = False mode, after calculating the number of passes. Implementation of this method allows to change the value of the number of passes.

Input and output parameter: Count (integer) - number of passes.

OnCalcNextDepth

The method is executed in the calculation of the next depth (if the number of passages greater than or equal to one). The implementation of this method allows you to change the depth value for iteration.

Input parameter: Iteration (integer) - iteration number (passage);

Input and output parameter: Depth (number) - depth at iteration.

OnCalcPoint

The method is executed in the calculation of coordinates for the next tool position displacement. The implementation of this method allows you to change the coordinate value for iteration.

Input parameter: Iteration (integer) - iteration number (passage);

Input and output parameter: APoint (TNC2DPoint) - Tool position coordinates for iteration.