3DプリンターGコードのE指令とは?

調べると、Eはフィラメントを押し出す長さを指令するアドレスみたい
そこで、FLASHFORGE Finder に同梱されている、
20mmブロックのサンプルコードのE指令の部分を抜粋して見てみると




;preExtrude:0.20
G1 Z.20 F400
;preExtruder0
G1 X-15.00 Y15.00 F4800
G1 X-15.00 Y-15.00 E4.3504 F1200
G1 X15.00 Y-15.00 E8.7009
G1 X15.00 Y15.00 E13.0513
G1 X-15.00 Y15.00 E17.4017
;raft
;layer:0.28
G1 Z.28 F400
;shell
M106
G1 E16.1017 F1800
G1 X-9.40 Y-9.40 F4200
G1 E17.4017 F1800
G1 X-9.40 Y-9.40 F4200
G1 X-8.40 Y-9.40 E17.4525 F1200
G1 X-7.40 Y-9.40 E17.5032
G1 X-6.40 Y-9.40 E17.5540


G1 X-9.40 Y-9.30 E25.1971 F300
;infill
G1 E23.8971 F1800
G1 X-9.03 Y-9.06 F4200
G1 E25.1971 F1800
G1 X-9.03 Y-9.06 F4200
G1 X-9.06 Y-9.03 E25.1992 F1200
G1 X-9.06 Y-8.47 E25.2276



どれくらい出しているのか?
まず、「preExtrude」部から計算すると
軸移動量 30mm で、E4.35mmの押し出し
1mmで換算すると、0.145mm

次に「shell」部
1mm -> 0.05mm

「infill」部
0.0424mm -> 0.0021mm
0.56mm -> 0.0284mm
1mmで換算すると、0.05mm

ここまでで考えると、通常の印刷では
1mm の移動量に対して、押し出しは 0.05mm
最初の押し出しは、通常印刷時の約3倍

1mm で、0.05mm の関係は?
フィレメントの素材径と印刷時の径から考えてみる
フィレメントφ1.75mmが0.05mm押し出された体積からみると
1mmの長さになる時の径は、約φ0.4mm
う~ん、これは、エクストルーダの穴径と同じ
そういう事なのかな?

そうだとすれば、
φ1.75のフィレメントでエクストルーダーの穴径φ0.4の場合
移動距離×0.05 でE指令の値が算出できそう!


後気がついたのは

G1 X-9.80 Y-9.70 E25.1875
G1 X-9.40 Y-9.30 E25.1971 F300
;infill
G1 E23.8971 F1800
G1 X-9.03 Y-9.06 F4200
G1 E25.1971 F1800
G1 X-9.03 Y-9.06 F4200
G1 X-9.06 Y-9.03 E25.1992 F1200


印刷しない場所を移動する時には
E23.8971 - E25.1971 = -1.3mm

1.3mmバックさせてるみたい