summaryrefslogtreecommitdiffstats
path: root/share/extensions/gcodetools_engraving.inx
diff options
context:
space:
mode:
Diffstat (limited to 'share/extensions/gcodetools_engraving.inx')
-rw-r--r--share/extensions/gcodetools_engraving.inx91
1 files changed, 91 insertions, 0 deletions
diff --git a/share/extensions/gcodetools_engraving.inx b/share/extensions/gcodetools_engraving.inx
new file mode 100644
index 0000000..daf2d4a
--- /dev/null
+++ b/share/extensions/gcodetools_engraving.inx
@@ -0,0 +1,91 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<inkscape-extension xmlns="http://www.inkscape.org/namespace/inkscape/extension">
+ <name>Engraving</name>
+ <id>ru.cnc-club.filter.gcodetools_engraving</id>
+ <param name='active-tab' type="notebook">
+
+ <page name='engraving' gui-text='Engraving'>
+ <param name="engraving-sharp-angle-tollerance" type="float" precision="5" min="150" max="180" gui-text="Smooth convex corners between this value and 180 degrees:">175</param>
+ <param name="engraving-max-dist" type="float" precision="5" min="0" max="1000" gui-text="Maximum distance for engraving (mm/inch):">10</param>
+ <param name="engraving-newton-iterations" type="int" min="2" max="10" gui-text="Accuracy factor (2 low to 10 high):">4</param>
+ <param name="engraving-draw-calculation-paths" type="bool" gui-text="Draw additional graphics to see engraving path">false</param>
+
+ <label xml:space="preserve">
+This function creates path to engrave letters or any shape with sharp angles.
+Cutter's depth as a function of radius is defined by the tool.
+Depth may be any Python expression. For instance:
+
+cone....(45 degrees)......................: w
+cone....(height/diameter=10/3)..: 10*w/3
+sphere..(radius r)...........................: math.sqrt(max(0,r**2-w**2))
+ellipse.(minor axis r, major 4r).....: math.sqrt(max(0,r**2-w**2))*4</label>
+ </page>
+
+ <page name='options' gui-text='Options'>
+ <param name="Zscale" type="float" precision="5" min="-100000" max="100000" gui-text="Scale along Z axis:">1</param>
+ <param name="Zoffset" type="float" precision="5" min="-100000" max="100000" gui-text="Offset along Z axis:">0.0</param>
+ <param name="auto_select_paths" type="bool" gui-text="Select all paths if nothing is selected">true</param>
+ <param name="min-arc-radius" type="float" precision="5" min="-1000" max="1000" gui-text="Minimum arc radius:">0.05</param>
+ <param name="comment-gcode" type="string" gui-text="Comment Gcode:"></param>
+ <param name="comment-gcode-from-properties" type="bool" gui-text="Get additional comments from object's properties">false</param>
+
+ </page>
+
+ <page name='preferences' gui-text='Preferences'>
+ <param name="filename" type="string" gui-text="File:">output.ngc</param>
+ <param name="add-numeric-suffix-to-filename" type="bool" gui-text="Add numeric suffix to filename">true</param>
+
+ <param name="directory" type="string" gui-text="Directory:">/home</param>
+
+ <param name="Zsafe" type="float" precision="5" min="-1000" max="1000" gui-text="Z safe height for G00 move over blank:">5</param>
+ <param name="unit" type="optiongroup" appearance="combo" gui-text="Units (mm or in):">
+ <option value="G21 (All units in mm)">mm</option>
+ <option value="G20 (All units in inches)">in</option>
+ </param>
+ <param name="postprocessor" type="optiongroup" appearance="combo" gui-text="Post-processor:">
+ <option context="GCode postprocessor" value=" ">None</option>
+ <option value="parameterize();">Parameterize Gcode</option>
+ <option value="flip(y);parameterize();">Flip y axis and parameterize Gcode</option>
+ <option value="round(4);">Round all values to 4 digits</option>
+ <option value='regex("G01 Z([0-9\.\-]+).*\(Penetrate\)", lambda match: "G00 Z%f (Fast pre-penetrate)\n%s" %(float(match.group(1))+5, match.group(0)));'>Fast pre-penetrate</option>
+ </param>
+ <param name="postprocessor-custom" type="string" gui-text="Additional post-processor:"></param>
+
+
+ <param name="create-log" type="bool" gui-text="Generate log file">false</param>
+ <param name="log-filename" type="string" gui-text="Full path to log file:"></param>
+
+ </page>
+
+ <page name='help' gui-text='Help'>
+ <label xml:space="preserve">
+Gcodetools plug-in:
+Converts paths to Gcode (using circular interpolation), makes offset paths and engraves sharp corners using cone cutters.
+This plug-in calculates Gcode for paths using circular interpolation or linear motion when needed.
+
+Tutorials, manuals and support can be found at
+English support forum:
+ http://www.cnc-club.ru/gcodetools
+
+and Russian support forum:
+ http://www.cnc-club.ru/gcodetoolsru
+
+Credits: Nick Drobchenko, Vladimir Kalyaev, John Brooker, Henry Nicolas, Chris Lusby Taylor.
+
+Gcodetools ver. 1.7
+</label>
+
+ </page>
+
+ </param>
+ <effect>
+ <object-type>path</object-type>
+ <effects-menu>
+ <submenu name="Gcodetools"/>
+ </effects-menu>
+ </effect>
+ <script>
+ <command location="inx" interpreter="python">gcodetools.py</command>
+ </script>
+</inkscape-extension>