90079| 10
|
[讨论] 3D打印切片文件Gcode代码的解读 |
本帖最后由 落花无痕 于 2014-7-29 11:06 编辑 在3D打印的过程中需要将STL三角面片文件切片处理,得出轮廓和加工路径,这些信息会形成Gcode文件进行保存。 现在想对Gcode文件进行解读,接着感觉3D打印的Gcode文件与普通的G代码不一样。 下面附上一段3D打印的G代码:
G0指快速移动,定位;G1指开始喷料加工,运动较慢; X,Y,Z应当指坐标信息,因为打印时多是在二维打印,再对Z递增,所以X,Y坐标较多,Z坐标较少; 下面是重点,E,F是什么意思呢? 根据wiki上的解释
E,F应该都是与喷口的给料速率相关的。但是在代码中可以很明显地看到E的数值是在一直不断地递增,递增到很大,与常理符合(否则打印越大的东西边际递增时间越来越少)。 F倒是有可能代表给料速率。 那么E,F分别是什么意思呢? |
Rockets 发表于 2014-7-29 11:49
初始E好像也是从0开始的,但一下子就递增了好多,好吧,我看走眼了。 下面这个是CURA软件切的G代码,初始值好像就是从0开始的。
很感谢你的回复 |
刚刚找到一个3D打印机G代码的注释网站,共享一下 http://reprap.org/wiki/G-code/zh_cn 另外,摘录一些注释 延时G 命令 RepRap固件接收到这些命令后,会先存储在一个循环队列缓存里再执行。这意味着固件在接收到一条命令后马上可以传输下一条。另一方面,这也意味着一组线段可以没有间断的情况下连续打印。为了实现命令流的控制,当接受到可缓存的命令时,如果固件把它成功放到本地缓存里,就立即给出应答,如果本地缓存已满,则会延时等到缓存有空出的位置时,才给出应答。 G0: Rapid move 快速移动 Support FiveD Teacup Sprinter Marlin Repetier ??? yes yes yes yes Example: G0 X12 这个命令会移动的距离 X = 12 mm. 事实上, 对于RepRap来说,这个命令的效果和G1 X12是一样的。(这条命令本来是为了让那些喜欢走折线路径的老机器走直线这个比较快的路径,所以叫做快速移动) G1: Controlled move 可控移动 Support FiveD Teacup Sprinter Marlin Repetier yes yes yes yes yes Example: G1 X90.6 Y13.8 E22.4 从当前的位置点(X, Y) 移动到目的点(90.6, 13.8), 并会在行进过程中挤出22.4mm的打印丝(注意,挤出命令是由E22.4控制的) RepRap 对于进料速度很敏感. 因此: G1 F1500 G1 X90.6 Y13.8 E22.4 会先设置 1500毫米每分钟 的进料速度, 然后才会移动(X90.6 Y13.8)并且吐丝. 但是 G1 F1500 G1 X90.6 Y13.8 E22.4 F3000 这串代码却会先设置1500毫米每分钟 的进料速度,然后在移动的时候提升进料速度,直到3000毫米每分钟。 RepRap 可以通过E命令轻易对进料速度进行加/减速,就像对X,Y,Z,E命令一样,这样,机器才能在必要的点吐必要的丝。 提示: 不是所有的固件都支持这项功能(移动在改变进料速度), 例如: 当前的 Marlin 会从一开始就使用新的进料速度,而不会尝试在中途改变它。 第一个例子是在移动时保持固定进料速度,而第二个例子则是在移动中改变进料速度。 因此: G1 F1500 G1 X90.6 Y13.8 E22.4 F3000 G1 X80 Y20 E36 F1500 这段代码会先先加速进料速度到3000毫米每分钟 减速到1500 毫米每分钟。 吸丝操作,通过反向转动挤出机马达,减少挤出机内部压力,避免在悬空移动时候的吐丝,可以有效减少打印过程中的毛刺现象,具体操作:发送G1 Ennn指令给RepRap 其中nnn的值应当小于当前的值 M103 关闭所有挤出机 / Extruder Retraction (挤出回缩) M103 in Teacup firmware If a DC extruder is present, turn that off. Else, retract the filament in the hope to prevent nozzle drooling. Complement to M101. M103 in other firmwares Deprecated. Regarding extruder retraction, see M227, M228, M229. M104:设置挤出机(热头)温度 Support FiveD Teacup Sprinter Marlin Repetier yes yes yes yes yes 例如: M104 S190 将挤出机的温度设置为190oC 并将操作全归还给操作主机(控制PC) (i.e. before that temperature has been reached by the extruder). See also M109. This is deprecated because temperatures should be set using the G10 and T commands (q.v.). Deprecation is subject to discussion. --Traumflug 11:33, 19 July 2012 (UTC) M104 in Teacup Firmware In Teacup Firmware, M104 can be additionally used to handle all devices using a temperature sensor. It supports the additional P parameter, which is a zero-based index into the list of sensors in config.h. For devices without a temp sensor, see M106. Example: M104 P1 S100 Set the temperature of the device attached to the second temperature sensor to 100 °C. M105: 获取温度 Example: M105 请求当前温度(单位:℃),温度将立即返回到控制程序 (T:挤出机 B:加热床) 例如,输出候会得到这样的答复 ok T:201 B:117 M106: 打开风扇 Support FiveD Teacup Sprinter Marlin Repetier yes yes yes Example: M106 S127 打开风扇(半速) 'S'表示 PWM值 (0-255). 可简单理解为 风扇有0-255级强度可选,其中 M106 S0 意味着风扇将被关掉。 M106 in Teacup Firmware Additionally to the above, Teacup Firmware uses M106 to control general devices. It supports the additional P parameter, which is an zero-based index into the list of heaters/devices in config.h. Example: M106 P2 S255 Turn on device #3 at full speed/wattage. Note: When turning on a temperature sensor equipped heater with M106 and M104 at the same time, temperature control will override the value given in M106 quickly. M107: 关闭风扇 不推荐. 请用M106 S0 代替. M108: 设置挤出机速度 设置挤出机电机的转速 (不推荐,请使用 M113) M109: 设置挤出机温度,并等待 Support FiveD Teacup Sprinter Marlin Repetier ??? not needed see text yes ??? M109 in Teacup Not needed. To mimic Marlin behaviour, use M104 followed by M116. M109 in Marlin, Sprinter固件 (ATmega port) 设置挤出机温度,并等待. Example: M109 S185 M109 in Sprinter (4pi port) Parameters: S (optional), set target temperature value. If not specified, waits for the temperature set by M104. R (optional), sets target temperature range maximum value. Example: M109 S185 R240 //sets extruder temperature to 185 and waits for the temperature to be between 185 - 240. If you have multiple extruders, use T or P parameter to specify which extruder you want to set/wait. Another way to do this is to use G10. |
© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed