Changes have been made in EdgeCAM 7.00 to the way in which the Translate command works, particularly for controller subroutines. These changes result in a better correlation between the moves shown by EdgeCAM graphics and the toolpath on the machine tool.
Translated moves
EdgeCAM translates the toolpath as represented by move end points within the designated labels. From a machine tool point of view the "Start" of a sub-routine is, therefore, the End of the move leading to that first endpoint. Slightly different results will be seen depending on the type of move. A direct rapid or feed move will result in its end point being the subroutine start and the move will effectively be "lost" in repeats of the subroutine. A 2D rapid, doglegged, move (e.g. XY and then Z) will give the dogleg point as subroutine start and only the first segment or the move will be lost.
Note that the graphics often show an apparent dogleg when resolved rapids are not used. This intermediate points does not exist on the NC data - it is purely for visualisation purposes - and will not be used as a start point.
Some previous changes in this area have been removed from EdgeCAM. This means that in some cases the graphical representation will change, compared to previous versions, to more closely represent what happens on the machine tool.
Good practice
For safety reasons, subroutines should always start and finish at a safe clearance height. If this practice is followed then the link moves between subroutines can be expected to also be at the safe height. The subroutine should always include the liftout move at the end of a cut.
A specific move to a point near to the required start of the subroutine before defining the subroutine is recommended. This is generally preferable to making a move direct from, say, toolchange and relying on the 2D rapid's dogleg to be the start point. If the machine tool movements are not exactly as represented on screen then this will minimise the discrepancy.
Code Generators
Some additional system variables have been added to the Code Generator to pass the subroutine start point.
In macros TRANSLATE and RESET, the variables XEND, YEND, ZEND now represent the end of any approach move and thus the start of the subroutine.
In macros SUBSTART and SUBCALL, the existing variables NEXTXMOVE, NEXTYMOVE, NEXTZMOVE can be used.
The TRANSLATE Macro (No. 32) should now use XEND etc. as subroutine start point instead of XSUB etc. Rapid approach moves to this point should be output.
The SUBSTART Macro (No. 55 ) should use NEXTXMOVE etc. as a "HOLD" point for calculation of incremental moves.
The SUBCALL Macro (No. ) should include a rapid approach move to NEXTXMOVE etc.
Existing code generator files will continue to work as before since no existing variables have been changed. It may be, however, that their actions are not correctly represented on screen by EdgeCAM graphics.
The Code Wizard templates for milling and turning have been updated to match the graphics. Template based code generators should be updated to the version 7.00 templates to take advantage of these changes.
The templates have also been updated to make the switch between incremental and absolute subroutines easier. The logic within the template will now determine whether to use the Rapid or Translate code constructors and G90/91 blocks will only be output by subroutine start and end if they are required. This last change is within the default sequence of the code constructors. It will not be applied automatically to updated CGD files but will be available for newly created files.
It should always be remembered that the exact action of a machine tool when using controller cycles is beyond the control of EdgeCAM. It is the user's responsibility to ensure that his code generators are correctly configured and that the on-screen representation closely matches the actions of his controllers.