SmartCAM Technical Bulletin
Clarification of Changes in SmartCAM v10.0 Turning Applications

Technote 166
Date: 07/97
Product: Advanced and Production Turning
Version: v10.x

Problem:
Toolpath and macros in SmartCAM v10.0 turning applications do not behave the same as v9.2 or earlier versions.

Details:

There are several changes for the v10.0 release of turning products. The new functions are partially described in the v10.0 release notes and in the v10.0 SmartCAM Turning Supplement available as an on-line document installed with a new turning application. These include:

This Technote is intended to be a supplement to the aforementioned literature.

Roughing Routines

Version 10.0 includes new roughing routines that generate gouge-free tool nose center toolpath. All turning toolpath is now shown on the screen as tool nose center toolpath. There is no way to change the appearance of this in the SmartCAM application. However, by setting question 120 in your .smf file appropriately, you can still code part profile, tool center, or tool edge. The new method of generating roughing passes is much more robust than the previous method, plus it enables the support of bi-directional tools in a gouge-free algorithm. You can still create toolpath geometry using the old way of inserting with a step and creating profiles with a desired offset, if you are more comfortable using this method.

Note that tool nose center toolpath will then be generated "on-the-fly" by show path using the offset specified, and may not be gouge-free (see "Use Edge Data" switch section below).

Macro Commands

With the new turning routines, there are new macro commands that use some new variables in their definitions. Some variables are retained, and all variables for the new commands are required inputs as noted below. A listing of the original commands and their new versions follows.

Note: These and all other macro commands are documented in your SmartCAM Customization Guide. For information and tutorials on programming SmartCAM macros review the Automating SmartCAM sections of both the Customization Guide and Learning SmartCAM. Both are available from within your application by selecting Help - Online Manuals.

Contour Roughing has gone from:

CONTOUR[ES=##, EE=##, ZS=##, XS=##, EM=##, ZF=##, XF=##, 
  DP=##, CL=##, NP=##]
where
    ES = Finish profile start (required)
    EE = Finish profile end (required)
    ZS = Z start (required)
    XS = X start (required)
    EM = Material element (required)
    ZF = Z finish amount (required)
    XF = X finish amount (required)
    DP = Pass depth (required)
    CL = Clear (required)
    NP = Number of passes

to

TCONTOUR[PS=##, PE=##, MM=##, MS=##, ME=##, ZS=##, XS=##, DP=##, 
  NP=##, LA=##, TA=##, XF=##, ZF=##, CD=##, LD=##, BP=##, TP=##, LY=##]
where
    PS = Element number of profile starting element (required)
    PE = Element number of profile ending element (required)
    MM = Material closure method (required) - options are:
	   (0) material profile, (1) material point, (2) part profile
    MS = Element number of material profile starting element 
	   (required for MM = 0)
    ME = Element number of material profile ending element 
	   (required for MM = 0)
    ZS = Z ordinate of implicit material profile 
	    (required for MM = 1)
    XS = X ordinate of implicit material profile 
	    (required for MM = 1)
    DP = Pass depth (required)
    NP = Number of passes (required for MM = 2)
    LA = Effective leading edge angle (required)
    TA = Effective trailing edge angle (required)
    XF = X finish amount (required)
    ZF = Z finish amount (required)
    CD = Clearance distance (required)
    LD = Lead distance (required)
    BP = Bidirectional passes switch (required) - 
	    options are (0) off, (1) on
    TP = Create theoretical part profile switch (required) - 
	    options are (0) off, (1) on 
    LY = Theoretical part profile layer (required) - 
	    value can be any layer from 1 to 99

Groove Roughing has gone from:

GROOVE_RGH[ES=##, EE=##, ZS=##, XS=#, EM=##, ZF=##, 
  XF=##, DW=##, CL=##, CP=##]
where
    ES = Finish profile start (required)
    EE = Finish profile end (required)
    ZS = Z start (required)
    XS = X start (required)
    EM = Material element (required)
    ZF = Z finish amount (required)
    XF = X finish amount (required)
    DW = Pass width (required)
    CL = Clear (required)
    CP = Cleanup pass switch (required) - 
	   options are (0) off, (1) on

to

TGROOVE[PS=##, PE=##, MM=##, MS=##, ME=##, ZS=##, 
  XS=##, DP=##, PM=##, RM=##, PD=##, LA=##, TA=##, XF=##, 
  ZF=##, CD=##, LD=##, BP=##, TP=##, LY=##]
where 
    PS = Element number of profile starting element (required)
    PE = Element number of profile ending element (required)
    MM = Material closure method (required) - options are 
	   (0) material profile, (1) material point, (2) part profile
    MS = Element number of material profile starting element 
	   (required for MM = 0)
    ME = Element number of material profile ending element 
	   (required for MM = 0)
    ZS = Z ordinate of implicit material profile 
	   (required for MM = 1)
    XS = X ordinate of implicit material profile 
	   (required for MM = 1)
    DP = Stepover distance - pass width (required)
    PM = Pecking method (required) - 
	   options are (0) default, (1) depth first, (2) width first
    RM = Retract method (required) - 
	   options are (0) full retract, (1) partial retract
    PD = Pecking depth (required)
    LA = Effective leading edge angle (required)
    TA = Effective trailing edge angle (required)
    XF = X finish amount (required)
    ZF = Z finish amount (required)
    CD = Clearance distance (required)
    LD = Lead distance (required)
    BP = Bidirectional passes switch (required) - 
	   options are (0) off, (1) on
    TP = Create theoretical part profile switch (required) - 
	   options are (0) off, (1) on
    LY = Theoretical part profile layer (required) - 
	   value can be any layer from 1 to 99

Linear Roughing has gone from:

LINEAR_RGH[TY=##, ES=##, EE=##, ZS=##, XS=##, EM=##, ZF=##, 
  XF=##, DP=##, CL=##, AN=##, AP=##, CP=##, OP=##]
where
    TY = Type of operation - options are (0) turning, (1) facing
    ES = Finish profile start (required)
    EE = Finish profile end (required)
    ZS = Z start (required)
    XS = X start (required)
    EM = Material element (required)
    ZF = Z finish amount (required)
    XF = X finish amount (required)
    DP = Pass depth (required)
    CL = Clear (required)
    AN = Pass angle (required)
    AP = Plunge angle (required)
    CP = Cleanup pass switch - options are (0) off, (1) on
    OP = Overlap passes switch - options are (0) off, (1) on

to

TLINEAR[PS=##, PE=##, MM=##, MS=##, ME=##, ZS=##, XS=##, 
  DP=##, AN=##, FC=##, LA=##, TA=##, XF=##, ZF=##, CD=##, LD=##, BD=##, 
  BP=##, OP=##, TP=##, LY=##]
where
PS = Element number of profile starting element (required)
PE = Element number of profile ending element (required)
MM = Material closure method (required) - options are 
  (0) material profile, (1) material point, (2) part profile
MS = Element number of material profile starting element 
  (required for MM = 0)
ME = Element number of material profile ending element 
  (required for MM = 0)
ZS = Z ordinate of implicit material profile (required for MM = 1)
XS = X ordinate of implicit material profile (required for MM = 1)
DP = Pass depth (required)
AN = Pass angle (required)
FC = Facing flag (required) - options are (0) off, (1) on
LA = Effective leading edge angle (required)
TA = Effective trailing edge angle (required)
XF = X finish amount (required)
ZF = Z finish amount (required)
CD = Clearance distance (required)
LD = Lead distance (required)
BD = Back-off distance (required)
BP = Bidirectional passes switch (required) - 
  options are (0) off, (1) on
OP = Overlap passes switch - options are (0) off, (1) on
TP = Create theoretical part profile switch (required) - 
  options are (0) off, (1) on
LY = Theoretical part profile layer (required) - 
  value can be any layer from 1 to 99

Profiling is a new function in v10.0 that can be used for roughing, semi-finishing, and finishing, and is accessed in the Process - Turn Rough toolbox. Its macro command syntax is:

TPROFILE[PS=##, PE=##, CC=##, LA=##, TA=##, XF=##, ZF=##, 
  CD=##, LD=##, BD=##, BP=##, TP=##, LY=##]
where
    PS = Element number of profile starting element (required)
    PE = Element number of profile ending element (required)
    CC = Compensation codes switch (required) - 
	   options are (0) off, (1) on
    LA = Effective leading edge angle (required)
    TA = Effective trailing edge angle (required)
    XF = X finish amount (required)
    ZF = Z finish amount (required)
    CD = Clearance distance (required)
    LD = Lead distance (required)
    BD = Back-off distance (required)
    BP = Bidirectional passes switch (required) - 
	   options are (0) off, (1) on
    TP = Create theoretical part profile switch (required) - 
	   options are (0) off, (1) on
    LY = Theoretical part profile layer (required) - 
	   value can be any layer from 1 to 99

As stated in the SmartCAM Customization Manual for each of these commands, an effort has been made to make the former command forward compatible with the newer command, but exact mapping can't be guaranteed. If you have turning macros that use these commands which are not working in v10.0 turning applications, please edit your macros to update the roughing routines. Also, please see the on-line Customization Manual for more descriptions of these commands and their usage. The best way to see how these new commands work is to build a simple part and record a macro of each operation and the options you use. This way, all the required variables for the command will be automatically filled in by SmartCAM, and you can then adjust them for use in your macro.

Cutter Compensation

There was also a change in the way cutter compensation is handled by v10.0. For SmartCAM v9.x and earlier, cutter compensation was tied to the offset property of the profile or element. The only way to have the system automatically generate compensation codes was by having SmartCAM do "on-the-fly" offset, like that created during code or show path for an element assigned to a step having right offset (for example). The toolpath would not be shown or compensated until the actual moment the element was encountered by the system, at which time the correct offset would be applied and the toolpath generated automatically.

Version 10.0 allows you to insert user commands to apply and cancel cutter compensation to no-offset (tool nose center) toolpath. In the process model, this is shown by user commands "attached" to the start and end of the profile where they are applied. The profile will not have an offset property of its own.

The cutter compensation user command text is:

  • @CMPR - compensation right
  • @CMPL - compensation left
  • @CMPX - compensation off

These commands are enabled by turning on the "Comp Codes" switch in the Process - Turn Rough - Profile control panel. Generating toolpath with this switch on will create an @CMP[LR] command appropriate for the profile offset at the start of the selected profile. In show path and code, the @CMP[LR] commands behave as state change indicators. When one of these is encountered in the toolpath element sequence, the cutter compensation direction will change at that point. The compensation off (@CMPX) command will automatically be generated at the end of each profile. Therefore, the compensation direction must be established for each toolpath - this is not modal across all toolpaths in the model.

Show path will treat this new compensated tool nose center toolpath just like the existing no-offset profile, meaning that no visual feedback will be given that compensation has been applied to the toolpath. Code should be fine for most existing code generators without any modifications. The compensation direction will be available in the @STPROF move when an @CMP[LR] command is the first element in the toolpath. These functions also carry over into the template file. Since the commands are @ section references, code will look for and process matching @ sections in the .tmp file if they exist. The @CMP[LRX] commands will behave like standard @ section user commands in addition to indicating cutter compensation direction, meaning you can use these within the model file to call an @ section by that name when this user command is encountered. Any special machine codes, etc needed for that compensation operation can then be placed in that @ section for use in the code output.

The @CMP[LRX] commands will be considered part of the toolpath when they are attached to the beginning or end of the toolpath. So, when they are attached to the beginning or the end and a profile pick operation is performed on an element in the toolpath, they will be selected along with the other elements as part of the active group. Traditional user commands do not have this property. Some items to note about the limitations of this function:

  • Attaching @CMP[LRX] commands to an offset profile is not supported by the system
  • A compensation direction switch (from @CMPL to @CMPR, for example) within a profile is unrealistic and not any further defined than with existing offset profiles, so this is an undefined and unsupported situation.
  • Auto lead-in will not be applied to compensated toolpath.

Removal of "Use Edge Data" Switch

Version 9.2 turning applications featured a "Use Edge Data" switch on the Operation page of the Edit Process Step window. This switch toggled the use of specified leading and trailing edge clearance angle information on or off. Now, this function is inherently "on." The switch was removed because of the new Process - Turn Rough functions that can use layer geometry to create tool nose center toolpath that will always use the specified clearance angles. The clearance angles entered in the planner for the tool will automatically backfill into the appropriate field in the Auxiliary Parameters window. The Auxiliary Parameters window is a new feature for v10.0 that allows the user to set common attributes for turning operations and use them in all toolpath generation procedures. If the user changes the Effective Edge Angles in the Aux Params window, they are kept in the Aux Params window and adjusted for all subsequent toolpaths created, while retaining the original data in the planner Operation page.

The previous version of turning applications used the switch to turn on the clearance angle data for toolpath created in the old way: inserting with a step to create the profile geometry with the desired offset. When this switch was on, toolpath created in this way would be gouge-protected since the system would look at the tool edge angle and clearance information to avoid diving into the part with the leading or trailing edge of the tool. In v10.0, the switch is gone, and toolpath created by this older method will not be gouge-protected. The system simply drives the tool along the specified step profile (using the element offset property, if it has any) with no regard for possible gouging.

It may seem that some functionality has been removed going from v9.2 to v10.0, but it is actually just in another place. Now, in order to get single-pass, gouge-free toolpath along a profile, you can simply draw the profile as layer geometry and use the Process - Turn Rough - Profile function to create the toolpath directly from it. Note that this same profile layer geometry can be used to create first the roughing passes and then the semi-finish/finish passes for the part, all of it gouge-free and from within the same toolbox of functions. Any leading edge angle and trailing edge angle clearance values entered in the planner or the Auxiliary Parameters window will always be used when toolpath is created using the new routines.