G-code代碼新手教程!一招提高你的3D列印技巧

2021-01-07 網易

  G代碼是連接電腦和3d印表機的「橋梁」,利用G代碼,我們可以通過電腦「告訴」3d印表機什麼時候列印,在哪兒列印,如何移動,擠出多少等。

  

  現實中Cura和Simplify3D是我們使用得最多的兩款切片軟體,而這類型的切片軟體會從CAD模型中「自動」生成G代碼,所以大部分用戶沒見過或編寫過單行代碼。但是,如果我們想要對3D列印有更深的理解,清楚G-code這種程序語言是很有必要的!

  這是因為,了解G代碼的你可以很好的充當印表機的故障檢測員,控制列印過程的各個方面,在故障發生前就可以識別並防止列印失敗。

  聽起來是不是很有趣?下面讓我們一起來看看如何看懂並理解G代碼、如何自己編寫代碼並在線測試、如何使用切片的G代碼預覽功能來解決複雜的版畫~

  一、什麼是G代碼?

  G代碼代表「幾何碼」。它的主要功能是指導機器頭如何在3個維度上幾何移動。不過,它也可以指示機器做非幾何的東西。例如,G代碼可以命令3D印表機用指定的擠出速度擠壓材料或改變其床溫。

  從專業術語角度,G代碼是一種數控程式語言。對於那些知道如何編程的人來說,G代碼是一種簡單的程式語言。這是最基本的代碼,沒有先進的結構比如可變因素、條件結構和循環結構。

  對於那些不知道如何編程的人來說,我們可以認為是將G代碼作為指令的順序線。每行告訴印表機做一個特定的任務。印表機一行一行地執行,直到它結束。

  二、如何讀懂G代碼

  當屏幕上布滿著密密麻麻的G代碼時,乍一看還蠻令人頭暈目眩的。但當你一行一行細細地去思考時,會發現這些代碼還是挺簡單的!如:

  這一行告訴印表機向目的地直線移動,目的地坐標x = 9.2,y=-5.42,和Z = 0.5,進給速度為3000。

  那麼我們應該如何理解呢?其實G代碼的每一行以命令開頭。在這個例子中,命令是G1,而命令後面出現的代碼段稱為參數。

  這意味著「以受控的方式直線運動」(查看文末附錄二可查看每一個G代碼命令的意義)。

  每個參數告訴印表機如何執行命令。參數以英文字母開頭,然後指定一個值。例如,X-9.2意味著終點X坐標- 9.2。F3000.0意味著進給速度(F)是3000。E0.0377意味著擠出率(E)是0.0377。

  從字母G開始的命令是幾何命令,它們告訴印表機頭如何移動,但這顯然不足以控制3D印表機的所有方面。如果你需要告訴印表機關掉電機或提高床溫呢?對於這些非幾何任務,G代碼的實現還定義了一組以字母M開頭的命令,它們被貼切地稱為M碼。命令M140設置床溫,命令M190使印表機等待達到目標溫度。

  你在G代碼中遇到的每一個英文字母都有特定的意義。例如,G表示幾何命令,M表示非幾何命令,x表示x坐標,y表示y坐標,f表示進給速度等。其實在G-M代碼中有時候還會摻雜一些其它字母標示參數意義,比如T、S、F、P等,具體意義見下表。

  

  (ps:表中 nnn表示的是數字)

  三、一些常用的G代碼命令

  正如指令G1:以直線的方式控制噴嘴。這只是眾多G代碼命令中的其中一個,下面,我們將討論其他一些我們會使用到的重要的G代碼命令。

  1、G0(快速移動)

  G0命令讓列印頭以最大行程速度從當前位置移動到命令指定的坐標處。列印頭將以協調的方式移動,使得兩個軸同時完成路徑。

  

  執行此命令時,噴嘴不會擠壓任何材料。這個命令通常用於將噴嘴迅速地送到列印開始或列印時所需的坐標處。

  2、G1(可控移動)

  G1命令讓列印頭以指定的速度從當前位置移動到由命令指定的協調位置,其中速度由進給速度參數F指定。列印頭將以協調的方式移動,使得兩個軸同時完成路徑。

  

  當印表機執行此命令,擠出速率參數E確定了擠出率時,印表機可以擠出材料。

  3、G17/G18/G19(選擇平面)

  這些G代碼指令設置噴嘴應該移動到哪個平面。通常,G17是大多數機器的默認,它表示x-y平面。而G18、G19分別表示的是Z-X平面和Y-Z平面。

  4、G20/G21(單位設置)

  這些指令設置的是代碼單位:G20代表英寸,G21表示毫米。兩者間差異很大,這是因為圖中G20意味著「迅速移動到x = 7英寸和Y = 18英寸」

  

  G21意味著「迅速移動到x = 7毫米和Y = 18毫米」。

  

  5、G28(返回參考點)

  G28命令讓機器返回參考點,如返回初始位置:

  6、G90(絕對值指令)

  絕對值指令讓機器將坐標解釋為絕對坐標,這意味著一個命令:將機器頭移動到坐標x = 10。

  7、G91(增量值指令)

  增量值指令與絕對值指令相反,它讓機器將坐標解釋為相對坐標。如果機器當前是x = 10,則以下命令是告訴機器從當前位置向X方向移動10個單位。在操作結束時,機器頭將位於坐標x = 20處。

  

  8、G2(順時針方向移動)

  G2讓機器從其當前位置開始順時針移動,端點由坐標X和Y指定。旋轉中心由參數 I確定,它表示旋轉中心的當前位置的X偏移量。J表示旋轉中心的當前位置的Y偏移量。

  

  9、G3(逆時針方向移動)

  就像G2命令,G3命令創建一個圓周運動,但它是逆時針方向。

  

  10、Code comments(代碼注釋)

  現實中的G代碼文件,除了G代碼命令和參數,它還包含用淺顯的英語寫的別的東西。其實「;」後面的內容為解釋性語句,即注釋,固件會忽略其內容。為了減少通信量,可以把注釋信息都去掉。

  程式設計師通常需要用簡單的英文寫下解釋,一方面可以預防自己遺忘掉,另一方面以便其他程式設計師能夠理解某一行或部分代碼的意思。

  五、一個成熟的G代碼程序的結構

  大多數的G代碼程序包含三個重要部分。第一部分列印過程中初始化印表機。第二部分指示印表機列印模型。第三部分在列印完成後將印表機重置為默認配置。具體如下

  1、初始階段

  在列印開始之前需要執行某些任務。例如,我們需要加熱列印床,加熱擠出機,清洗噴嘴,將噴嘴移動到起始位置等。這些任務是所有程序的第一部分。

  這是一個實際的3D列印任務的前五行的初始化代碼。就此,在最後的參考表的幫助下,你應該能看並理解他們。

  

  第一行將坐標設置為絕對坐標。第二行設置擠出機的擠出率為絕對值。第三行打開風扇,但設置速度為0,這基本上意味著風扇關閉。第四行設置床溫為100度。第五行是指,在這種情況下,印表機等待床溫達到期望值100℃。

  在初始化階段,印表機將不會擠壓任何材料,除非它是在清洗噴嘴。這是一個簡單的方法來區分初始化階段停止和實際列印開始。在實際的列印過程中,印表機幾乎每一步都在擠出材料。

  2、列印階段

  3D印表機逐層列印模型。像simplify3d或Cura這類的切片軟體通常將三維模型分成多個水平層,堆疊在彼此的頂部來完成最終的列印。

  因此,列印階段包括在X-Y平面移動(印刷一層),然後在Z方向移動(移動到下一層)隨後在X Y平面再移動(列印下一層)。具體如下:

  

  3、重置印表機

  最後,當列印結束時,最後的一些G代碼行會將印表機重置到默認狀態。例如,噴嘴回到原點,加熱關閉(無論是熱床或是擠出機)和電機禁用。

  

  六、輸入和輸出

  到目前為止,我們只談到了計算機發送指令到印表機,看來傳達指令是一種方式。但是3D列印實際上涉及計算機和印表機之間的雙向通信。

  當你點擊您的計算機上的「列印」按鈕時,3D列印軟體開始發送指令到印表機,一次一行。印表機執行指令並反饋給計算機。如果反饋的指示沒有錯誤,則計算機將發送要執行的下一行代碼。印表機的反饋通常遵循以下格式:

  

  其中:

  ok意味著沒有檢測到錯誤。這提示計算機發送的G代碼的下一行到印表機。

  rs表示「重新發送指令」。這通常是重發代碼行。

  兩個感嘆號(!!)意味著硬體錯誤。在這種情況下,機器立即關閉,列印作業中止。

  除了這3個反饋,印表機還可以報告印表機參數到計算機,如溫度,噴嘴的坐標等。如對M105(查看文末附錄二可查看每一個G代碼命令的意義)命令溫度反饋,反饋的格式會是:

  其中:T表示擠出機溫度,B表示床層溫度。如果機器沒有溫度傳感器,則-273將作為一個值被返回。

  對M114和M117(查看文末附錄二可查看每一個G代碼命令的意義)命令坐標反饋,反饋的格式會是:

  這裡,C代表「坐標跟隨」,也就是當前x,y,Z坐標和其他信息。

  七、用G代碼預覽的功能防止列印失敗

  在複雜的3D模型列印中,成功與失敗的關鍵在於是否會利用G代碼預覽功能。一般來說,當你想列印一個複雜的三維模型時,我們最好是使用G代碼查看器,檢查每一步的列印步驟。

  之所以這樣做,是因為自動生成的G代碼往往不會很理想,容易導致列印失敗。在這種情況下,我們需要修改代碼以確保列印成功。

  附錄1:兼容性說明

  每臺3D印表機都會自帶一些固件,而這些固件的開發者往往都有自己編程風格。這就造成了兼容性問題,適合一種機器的G代碼,未必就一定適合其它的機子!

  當然,我們可以通過聯機的方式來處理這個問題~

  附錄2:G代碼命令的意義

  

  

  (本文為ANYCUBIC原創內容,禁止抄襲,如需轉載請註明來源)

特別聲明:以上內容(如有圖片或視頻亦包括在內)為自媒體平臺「網易號」用戶上傳並發布,本平臺僅提供信息存儲服務。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相關焦點

  • 3D列印資源庫是做什麼的?這就是一個行業垂直平臺
    3D列印資源庫(3dzyk.cn)成立於2013年,是專注於3D列印的垂直平臺。分享3d列印模型、軟體、圖紙、教程,並提供新聞資訊、行業研究、機器製作、列印服務等;整合行業資源,提供專業服務,做有價值的3D列印綜合服務平臺。3D列印資源庫集媒體、資源、培訓、社群為一體,將是您進行3D列印的第一站。
  • 3D列印筆繪畫技巧,新手入門指南,硬核乾貨!魔法貓免費分享
    3D列印筆孩子不知道畫什麼怎麼辦?孩子怎麼樣才能輕鬆掌握3D列印筆的使用技巧,快速上手,Magic Cat魔法貓3D繪畫筆為您分享滿滿的實操乾貨分享!話不多說,硬核分享馬上開始:一、3D模型製作過程中的要點1. 仔細閱讀魔法貓3D列印筆使用說明書,正確使用列印筆,如剪齊料口、停止繪畫後及時退出材料等,以延長使用壽命,注意使用安全;2.
  • 想怎麼列印就怎麼列印,Excel列印技巧就這麼隨意!
    今天阿鍾老師分享幾個Excel列印小技巧,花上幾分鐘學習,讓工作效率提升百倍。【想打哪裡打哪裡】01.不列印錯誤值表格中用函數公式計算時,出現了錯誤代碼,我們希望在列印時不顯示錯誤代碼,如何操作?點擊【頁面布局】選項卡中的【列印標題】按鈕,調出頁面設置窗口;在窗口中間位置,錯誤單元格列印為,選擇【空白】;最後點擊【確定】,錯誤代碼就列印不出來了。
  • 魔法貓3D列印筆商標成功註冊!愛上創造,魔法貓和您一起3D繪畫!
    魔法貓是深圳市華材科技有限公司的自有品牌,專注於3D列印筆的設計及製作,目前,我們共有CLASSIC經典款、WIRELESS無線款、WIRELESS豪華款三款低溫3D列印筆,適用於兒童及新手入門的夥伴,低溫安全,操作方便。產品質量受到了國內外廣大客戶的認可。
  • 逆劍3D手遊攻略大全 新手玩法技巧匯總詳解
    逆劍3d手遊怎麼玩,逆劍3D手遊新手如何快速上手,逆劍3D手遊戰鬥力怎麼提升呢?
  • Github霸榜:從零開始學3D著色器編程
    新智元原創 來源:Github編輯:元子【新智元導讀】這篇教程是今日GitHub趨勢榜第一,一天便達到了1500星。主要介紹了通過使用Panda3D遊戲引擎和OpenGL著色語言來為3D遊戲添加紋理,法線貼圖,泛光,環境遮擋等等。教程內容十分豐富,動圖也非常生動。
  • 一文了解2020年3D列印材料市場規模與發展趨勢 金屬3D列印替代大
    經過 30 多年的發展,3D 列印技術不斷完善,目前已形成了3D 生物列印、有機材料列印、金屬列印等多種列印模式,我國3D列印材料仍以工程塑料為主。2019年7月,主營業務為金屬列印的鉑力特在科創板上市,前瞻預計未來金屬3D列印材料將迎來新的爆發期。
  • 3D列印房子到底是什麼原理?
    近幾年來,3d列印技術有了很迅速的發展,且在現代社會生活的很多領域到取得了很廣泛的運用,而在房屋建築領域,3d列印技術技術操作更加方便、簡單和快捷,可以運用簡單、真實的材料對實體進行快速的建造和成形,成品能夠直觀的反映出建築設施的結構、尺寸等相關特點,3d列印技術建築模型在未來的發展中具有良好的發展潛力。
  • 3d印表機的優點是什麼_學3d列印有前景嗎
    打開APP 3d印表機的優點是什麼_學3d列印有前景嗎 網絡整理 發表於 2020-03-21 11:09:57   3d印表機的優點是什麼   3D印表機的優勢在於成本少、可以做出傳統技術做不出來的外形、列印出來的東西重量輕。
  • 動物森友會code碼怎麼用-code碼使用教程介紹
    動物森友會code碼怎麼用呢?集合啦動物森友會遊戲中玩家開啟了裁縫店後就能通過code碼獲得或者分享別人的服裝和飾品,但是有部分玩家對此玩法還不了解,下面隨小編一起來看看動物森友會code碼使用教程介紹吧。
  • 3D列印教程丨親手製作收納盒,跟桌面雜亂說拜拜!創想三維
    這個時候您就應該拿出一臺3D印表機,自己動手列印一個可攜式收納盒。下面,就讓我來教大家怎麼利用123D這款軟體自己建立一個收納盒的模型吧!      1、使用123D軟體,可在官網(www.cxsw3d.com)下載。
  • 這些Python代碼技巧,你肯定還不知道
    人們還經常把 Python 笑稱為「可執行偽碼(executable pseudocode)」。你甚至可以在 inspect 模塊上調用其方法!inspect 模塊:https://docs.python.org/3/library/inspect.html下面的代碼示例使用 inspect.getsource() 列印自己的原始碼。它還使用 inspect.getmodule() 列印定義它的模塊。
  • 如何用3d立體列印筆繪畫蝴蝶?魔法貓教程分享
    經常在網絡上看到有人在求3D列印筆的繪畫教程、立體繪畫攻略,給人的感覺好像用好3D筆特別難。網絡上各路炫技的大神,在無形中抬高了3D筆準入的門檻,但事實上,並不需要很高端的技法,就能畫出我們自己的3D世界。
  • 《英雄聯盟手遊》新手教程怎麼玩 新手教程玩法技巧分享
    導 讀 英雄聯盟手遊新手教程怎麼玩,有不少玩家都想知道答案,今天小編就為大家帶來英雄聯盟手遊新手教程玩法攻略
  • 動物森友會code碼怎麼用 code碼使用教程圖文攻略
    動物森友會code碼如何用?集合啦動物森友會遊戲中玩家開啟了裁縫店後就能通過code碼獲得或者分享別人的服裝和飾品,但是有部分玩家對此玩法還不了解,下面小編就給大家帶來了動物森友會code碼使用攻略,一起看看吧! 動物森友會code碼使用攻略 服裝店開啟教程 集友會的服裝可以分享Code啦。
  • 使用3d印表機列印人像需要多少費用
    隨著3D列印技術發達,遍及到:醫療、航空航天、以及3d列印創客教育等各行各業中。當然3d列印技術也可以列印人像模型。像杜莎夫人、吳亦凡、anglebaby等明星也使用3d印表機列印人像。我們也可以列印人像送給親朋好友或者是自己的愛人,也是個非常不錯的選擇的!
  • 新手常遇的3D印表機問題及處理方法
    很多新手可能剛接觸3D印表機,對它的很多方面都不了解,小編收集了一些常見的問題及解決方法,讓你更快熟練上手使用3D印表機。 3.提高模型數據輸出的解析度 2 、列印不按程序列印 原因:1.切片數據有錯誤 。2.sd卡數據錯誤 。3.屏幕數據輸出信號幹擾。4.主板散熱問題 處理:1.檢測數據是否有問題,是否有破面等錯誤。2.格式化sd卡(不要快速格式化)或者更換。
  • 為什麼要讓你的代碼儘可能簡單
    你是否想成為一位寫「不良代碼」的「不良程式設計師」,因為你讀過有關編寫「不完美的初稿」的建議?不,你想成為一名「成功的程式設計師」,編寫「出色的代碼」,因為你正在遵循從「簡單的初稿」開始編碼的技巧。如果你曾經複製過一個代碼示例,然後對其進行了調整以供自己使用,那麼實際上你已經學會了「簡單的初稿」的訣竅。
  • 《我的世界》1.41快速附魔新手教程
    下面小編就為大家分享《我的世界》1.41快速附魔教程,一起來看看吧。 我的世界1.41快速附魔教程: 步驟如下: ①走到你想刷的箱子所在的教學區。 ②無視教學提示直接打... 《我的世界》附法是什麼?下面小編就為大家分享《我的世界》1.41快速附魔教程,一起來看看吧。