There are 3 files should be created to build new Library Shape:
All 3 files should be placed in Library folder.
G90 G17 G40 G80 G00 S20000 M03 #101=0 ; Start Z #101=#101-#21 if [ #101 gt #11 ] 20 #101=#11 (if Step Z more than Depth Z, limit it) N20 G0 X0. Y0. A0. #102=[ #10 - #50] / 2; Last X corrected by Tool Radius N50 G0 Z#60 #100=#20 (Current X = Step X ) N100 G1 X#100 Y0. A0. G1 G94 Z#101 F#40 G3 X#100 Y0. I[0-#100] J0. F#41 if [ #100 GE #102 ] 200 #100 = #100 + #20 if [ #100 LE #102 ] 100 #100 = #102 JUMP 100 N200 G00 Z#60 if [ #101 LE #11 ] 500 (goto finish) #101=#101-#21 (Current Z = Step Z ) if [ #101 GT #11 ] 50 #101=#11 JUMP 50 N500 M05 G90 M30
Shape G-code uses Variables:
To generate correct g-code this parameters should be listed XML configuration file. Sections Item represent each Parameter. Item attribute number represent Parameter address. For example first Item in XML file has number 10, Item value is “26”, then value “26” will be loaded into Parameter #10 before loading LBF file.
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE CNC> <mycnc-shape-variables version="1.0"> <section> <message>Sample Shape 1</message> <message_ru>Выборка</message_ru> </section> <item> <value number="10" type="numpad" step="0.1" min="0" max="10000">26</value> <message>Diameter, mm</message> <message_ru>Диаметр, mm</message_ru> </item> <item> <value number="11" type="numpad" step="0.1" min="-1000" max="0">-15</value> <message>Depth, mm</message> <message_ru>Глубина, mm</message_ru> </item> <item> <value number="20" type="numpad" step="0.1" min="0" max="10000">2</value> <message>Step X, mm</message> <message_ru>Шаг X, mm</message_ru> </item> <item> <value number="21" type="numpad" step="0.1" min="0" max="10000">3</value> <message>Step Z, mm</message> <message_ru>Шаг Z, mm</message_ru> </item> <item> <value number="30" type="numpad" step="10" min="0" max="10000">10</value> <message>Off X, mm</message> <message_ru>Отвод X, мм</message_ru> </item> <item> <value number="40" type="numpad" step="10" min="0" max="3000">200</value> <message>Feed Start</message> <message_ru>Подача врезания Х</message_ru> </item> <item> <value number="41" type="numpad" step="10" min="0" max="3000">800</value> <message>Feed, mm/min</message> <message_ru>Подача, мм/мин</message_ru> </item> <item> <value number="50" type="numpad" step="0.1" min="0" max="50">2</value> <message>Tool Diameter, mm</message> <message_ru>Диаметр инструмента, мм</message_ru> </item> <item> <value number="60" type="numpad" step="0.1" min="0" max="1000">10</value> <message>Tool Lift, mm</message> <message_ru>Безопасная высота, мм</message_ru> </item> </mycnc-shape-variables>
Graphic preview for the Shape is Shape Setup dialog will be -