5dbde6512203cb4a62e5422a1b908c403b74bc35
Stefan Schuermans initial version, DXFs can b...

Stefan Schuermans authored 11 years ago

1) /* drawing (DXF) to G-code (NGC) converter
2)  * Copyright 2013 Stefan Schuermans <stefan@schuermans.info>
Stefan Schuermans license CC-BY-SA --> GPL (m...

Stefan Schuermans authored 11 years ago

3)  * Copyleft: GNU public license - http://www.gnu.org/copyleft/gpl.html
Stefan Schuermans initial version, DXFs can b...

Stefan Schuermans authored 11 years ago

4)  */
5) 
6) #ifndef CMDPARSER_H
7) #define CMDPARSER_H
8) 
9) #include <iostream>
10) #include <string>
11) 
12) #include "drawing.h"
Stefan Schuermans implement converting paths...

Stefan Schuermans authored 11 years ago

13) #include "gcode.h"
14) #include "layer.h"
15) #include "polygons.h"
Stefan Schuermans initial version, DXFs can b...

Stefan Schuermans authored 11 years ago

16) #include "settings.h"
17) 
18) /// command parser
19) class CmdParser {
20) public:
Stefan Schuermans implement converting paths...

Stefan Schuermans authored 11 years ago

21)   /**
22)    * @brief get layer by name from stream
23)    * @param[in] strm stream to read layer name from
24)    * @param[out] name layer name from stream
25)    * @param[out] layer layer indicated by name from stream
26)    * @return if layer could be found
27)    */
28)   bool getLayer(std::istream &strm, std::string &name,
29)                 const Layer *&layer) const;
30) 
31)   /**
32)    * @brief get layer by name from stream and convert to polygons
33)    * @param[in] strm stream to read layer name from
34)    * @param[out] name layer name from stream
35)    * @param[out] layer layer indicated by name from stream
36)    * @param[in,out] polys polygons created from layer
37)    * @return if layer could be found and converted to polygons
38)    */
39)   bool getLayerPolys(std::istream &strm, std::string &name,
40)                      const Layer *&layer, Polygons &polys) const;
41) 
Stefan Schuermans implement clear_ngc command...

Stefan Schuermans authored 11 years ago

42)   /**
43)    * @brief process clear_ngc command
44)    * @param[in] strm stream to read command arguments from
45)    * @return if processing command was successful
46)    */
47)   bool procCmd_clear_ngc(std::istream &strm);
48) 
Stefan Schuermans initial version, DXFs can b...

Stefan Schuermans authored 11 years ago

49)   /**
50)    * @brief process cmd command
51)    * @param[in] strm stream to read command arguments from
52)    * @return if processing command was successful
53)    */
54)   bool procCmd_cmd(std::istream &strm);
55) 
56)   /**
57)    * @brief process cut command
58)    * @param[in] strm stream to read command arguments from
59)    * @return if processing command was successful
60)    */
61)   bool procCmd_cut(std::istream &strm);
62) 
Stefan Schuermans implement converting paths...

Stefan Schuermans authored 11 years ago

63)   /**
64)    * @brief process cut_inside command
65)    * @param[in] strm stream to read command arguments from
66)    * @return if processing command was successful
67)    */
68)   bool procCmd_cut_inside(std::istream &strm);
69) 
70)   /**
71)    * @brief process cut_outside command
72)    * @param[in] strm stream to read command arguments from
73)    * @return if processing command was successful
74)    */
75)   bool procCmd_cut_outside(std::istream &strm);
76) 
77)   /**
78)    * @brief process cut_pocket command
79)    * @param[in] strm stream to read command arguments from
80)    * @return if processing command was successful
81)    */
82)   bool procCmd_cut_pocket(std::istream &strm);
83) 
Stefan Schuermans initial version, DXFs can b...

Stefan Schuermans authored 11 years ago

84)   /**
85)    * @brief process read_dxf command
86)    * @param[in] strm stream to read command arguments from
87)    * @return if processing command was successful
88)    */
89)   bool procCmd_read_dxf(std::istream &strm);
90) 
91)   /**
92)    * @brief process set_base_z command
93)    * @param[in] strm stream to read command arguments from
94)    * @return if processing command was successful
95)    */
96)   bool procCmd_set_base_z(std::istream &strm);
97) 
98)   /**
99)    * @brief process set_cut_z command
100)    * @param[in] strm stream to read command arguments from
101)    * @return if processing command was successful
102)    */
103)   bool procCmd_set_cut_z(std::istream &strm);
104) 
105)   /**
106)    * @brief process set_cut_z_step command
107)    * @param[in] strm stream to read command arguments from
108)    * @return if processing command was successful
109)    */
110)   bool procCmd_set_cut_z_step(std::istream &strm);
111) 
Stefan Schuermans add support for dwell time...

Stefan Schuermans authored 11 years ago

112)   /**
113)    * @brief process set_dwell_time command
114)    * @param[in] strm stream to read command arguments from
115)    * @return if processing command was successful
116)    */
117)   bool procCmd_set_dwell_time(std::istream &strm);
118) 
Stefan Schuermans initial version, DXFs can b...

Stefan Schuermans authored 11 years ago

119)   /**
120)    * @brief process set_feed_drill command
121)    * @param[in] strm stream to read command arguments from
122)    * @return if processing command was successful
123)    */
124)   bool procCmd_set_feed_drill(std::istream &strm);
125) 
126)   /**
127)    * @brief process set_feed_mill command
128)    * @param[in] strm stream to read command arguments from
129)    * @return if processing command was successful
130)    */
131)   bool procCmd_set_feed_mill(std::istream &strm);
132) 
Stefan Schuermans add support for cutting a l...

Stefan Schuermans authored 11 years ago

133)   /**
134)    * @brief process set_layer_mode command
135)    * @param[in] strm stream to read command arguments from
136)    * @return if processing command was successful
137)    */
138)   bool procCmd_set_layer_mode(std::istream &strm);
139) 
Stefan Schuermans initial version, DXFs can b...

Stefan Schuermans authored 11 years ago

140)   /**
141)    * @brief process set_move_z command
142)    * @param[in] strm stream to read command arguments from
143)    * @return if processing command was successful
144)    */
145)   bool procCmd_set_move_z(std::istream &strm);
146) 
Stefan Schuermans add support for offset in x...

Stefan Schuermans authored 11 years ago

147)   /**
148)    * @brief process set_offset_x command
149)    * @param[in] strm stream to read command arguments from
150)    * @return if processing command was successful
151)    */
152)   bool procCmd_set_offset_x(std::istream &strm);
153) 
154)   /**
155)    * @brief process set_offset_y command
156)    * @param[in] strm stream to read command arguments from
157)    * @return if processing command was successful
158)    */
159)   bool procCmd_set_offset_y(std::istream &strm);
160) 
Stefan Schuermans configuration of precision

Stefan Schuermans authored 11 years ago

161)   /**
162)    * @brief process set_precision command
163)    * @param[in] strm stream to read command arguments from
164)    * @return if processing command was successful
165)    */
166)   bool procCmd_set_precision(std::istream &strm);
167) 
Stefan Schuermans supoort rotation around z axis

Stefan Schuermans authored 11 years ago

168)   /**
169)    * @brief process set_rotation_z command
170)    * @param[in] strm stream to read command arguments from
171)    * @return if processing command was successful
172)    */
173)   bool procCmd_set_rotation_z(std::istream &strm);
174) 
Stefan Schuermans implement scaling

Stefan Schuermans authored 11 years ago

175)   /**
176)    * @brief process set_scale_x command
177)    * @param[in] strm stream to read command arguments from
178)    * @return if processing command was successful
179)    */
180)   bool procCmd_set_scale_x(std::istream &strm);
181) 
182)   /**
183)    * @brief process set_scale_y command
184)    * @param[in] strm stream to read command arguments from
185)    * @return if processing command was successful
186)    */
187)   bool procCmd_set_scale_y(std::istream &strm);
188)