@@ -22,22 +22,25 @@ const gcode = new Toolpath({
2222 feedrate: ' G94' , // G93: Inverse time mode, G94: Units per minute, G95: Units per rev
2323 program: ' M0' , // M0, M1, M2, M30
2424 spindle: ' M5' , // M3, M4, M5
25- coolant: ' M9' // M7, M8, M9
25+ coolant: ' M9' , // M7, M8, M9
26+ tool: 0
2627 },
2728 // @param {object} modal The modal object.
2829 // @param {object} v1 A 3D vector of the start point.
2930 // @param {object} v2 A 3D vector of the end point.
3031 addLine : (modal , v1 , v2 ) => {
31- var motion = modal .motion ;
32- toolpaths .push ({ motion: motion, v1: v1, v2: v2 });
32+ const motion = modal .motion ;
33+ const tool = modal .tool ;
34+ toolpaths .push ({ motion: motion, tool: tool, v1: v1, v2: v2 });
3335 },
3436 // @param {object} modal The modal object.
3537 // @param {object} v1 A 3D vector of the start point.
3638 // @param {object} v2 A 3D vector of the end point.
3739 // @param {object} v0 A 3D vector of the fixed point.
3840 addArcCurve : (modal , v1 , v2 , v0 ) => {
39- var motion = modal .motion ;
40- toolpaths .push ({ motion: motion, v1: v1, v2: v2, v0: v0 });
41+ const motion = modal .motion ;
42+ const tool = modal .tool ;
43+ toolpaths .push ({ motion: motion, tool: tool, v1: v1, v2: v2, v0: v0 });
4144 }
4245});
4346
@@ -64,7 +67,7 @@ Run this example with babel-node:
6467import Toolpath from ' gcode-toolpath' ;
6568
6669const GCODE = [
67- ' N1 G17 G20 G90 G94 G54' ,
70+ ' N1 T2 G17 G20 G90 G94 G54' ,
6871 ' N2 G0 Z0.25' ,
6972 ' N3 X-0.5 Y0.' ,
7073 ' N4 Z0.1' ,
@@ -84,15 +87,17 @@ const gcode = new Toolpath({
8487 // @param {object} v2 A 3D vector of the end point.
8588 addLine : (modal , v1 , v2 ) => {
8689 const motion = modal .motion ;
87- toolpaths .push ({ motion: motion, v1: v1, v2: v2 });
90+ const tool = modal .tool ;
91+ toolpaths .push ({ motion: motion, tool: tool, v1: v1, v2: v2 });
8892 },
8993 // @param {object} modal The modal object.
9094 // @param {object} v1 A 3D vector of the start point.
9195 // @param {object} v2 A 3D vector of the end point.
9296 // @param {object} v0 A 3D vector of the fixed point.
9397 addArcCurve : (modal , v1 , v2 , v0 ) => {
9498 const motion = modal .motion ;
95- toolpaths .push ({ motion: motion, v1: v1, v2: v2, v0: v0 });
99+ const tool = modal .tool ;
100+ toolpaths .push ({ motion: motion, tool: tool, v1: v1, v2: v2, v0: v0 });
96101 }
97102});
98103
@@ -111,38 +116,48 @@ gcode
111116and you will see the output as below:
112117``` js
113118[ { motion: ' G0' ,
119+ tool: 2 ,
114120 v1: { x: 0 , y: 0 , z: 0 },
115121 v2: { x: 0 , y: 0 , z: 6.35 } },
116122 { motion: ' G0' ,
123+ tool: 2 ,
117124 v1: { x: 0 , y: 0 , z: 6.35 },
118- v2: { x: - 12.7 , y: 0 , z: 0 } },
125+ v2: { x: - 12.7 , y: 0 , z: 6.35 } },
119126 { motion: ' G0' ,
120- v1: { x: - 12.7 , y: 0 , z: 0 },
121- v2: { x: 0 , y: 0 , z: 2.54 } },
127+ tool: 2 ,
128+ v1: { x: - 12.7 , y: 0 , z: 6.35 },
129+ v2: { x: - 12.7 , y: 0 , z: 2.54 } },
122130 { motion: ' G1' ,
123- v1: { x: 0 , y: 0 , z: 2.54 },
124- v2: { x: 0 , y: 0 , z: 0 } },
131+ tool: 2 ,
132+ v1: { x: - 12.7 , y: 0 , z: 2.54 },
133+ v2: { x: - 12.7 , y: 0 , z: 0 } },
125134 { motion: ' G2' ,
126- v1: { x: 0 , y: 0 , z: 0 },
135+ tool: 2 ,
136+ v1: { x: - 12.7 , y: 0 , z: 0 },
127137 v2: { x: 0 , y: 12.7 , z: 0 },
128- v0: { x: 12.7 , y: 0 , z: 0 } },
138+ v0: { x: 0 , y: 0 , z: 0 } },
129139 { motion: ' G2' ,
140+ tool: 2 ,
130141 v1: { x: 0 , y: 12.7 , z: 0 },
131142 v2: { x: 12.7 , y: 0 , z: 0 },
132143 v0: { x: 0 , y: 0 , z: 0 } },
133144 { motion: ' G2' ,
145+ tool: 2 ,
134146 v1: { x: 12.7 , y: 0 , z: 0 },
135147 v2: { x: 0 , y: - 12.7 , z: 0 },
136148 v0: { x: 0 , y: 0 , z: 0 } },
137149 { motion: ' G2' ,
150+ tool: 2 ,
138151 v1: { x: 0 , y: - 12.7 , z: 0 },
139152 v2: { x: - 12.7 , y: 0 , z: 0 },
140153 v0: { x: 0 , y: 0 , z: 0 } },
141154 { motion: ' G1' ,
155+ tool: 2 ,
142156 v1: { x: - 12.7 , y: 0 , z: 0 },
143- v2: { x: 0 , y: 0 , z: 2.54 } },
157+ v2: { x: - 12.7 , y: 0 , z: 2.54 } },
144158 { motion: ' G0' ,
145- v1: { x: 0 , y: 0 , z: 2.54 },
159+ tool: 2 ,
160+ v1: { x: - 12.7 , y: 0 , z: 2.54 },
146161 v2: { x: 0 , y: 0 , z: 6.35 } } ]
147162```
148163
0 commit comments