其他方式登錄
掃一掃微信咨詢
010-53652212
(工作日)
152 0110 5575
152 1011 0562
(周末)
QQ咨詢
首頁 > 3D資訊

什么是G代碼?

魔猴君  知識堂   1天前

人氣 71

G代碼是所有計算機數(shù)控(CNC)機器(如3D打印機、激光切割機,當然還有CNC銑床)背后的秘密魔法。它充當數(shù)字設計和物理制造之間的紐帶,將這些設計轉(zhuǎn)化為機器可以執(zhí)行的精確指令,使其栩栩如生。

在本文中,魔猴網(wǎng)將和大家一起學習G代碼的基礎知識以及它在不同應用中的工作原理,例如熔融沉積成型(FDM)3D打印、樹脂基3D打印和CNC銑削。此外,我們還將探索一些有用的G代碼技能,例如手動編輯.gcode文件、了解它們在不同機器之間的差異以及如何使G代碼適應不同的固件。

什么是G代碼?


G代碼使我們能夠以CNC機器能夠理解的方式將我們的設計傳達給它(來源:AethericEye via Reddit)

G代碼代表“幾何代碼”,它是一種用于控制計算機數(shù)控(CNC)機器的編程語言。

您可能想知道,為什么我們需要數(shù)控機床的編程語言?

如果我們想用CNC銑床從木頭上切出一個立方體,手動控制機器可能不會花太長時間。但是,如果我們想切割50個立方體(或更復雜的東西),我們可以簡單地編寫一組用G代碼編寫的命令,這將使我們能夠自動化控制過程并節(jié)省大量時間。這就是為什么G代碼在任何現(xiàn)代CNC機器中都起著至關(guān)重要的作用,其中也包括您的3D打印機!

計算機最初于20世紀50年代作為自動化革命的一部分而開發(fā),很快便成為控制車床、銑床等機械加工工具以及后來的3D打印機和其他制造設備的支柱。但它是由什么制成的呢?

G代碼的基本結(jié)構(gòu)

G代碼指令由簡單、人性化且易于理解的命令組成,這些命令告訴機器如何操作。每一行稱為“塊”,代表一條指令或命令,包括:

<!--[if !supportLists]-->1、<!--[endif]-->命令代碼(例如G01、M104)

<!--[if !supportLists]-->2、<!--[endif]-->指定坐標或設置的參數(shù)(例如X10 Y20 Z5位置或F1500進給速率)

G代碼有兩種命令。一種是“G”,它控制機器中的運動,如G28(將所有軸歸零)。另一種是“M”,它處理非運動功能,如設置溫度(M104)或更換工具(M06)。

技術(shù)概述


3D打印、激光雕刻和CNC銑削三合一機器(來源:Aurora Tech via YouTube)

熔融沉積成型(FDM)是一種3D打印方法,通過擠出熔融的細絲逐層構(gòu)建物體。雖然它不能像樹脂基3D打印機那樣打印小細節(jié),但由于其簡單性和可承受的價格,它仍然是業(yè)余愛好者的熱門選擇。G代碼特定于每種打印機型號和打印本身,因為不同的打印機具有不同的尺寸、運動(例如不同的運動系統(tǒng))等。

FDM 3D打印機不同,CNC銑削涉及從現(xiàn)有部件中減去材料。因此,CNC銑削的G代碼不是以確定的方式添加材料的指令,而是基于精確的減材制造實踐。

基于樹脂的3D打印,例如立體光刻(SLA)和數(shù)字光處理(DLP),其操作方式與FDM 3D打印不同。FDM的概念是基于通過噴嘴擠出熔融的長絲,從而逐層構(gòu)建物體-就像蛋糕上的糖霜一樣。另一方面,基于樹脂的打印使用感光樹脂,該樹脂通過將其暴露在受控光線下一次一層地固化(硬化)。為此,控制系統(tǒng)主要圍繞Z軸的移動和曝光設置,因為沒有噴嘴擠出長絲。

雖然FDM 3D打印機、CNC銑床、樹脂基3D打印機都使用G代碼,但由于這三種打印機的不同,具體命令和功能也有很大差異,下面我們來詳細了解一下。

一、在FDM 3D打印中


從一組指令到Benchy(來源:All3DP)

FDM 3D打印依靠G代碼來管理刀頭的移動以及擠出的精確控制。常用命令包括:

運動和定位G01用于控制線性運動,指定X、Y和Z坐標以及進給速度(刀架的移動速度)F。例如,G01 X50 Y25 Z0.3 F1200以1,200 mm/min的進給速度將刀架移動到X=50 mm、Y=25 mm、Z=0.3 mm。

擠出:E參數(shù)與G01一起使用,用于擠出或縮回細絲。例如,G01 X60 Y25 E5 F1500移動到X=60毫米和Y=25毫米,同時以1,500毫米/分鐘的進給速度擠出5毫米細絲??梢允褂眠M行縮回G01 E-1 F1800,以1,800毫米/分鐘的進給速度縮回1毫米細絲。

溫度設置:M104等命令用于設置噴嘴溫度,而M140用于加熱床。例如,M104 S200將噴嘴溫度設置為200°C,M140 S60將床溫設置為60°C。

風扇控制:M106打開風扇并設置其速度,M107關(guān)閉風扇。例如:M106 S128將風扇速度設置為50%(S128,最大值為S255)。

FDM特定的G代碼通常包含用于管理打印速度、回縮設置和其他打印特定操作(如暫停(M0)或更換燈絲(M600))的參數(shù)。由于FDM打印機通過向構(gòu)建區(qū)域添加材料來工作,因此G代碼專注于增材制造方法。

二、在CNC銑削中


CNC銑床將金屬從物體上“切除”(來源:YouTube上的CAD/CAM解決方案)

如上所述,對于CNC銑削,運動與從工件上去除材料有關(guān)。例如:

刀具路徑控制:G17、G18和G19等命令選擇工作平面。G17設置XY平面,G18設置XZ平面,G19設置YZ平面,確保切削刀具的精確定位。

進給率和切削深度:F參數(shù)指定進給率,而S參數(shù)設置主軸速度(切削刀具的旋轉(zhuǎn)速度)。例如,F(xiàn)1000將進給率設置為1,000 mm/min,將S1200主軸速度設置為1,200 RPM。這些參數(shù)對于控制切削速度和深度至關(guān)重要。

高級操作:G02和G03等命令控制圓弧插補。G02指定順時針圓弧,而G03指定逆時針圓弧。刀具補償由G41和G42處理,其中G41將刀具偏移到切削路徑的左側(cè),而G42將刀具偏移到右側(cè),從而可以根據(jù)刀具尺寸進行精確調(diào)整。

三、基于樹脂的3D打印


FDM相比,樹脂打印機可以打印出一些令人驚奇的細節(jié)……(來源:DaveMakesStuffBC via Reddit)

我們已經(jīng)了解了FDM打印的典型G代碼操作是什么樣的。樹脂打印機通常使用以下G代碼:

Z軸移動:這些只需要在層之間沿Z軸移動構(gòu)建平臺,與FDM相比,這簡化了G代碼結(jié)構(gòu),因為不需要X軸和Y軸。例如,G1 Z1.2 F150以150 mm/min的速度將構(gòu)建平臺移動到Z=1.2 mm。

層固化:命令包括各種曝光時間設置,這些設置控制樹脂通過紫外線固化以創(chuàng)建每一層的時間,例如,初始層和后續(xù)層有不同的選項。例如,M106 S255 P10打開紫外線10秒。

剝離和提升操作:樹脂打印機可能包含特定的G代碼命令,用于在層間剝離或提升,以減少吸力并為下一層做準備。例如,G1 Z1.5 F100將平臺稍微提升至Z=1.5毫米以剝離該層。

可以想象,FDM的G代碼通常更詳細,因為它包含溫度、擠出和所有三個軸上的移動命令。另一方面,樹脂3D打印的G代碼主要包括Z軸定位命令和曝光設置。由于沒有絲材擠出,因此沒有擠出或回縮相關(guān)的命令。

四、制作方法


單擊開始和結(jié)束腳本框即可保存您的編輯(來源:All3DP)

如果您想知道是否需要學習所有G代碼命令才能打印或銑削模型,那么您不必擔心。

FDM和基于樹脂的打印的G代碼由切片軟件生成,您可以在其中導入模型、指定3D打印設置并將過程轉(zhuǎn)換(又名切片!)為您的打印機的G代碼。

對于FDM,流行的程序包括Cura和PrusaSlicer,它們都是開源的,支持市場上的大量打印機?;跇渲拇蛴∈褂米约旱那衅瑱C,如Chitubox和Lychee Slicer。如上所述,F(xiàn)DM打印有許多設置可供查看,而基于樹脂的3D打印沒有那么多設置,但仍有相當多的設置需要查看。

對于CNC銑床,計算機輔助加工(CAM)軟件可以幫助根據(jù)設計準備適當?shù)腉代碼。Autodesk Fusion包含CAD和CAM功能,使其成為CNC項目的首選。正如預期的那樣,還有許多其他選項,其中有很多免費選項可供試用。

無論您要為CNC機器還是3D打印機準備G代碼,通常都可以使用上述軟件自動完成。也就是說,學習如何手動編輯G代碼是一項很有價值的技能。讓我們仔細看看。

五、手動編輯G代碼


您可以使用任何支持純文本的文本編輯器來編輯G代碼(來源:Shayon Khaled通過All3DP)

如上所述,編輯G代碼是一項很有用的技能。這是因為它允許您自定義打印或加工操作,比切片或CAM軟件允許您執(zhí)行的操作更進一步,并且您還可以動態(tài)調(diào)整設置或排除任何問題。

編輯G代碼非常簡單,因為通常任何支持純文本的文本編輯器都可以打開.gcode文件。您可以使用Notepad++、Visual Studio Code或您選擇的任何其他文本編輯器。但是,如果您要執(zhí)行的操作超出了簡單的更改范圍,則最好使用專門的G代碼編輯器(例如Repetier-Host或PrusaSlicer)。它們提供了語法突出顯示和自動錯誤檢測等實用功能,因此可以安全輕松地完成復雜的修改。

進行更改后,您還應該通過可視化工具運行G代碼,以確保沒有錯誤。例如,工具頭移動命令中簡單的數(shù)字遺漏可能會導致其撞到某物并造成昂貴的損壞。如今,大多數(shù)切片機和CAM工具都配有自己的G代碼查看器。如果您想使用單獨的查看器,OctoPrint的G代碼查看器或Repetier-Host會很方便。

六、為什么每個G代碼文件都是唯一的


盡管有些相似,但差異卻很大(來源:Jasper-CC via Reddit)

如上所述,每個G代碼文件都是獨一無二的,因為它是根據(jù)其創(chuàng)建時所針對的特定機器、材料和設置進行定制的。如果您嘗試在非其設計機器上運行它,至少可能會導致故障-最壞的情況是,它可能會損壞機器或刀架,需要漫長而昂貴的維修。

以下是為不同的FDM機器創(chuàng)建的G代碼文件中的一些常見差異:

1機器特定參數(shù):這些通常包括獨特設置,例如構(gòu)建板尺寸、軸限制和工具偏移,所有這些設置可能因型號而異。

2、固件差異:不同的固件(例如Marlin、Klipper、GRBL)對各種G代碼命令的解釋和支持不同(或根本不支持),從而影響兼容性。

3、材料要求:G代碼包括特定于所用材料的溫度和速度設置(例如PLA與ABS)。由于設置不當,其他材料可能無法正常工作或根本無法工作。

4打印機功能:具有雙擠出或自動床面調(diào)平等功能的機器需要在其G代碼中使用不同的命令。

G代碼適配到另一臺機器需要調(diào)整這些參數(shù)以匹配新設置,而且通常不值得手動修改G代碼文件。如果您想在另一臺機器上打印,更簡單的方法是在切片軟件中重新創(chuàng)建G代碼并選擇正確的3D打印機或直接將模型切片。


編譯整理:all3dp

   
魔猴折讓
魔猴迎賓
流程
廣告位
二維碼