-
Notifications
You must be signed in to change notification settings - Fork 99
/
gcodetools_engraving.inx
92 lines (73 loc) · 4.57 KB
/
gcodetools_engraving.inx
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
<?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>
<dependency type="executable" location="extensions">gcodetools.py</dependency>
<dependency type="executable" location="extensions">inkex.py</dependency>
<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="boolean" _gui-text="Draw additional graphics to see engraving path">false</param>
<_param name="help" type="description">
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</_param>
</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="boolean" _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="boolean" _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="boolean" _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="enum" _gui-text="Units (mm or in):">
<_item value="G21 (All units in mm)">mm</_item>
<_item value="G20 (All units in inches)">in</_item>
</param>
<param name="postprocessor" type="enum" _gui-text="Post-processor:">
<_item value=" ">None</_item>
<_item value="parameterize();">Parameterize Gcode</_item>
<_item value="flip(y);parameterize();">Flip y axis and parameterize Gcode</_item>
<_item value="round(4);">Round all values to 4 digits</_item>
<_item 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</_item>
</param>
<param name="postprocessor-custom" type="string" _gui-text="Additional post-processor:"></param>
<param name="create-log" type="boolean" _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'>
<_param name="fullhelp" type="description">
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
</_param>
</page>
</param>
<effect>
<effects-menu>
<submenu _name="Gcodetools"/>
</effects-menu>
<object-type>path</object-type>
</effect>
<script>
<command reldir="extensions" interpreter="python">gcodetools.py</command>
</script>
</inkscape-extension>