3D列印斷料、跳電補救方法-斷點修改G-code續印教學



不知道大家有沒有發生過印到一半失敗的情形
不管是沒料、堵料或是跳電而列印中斷
花了大把時間與線材後只拿到一半的模型
相信每位使用者看了心都一定涼了半截
除了以往鏟掉重印或者印另一半再黏起來的處理方式外
今天就來教大家如何用修改Cura  G-Code的方式
來從斷料點直接續印吧


特別感謝:
勤益科大郭同學
的熱心指導
大家有興趣也可以到他們的社團看看喔

操作前注意!本次教學是以Cura 3.1與三角洲機台作為演示,因此會因機台及切層軟體狀況不同而有所差異,如操作不慎可能造成堵料、噴頭受損的情況發生,因此請特別注意"步驟四到六"確認接續成功後再行離開。



操作步驟:

一、     取得斷點Z軸高度

  在接續列印前,我們需要知道目前斷點Z軸的高度,才能從斷料的地方做列印,此時我們有兩種方式可以找到Z軸高度。

1.用機台測量(機台需自帶LED螢幕及三軸座標顯示)

用機台測量Z軸高度的方法,需要自己的機台擁有LED與座標顯示功能.測量的方法很簡單,用按鍵微調的方式讓噴嘴(建議是冷卻且噴頭沒沾附殘料的狀況下)移動到與現有物件高度平面。



而為了能確認噴嘴已經到了正確的高度,這邊建議可以用調平平台的方式,利用一張A4紙來確認噴頭跟物件的距離會不會太鬆或太緊,最好的狀態是有摩擦感但輕拉紙可以拉的動是最好的。之後記下Z軸現在的高度即可。



2.用尺、游標卡尺測量

第二種方式我們建議可以用游標卡尺來量測Z軸的高度,我們可以用游標卡尺尾端的高度量測棒來量測模型高度(Z軸高度),注意要讓游標卡尺跟模型保持平行,來減少測量的誤差,或是多量幾個點來找到最常出現的數值,如果這部分沒有游標卡尺的話也可用尺測量,但因為尺通常很難量到公釐以下,所以測量出來的失敗率會高一點。



二、開啟G-code尋找Z軸高度

記下了斷點位置後,接下來用文字文件將G-code ,並用Ctrl+F開啟搜尋功能,並按造上面測量出來的高度做搜尋。


比如說剛剛測出來是77.3mm,我們就可以搜尋Z77來做搜尋,我們可以發現第一個最相近的數值是Z77.2,那一整行的指令G0 X-18 Y10.113 Z77.2這就是最靠近模型斷點的平面。


三、刪除找到的Z軸上方運作參數

  在找到模型斷點後,我們可以回到文件最上方搜尋第一個XYZ座標軸。如在本次示範的G-code中就是: G0 F6000 X-2.511 Y6.684 Z0.3,其意思就是將噴頭移至(X:-2.511, Y:6.684, Z0.3)的位置。為G-code的第一個正式列印指令。


找到之後(以本文文檔做範例)就可以將剛剛的斷料點G-Code: G0 X-18 Y10.113 Z77.2的上一句G-Code : ;LAYER:225 框選到第一個移動指令G0 F6000 X-2.511 Y6.684 Z0.3並刪除。這樣就完成了刪除前面已列印的部分的G-Code的動作。



四、檢視進料指令(E)的運行方式(非常非常重要!

第四部分所提的進料指令(E)會因為每一種切層軟體的不同而有所差異,在G-codeE所代表的指令,即為擠出(Extrusion)馬達的運作參數:如下圖中的E0.0158即是擠出0.0158的意思。



Cure 3.1.0為來說,他的擠出指令是以累進計算,如果我們檢視下圖G-code最後移動列印指令E48629.44217,意思就是從第一個指令印到最後一個指令總共會擠出48629.44217的線材。




所以當我們再檢視剛剛我們刪除掉前面的參數後的第一個有XY值的E指令為G1 X-18 Y24.442 E1859.25409



G-code的意思是在沒有前面累進的擠出(E)紀錄下,XY軸移動到(-18,24.442)的座標後會擠出1859.25409的線材,說白話一點,就是噴頭移動到剛剛設定的位置後,會因為沒有前面的擠出紀錄,而會把已經印過的擠出料重新擠出一次所以沒確認就離開的話!
 輕則噴頭堵住,重則整組噴頭要更換,甚至機台燒毀!!
  輕則噴頭堵住,重則整組噴頭要更換,甚至機台燒毀!!
   輕則噴頭堵住,重則整組噴頭要更換,甚至機台燒毀!!


   
因為非常非常重要所以再講三次!

所以為了避免上面的問題發生,因此在遇到擠出參數以累計計算的Cura與其他切層軟體,需要在第一個擠出指令(E)前加上擠出量判讀指令,加入的方法為先找到第一個擠出值,以本次文檔的第一個擠出值為G1 F3000 E1858.53921,因此我們便在這一段參數前面加上
G92 E1858.53921(E的數值請參考自己文檔內的第一個擠出值)




 作為機器判讀從此擠出值持續往下累計列印。

P.S. 部分切層軟體採非累計式的擠出參數,此時就不需要修改此部分,請依自己機台與切層狀況做調整。


五、檢視G-Code前面有無其他Z軸指令(非常重要!

另外部分切層軟體切層後會有預移動與預吐料的動作,
這時候再回去檢視修改好的G-Code。並回去找剛剛我們加G92指令之前,有沒有出現前面沒有;符號的Z(Z軸移動)跟E(擠出)。
(;符號於G-code中代表備註且該行不會被讀取)



我們可以發現剛剛加入G92指令之前有兩行G-code帶有Z(Z軸移動)跟E(擠出),其中包含

G1 Z15.0 F9000 -預移動噴頭高度到15mm
G1 F200 E3 - 擠出3的預擠料

而由於剛剛我們的高度是Z77.2 

所以G1 Z15.0 F9000的預移動動作會撞到目前在平台上的物件,此時我們可以把這一行做刪除或者是把Z預移動高度調整到比Z77.2高,如:G1 Z78.0 F9000,這樣就不會出現撞到的狀況了,而G1 F200 E3 的預擠出因為不影響列印,因此改或不改都沒關係。之後把G-code存檔後就可以開始測試了

六、先行測試(重要!

由於跟一開始所說,不同的切層軟體跟機台的G-code都會有所差異,因此在正式運行斷點列印之前建議要先行測試,測試的方法就是不入料或不放線材,來試運行看會不會有出現噴頭與現有模型出現干涉,或運行有問題,亂跑、亂吐料的情況發生。如果試運能呈現正常接續的狀況,再放線來做接續列印。

另外此種斷點修改G-code續印的方式不一定能100%成功喔,有時會因為一開高度沒量好造成貼太近或太遠而接續點變難看或接不起來的狀況發生,所以大家可以斟酌來做嘗試。



列印再開!




留言