現(xiàn)實(shí)中Cura和Simplify3D是我們使用得最多的兩款切片軟件,而這類型的切片軟件會(huì)從CAD模型中“自動(dòng)”生成G代碼, 所以大部分用戶沒見過或編寫過單行代碼。但是,如果我們想要對(duì)3D打印有更深的理解,清楚G-code這種程序語言是很有必要的! 聽起來是不是很有趣?下面讓我們一起來看看如何看懂并理解G代碼、如何自己編寫代碼并在線測(cè)試、如何使用切片的G代碼預(yù)覽功能來解決復(fù)雜的版畫~
一、什么是G代碼?
從專業(yè)術(shù)語角度,G代碼是一種數(shù)控編程語言。對(duì)于那些知道如何編程的人來說,G代碼是一種簡(jiǎn)單的編程語言。這是最基本的代碼,沒有先進(jìn)的結(jié)構(gòu)比如可變因素、條件結(jié)構(gòu)和循環(huán)結(jié)構(gòu)。 當(dāng)屏幕上布滿著密密麻麻的G代碼時(shí),乍一看還蠻令人頭暈?zāi)垦5?。但?dāng)你一行一行細(xì)細(xì)地去思考時(shí),會(huì)發(fā)現(xiàn)這些代碼還是挺簡(jiǎn)單的!如: - G1 X9.2 Y-5.42 Z0.5 E0.0377
復(fù)制代碼那么我們應(yīng)該如何理解呢?其實(shí)G代碼的每一行以命令開頭。在這個(gè)例子中,命令是G1,而命令后面出現(xiàn)的代碼段稱為參數(shù)。 每個(gè)參數(shù)告訴打印機(jī)如何執(zhí)行命令。參數(shù)以英文字母開頭,然后指定一個(gè)值。例如,X-9.2意味著終點(diǎn)X坐標(biāo)- 9.2。F3000.0意味著進(jìn)給速度(F)是3000。E0.0377意味著擠出率(E)是0.0377。 你在G代碼中遇到的每一個(gè)英文字母都有特定的意義。例如,G表示幾何命令,M表示非幾何命令,x表示x坐標(biāo),y表示y坐標(biāo),f表示進(jìn)給速度等。其實(shí)在G-M代碼中有時(shí)候還會(huì)摻雜一些其它字母標(biāo)示參數(shù)意義,比如T、S、F、P等,具體意義見下表。 (ps:表中 nnn 表示的是數(shù)字)
三、一些常用的G代碼命令
1、G0(快速移動(dòng)) 執(zhí)行此命令時(shí),噴嘴不會(huì)擠壓任何材料。這個(gè)命令通常用于將噴嘴迅速地送到打印開始或打印時(shí)所需的坐標(biāo)處。 G1命令讓打印頭以指定的速度從當(dāng)前位置移動(dòng)到由命令指定的協(xié)調(diào)位置,其中速度由進(jìn)給速度參數(shù)F指定。打印頭將以協(xié)調(diào)的方式移動(dòng),使得兩個(gè)軸同時(shí)完成路徑。 3、G17/G18/G19(選擇平面) 4、G20/G21(單位設(shè)置) G21意味著“迅速移動(dòng)到x = 7毫米和Y = 18毫米”。 G28命令讓機(jī)器返回參考點(diǎn),如返回初始位置: 絕對(duì)值指令讓機(jī)器將坐標(biāo)解釋為絕對(duì)坐標(biāo),這意味著一個(gè)命令:將機(jī)器頭移動(dòng)到坐標(biāo)x = 10。 增量值指令與絕對(duì)值指令相反,它讓機(jī)器將坐標(biāo)解釋為相對(duì)坐標(biāo)。如果機(jī)器當(dāng)前是x = 10,則以下命令是告訴機(jī)器從當(dāng)前位置向X方向移動(dòng)10個(gè)單位。在操作結(jié)束時(shí),機(jī)器頭將位于坐標(biāo)x = 20處。 G2讓機(jī)器從其當(dāng)前位置開始順時(shí)針移動(dòng),端點(diǎn)由坐標(biāo)X和Y指定。旋轉(zhuǎn)中心由參數(shù) I 確定,它表示旋轉(zhuǎn)中心的當(dāng)前位置的X偏移量。J表示旋轉(zhuǎn)中心的當(dāng)前位置的Y偏移量。 就像G2命令,G3命令創(chuàng)建一個(gè)圓周運(yùn)動(dòng),但它是逆時(shí)針方向。 現(xiàn)實(shí)中的G代碼文件,除了G代碼命令和參數(shù),它還包含用淺顯的英語寫的別的東西。 其實(shí)“;”后面的內(nèi)容為解釋性語句,即注釋,固件會(huì)忽略其內(nèi)容。為了減少通信量,可以把注釋信息都去掉。 大多數(shù)的G代碼程序包含三個(gè)重要部分。第一部分打印過程中初始化打印機(jī)。第二部分指示打印機(jī)打印模型。第三部分在打印完成后將打印機(jī)重置為默認(rèn)配置。具體如下 在打印開始之前需要執(zhí)行某些任務(wù)。例如,我們需要加熱打印床,加熱擠出機(jī),清洗噴嘴,將噴嘴移動(dòng)到起始位置等。這些任務(wù)是所有程序的第一部分。 第一行將坐標(biāo)設(shè)置為絕對(duì)坐標(biāo)。第二行設(shè)置擠出機(jī)的擠出率為絕對(duì)值。第三行打開風(fēng)扇,但設(shè)置速度為0,這基本上意味著風(fēng)扇關(guān)閉。第四行設(shè)置床溫為100度。第五行是指,在這種情況下,打印機(jī)等待床溫達(dá)到期望值100℃。 2、打印階段 因此,打印階段包括在X-Y平面移動(dòng)(印刷一層),然后在Z方向移動(dòng)(移動(dòng)到下一層)隨后在X Y平面再移動(dòng)(打印下一層)。具體如下: 最后,當(dāng)打印結(jié)束時(shí),最后的一些G代碼行會(huì)將打印機(jī)重置到默認(rèn)狀態(tài)。例如,噴嘴回到原點(diǎn),加熱關(guān)閉(無論是熱床或是擠出機(jī))和電機(jī)禁用。
六、輸入和輸出
當(dāng)你點(diǎn)擊您的計(jì)算機(jī)上的“打印”按鈕時(shí),3D打印軟件開始發(fā)送指令到打印機(jī),一次一行。打印機(jī)執(zhí)行指令并反饋給計(jì)算機(jī)。如果反饋的指示沒有錯(cuò)誤,則計(jì)算機(jī)將發(fā)送要執(zhí)行的下一行代碼。打印機(jī)的反饋通常遵循以下格式: • ok 意味著沒有檢測(cè)到錯(cuò)誤。這提示計(jì)算機(jī)發(fā)送的G代碼的下一行到打印機(jī)。 • 兩個(gè)感嘆號(hào)(!?。┮馕吨布e(cuò)誤。在這種情況下,機(jī)器立即關(guān)閉,打印作業(yè)中止。 其中:T表示擠出機(jī)溫度,B表示床層溫度。如果機(jī)器沒有溫度傳感器,則-273將作為一個(gè)值被返回。對(duì)M114和M117(查看文末附錄二可查看每一個(gè)G代碼命令的意義)命令坐標(biāo)反饋,反饋的格式會(huì)是: 在復(fù)雜的3D模型打印中,成功與失敗的關(guān)鍵在于是否會(huì)利用G代碼預(yù)覽功能。一般來說,當(dāng)你想打印一個(gè)復(fù)雜的三維模型時(shí),我們最好是使用G代碼查看器,檢查每一步的打印步驟。 附錄1:兼容性說明 當(dāng)然,我們可以通過聯(lián)機(jī)的方式來處理這個(gè)問題~ 附錄2:G代碼命令的意義
|
全部評(píng)論5
你可能喜歡
開源3D建模軟件FreeCAD 1.0正式發(fā)布,支持W
人工智能與3D打印技術(shù)結(jié)合,實(shí)現(xiàn)小型核反應(yīng)
最新《Nature》:動(dòng)態(tài)界面3D打印
石墨烯增強(qiáng)混凝土能否推動(dòng)可持續(xù)建筑? UVA
推薦課程
神奇的3D打印
SLA3D打印工藝全套培訓(xùn)課程 - 軟件篇
3D打印月球燈視頻教程 包括完整貼圖建模流
【原創(chuàng)發(fā)布】Cura軟件修改二次開發(fā)定制視頻