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.
Purpose:
Performing movements in different types of turning cycles for threading, for different racks in general, repeat the same path:
Instrument approach to the starting point or the point of the next run in the retraction plane at the accelerated feed.
Move to the start point of the thread on the work feed.
Tapping to the end point on the work feed.
Return to the retraction plane in the flow with accelerated movement.
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:
Get shaper interface (INCT_CLData.CreateLatheCycleFormer, INCT_GeomCLData.CreateLatheCycleFormer).
Set the indexes of the longitudinal and transverse axes along on which movements will be made (Set_AxisIndexes).
Set the cycle parameters (Set_ThreadOrientation, Set_ThreadDepth, Set_ThreadStep, Set_ThreadStartAngle, Set_StartPoint etc., see the description below).
If changes to the loop path are needed, set a loop event handler (Set_Events).
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; 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. |