SmartCAM v2017 Enhancements to the Code Generation Tools
The SmartCAM® Code Generator mechanism has been extensively enhanced for Version 2017.
This release delivers improved support for machinery with Rotary Axis indexing capabilities by Rotary Axis Positioning Engine - CNC Code Generator integration developments that enable improved configuration and control of CNC code for rotary axis indexing moves.
In addition, technical items of interest include changes made to the Machine Define and Code Dialog user interfaces and the introduction of new Code Generator functions and methods.
Code Generation mechanism changes of interest
Machine Define gets a minor facelift
The Machine Define Tool user interface has been given a simpler, cleaner look. Interaction and use is made easier.
Additionally older, obsolete definition statements have been removed to a new "Obsolete Questions" category.
Machine Define gets a minor facelift
Changes to the Code Generator User Interface Dialog
The Code Generator dialog has been simplified, and new and extended Diagnostic options useful to a code generator creator have been added. Available Diagnostics tools are Code Generator Template section names, line references, conditional states, and processing errors. Diagnostics tools are highly useful when developing or modifying a code generator.
Modified and improved Code Dialog
New Code Words and Functions
Formatting, Control Functions and new table lookup behavior extend the logic capabilities that can be used in Code Generator Template files.
The detail is most meaningful to our existing Code Generator toolkit users. Changes include:
- Increased scope of #FMT(). Can be used as a preferred method for formatting block address output values
-
#GOTO, a new control that can be used to direct control to a target section in the Code Generator Template
- Optional embedded conditionals for #CALL. For example #CALL ( MYSECTION , #IF ( #MOV > 3 ) )
-
#EXITR. Elegantly exit a #REPEAT() loop
Code Generator Template Table Lookup behavior. All Code Generator Template words that used codes from Machine Define can now be coded using a Code Generator Template file table. #MOV, for example:
@MOV
0,G00 // rapid
1,G01 // linear feed
2,G02 // cw arc feed
3,G03 // ccw arc feed
45,G02 // cw helical feed
46,G03 // ccw helical feed
@
Improved Readability for Code Generator Templates
Code Generator Template file content can now be written with improved readability. Whitespace and commands across multiple lines are now supported within Code Generator Functions.
@OP_SPDRL
<M#TCODE>
#IF(#U1=1)<#RESET(#CYCLE,#RTNLVL,#XPOS,#YPOS,#ZPOS,#ZDPTH,#ZCHK)#EVAL(#U1=0)>
#IF(#KNO=1)<#CALL(OP_SPDRL_FACE)>
#ELSE<#CALL(OP_SPDRL_SIDE)>
@
could now be coded as
@OP_SPDRL
<M#TCODE>
#IF( #U1 = 1 )<#RESET(
#CYCLE,
#RTNLVL,
#XPOS,
#YPOS,
#ZPOS,
#ZDPTH,
#ZCHK )
#EVAL( #U1 = 0 )>
#IF( #KNO = 1 )<#CALL( OP_SPDRL_FACE )>
#ELSE<#CALL( OP_SPDRL_SIDE )>
@