103091658b6cfea3f42904330cdabd53d184fb6a
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 GCODE_H
7) #define GCODE_H
8) 
9) #include <iostream>
10) #include <string>
11) #include <vector>
12) 
13) #include "gcmd.h"
14) #include "point.h"
15) 
16) /// G-code
17) class GCode {
18) public:
19)   /// type for G-code commands
20)   typedef std::vector<GCmd *> GCmds;
21) 
22)   /// consturctor
23)   GCode();
24) 
25)   /// destructor
26)   ~GCode();
27) 
28) private:
29)   /// copy constructor disabled
30)   GCode(const GCode &);
31) 
32)   /// assignment operator disabled
33)   GCode & operator=(const GCode &);
34) 
35) public:
36)   /**
37)    * @brief append fast move up command
38)    * @param[in] z z coordinate to move up to
39)    */
40)   void appendUp(double z);
41) 
42)   /**
43)    * @brief append fast move command
44)    * @param[in] pt point to move to
45)    */
46)   void appendFast(const Point &pt);
47) 
48)   /**
49)    * @brief append set feed rate command
50)    * @param[in] feed feed rate
51)    */
52)   void appendFeed(double feed);
53) 
54)   /**
55)    * @brief append linear cut down command
56)    * @param[in] z z coordinate to cut down to
57)    */
58)   void appendDown(double z);
59) 
60)   /**
61)    * @brief append linear cut command
62)    * @param[in] pt point to cut to
63)    */
64)   void appendLinear(const Point &pt);
65) 
Stefan Schuermans add support for dwell time...

Stefan Schuermans authored 11 years ago

66)   /**
67)    * @brief append dwell command
68)    * @param[in] sec number of seconds to dwell (must be positive)
69)    */
70)   void appendDwell(double sec);
71) 
Stefan Schuermans initial version, DXFs can b...

Stefan Schuermans authored 11 years ago

72)   /**
73)    * @brief append custom command
74)    * @param[in] cmd custom command to append
75)    */
76)   void appendCustom(const std::string &cmd);
77) 
78)   /**
79)    * @brief output G-code to stream
80)    * @param[in] strm stream to write G-code to
Stefan Schuermans configuration of precision

Stefan Schuermans authored 11 years ago

81)    * @param[in] digits number of digits to output after decimal point
Stefan Schuermans initial version, DXFs can b...

Stefan Schuermans authored 11 years ago

82)    */
Stefan Schuermans configuration of precision

Stefan Schuermans authored 11 years ago

83)   void toStrm(std::ostream &strm, unsigned int digits) const;
Stefan Schuermans initial version, DXFs can b...

Stefan Schuermans authored 11 years ago

84) 
85)   /**
86)    * @brief output G-code to file
87)    * @param[in] strFileName name of file to write G-code to
Stefan Schuermans configuration of precision

Stefan Schuermans authored 11 years ago

88)    * @param[in] digits number of digits to output after decimal point
Stefan Schuermans initial version, DXFs can b...

Stefan Schuermans authored 11 years ago

89)    * @return if writing G-code was successful
90)    */
Stefan Schuermans configuration of precision

Stefan Schuermans authored 11 years ago

91)   bool toFile(const std::string &strFileName, unsigned int digits) const;