Ръководство за G-кодовете на Marlin - как да ги използвате за 3D печат

Roy Hill 06-08-2023
Roy Hill

G-кодовете се използват широко в 3D принтирането, особено чрез фърмуера на Marlin. Много хора се чудят как да използват G-кодовете в своя полза, затова реших да напиша тази статия, за да помогна на читателите.

В останалата част на статията има някои полезни подробности за G-Code, така че продължете да четете за повече информация.

    Какво представляват G-кодовете в 3D принтирането?

    G-Code е просто език за програмиране на машини с цифрово програмно управление (ЦПУ) като 3D принтери, фрези с ЦПУ и т.н. Той съдържа набор от команди, които фърмуерът използва за управление на работата на принтера и движението на печатащата глава.

    Как се създава G-код?

    G-кодът за 3D принтерите се създава с помощта на специално приложение, наречено slicer. Тази програма взема вашия 3D модел и го нарязва на тънки 2D слоеве.

    След това определя координатите или пътя, през който да премине печатащата глава, за да изгради тези слоеве. Той също така контролира и задава специфични функции на принтера, като включване на нагревателя, вентилаторите, камерите и др.

    Сред популярните режещи машини на пазара са PrusaSlicer и Cura.

    Видове G-код

    Въпреки че общото наименование на CNC командите е G-Code, можем да разделим командите на две категории:

    • G-Code
    • M-Code

    G-Code

    G-Code е съкращение от Geometry code (Геометричен код). Основната му функция е да контролира движението, позицията или траекторията на печатащата глава.

    С помощта на G-код можете да премествате дюзата по права линия, да я позиционирате на определено място, да я повдигате или спускате, или дори да я премествате по крива линия.

    Вижте също: Как да сканираме 3D обекти за 3D отпечатване

    Те се предхождат от G за да покажете, че те са G-Code.

    M-Code

    M-Code е съкращение от Miscellaneous commands (Разни команди). Това са машинни команди, управляващи други функции на принтера, освен движението на печатащата глава.

    Те отговарят за включването и изключването на двигателите, настройката на скоростта на вентилатора и т.н. Друго нещо, за което отговаря M-Code, е настройката на температурата на леглото и температурата на дюзата.

    Те се предхождат от M, което означава miscellaneous (разни).

    Какво представляват "ароматите" на G-кода?

    Вкусът на G-Code се отнася до начина, по който фърмуерът на принтера (операционната система) очаква да бъде форматиран G-Code-а. Съществуват различни вкусове поради различните стандарти за G-Code и фърмуер, които използват различните марки принтери.

    Например стандартните команди, като преместване, включване на нагревател и т.н., са общи за всички принтери. Някои нишови команди обаче не са еднакви, което може да доведе до грешки при печат, ако се използват с грешната машина.

    За да се противопоставят на това, повечето режещи машини разполагат с опции за настройка на профила на принтера, така че да можете да изберете подходящия вкус за вашата машина. След това режещата машина ще преведе 3D файла в подходящия G-код за вашата машина.

    Някои примери за вкусове на G-Code включват RepRap, Marlin, UltiGcode, Smoothie и др.

    Списък на основните G-кодове в 3D печатането

    Има многобройни команди на G-Code за различни фърмуери на 3D принтери. Ето някои от най-често срещаните, които може да срещнете по време на печат, и как да ги използвате.

    Marlin M0 [безусловен стоп]

    Командата M0 е известна като команда за безусловно спиране. Тя спира работата на принтера след последното движение и изключва нагревателите и двигателите.

    След като спре работата на принтера, той или заспива за определен период от време, или изчаква въвеждане от потребителя, за да се върне в режим на работа. Командата M0 може да приема три различни параметъра.

    Тези параметри са:

    • [P < време (ms) >]: Това е времето, за което искате принтерът да заспи, в милисекунди. Например, ако искате принтерът да заспи за 2000 ms, ще използвате M0 P2000
    • {S< време(а) >]: Това е времето, за което искате принтерът да заспи, в секунди. Например, ако искате принтерът да заспи за 2 секунди, ще използвате M0 S2
    • [ съобщение ]: Можете да използвате този параметър, за да покажете съобщение на LCD дисплея на принтера, докато той е спрян. Например, M0 Натиснете централния бутон, за да рестартирате печатането .

    Забележка: Сайтът M0 е същата като командата M1 команда.

    Marlin M81

    Командата M81 изключва захранващия блок на принтера. Това означава, че всички нагреватели, двигатели и т.н. няма да могат да работят.

    Освен това, ако платката няма алтернативен източник на захранване, тя също се изключва.

    Marlin M82

    Командата M82 поставя екструдера в абсолютен режим. Това означава, че ако G-кодът изисква екструдерът да екструдира 5 mm нишка, той екструдира 5 mm независимо от всички предишни команди.

    Тя отменя командите G90 и G91.

    Командата влияе само на екструдера, така че е независима от други оси. Например, разгледайте тази команда;

    M82;

    G1 X0.1 Y200.0 Z0.3 F1500.0 E15;

    G1 X0.4 Y20 Z0.3 F1500.0 E30;

    Екструдерът се настройва в абсолютен режим с помощта на M82 в ред 1. В ред 2 той чертае първата линия, като екструдира 15 единици нишка.

    След ред 2 стойността на екструдирането не е настроена обратно на нула. Така че на ред 3 E30 екструдира 30 единици нишка с помощта на командата E30 команда.

    Марлин M83

    Командата M83 настройва екструдера на принтера на относителен режим. Това означава, че ако G-кодът изисква екструдиране на 5 мм нишка, принтерът екструдира 5 мм кумулативно, въз основа на предишните команди.

    Вижте също: 7 най-добри 3D принтера за деца, тийнейджъри, млади хора и семейство

    Командата M83 не приема никакви параметри. Например, нека изпълним командата от последния пример с M83 .

    M83;

    G1 X0.1 Y200.0 Z0.3 F1500.0 E15;

    G1 X0.4 Y20 Z0.3 F1500.0 E30;

    След E15 На ред 2 стойността E не се връща на нула, а остава 15 единици. Така че на ред 3 вместо да се екструдират 30 единици нишка, ще се екструдират 30-15 = 15 единици.

    Marlin M84

    Командата Marlin M84 деактивира един или повече от стъпковите двигатели и двигателите на екструдера. Можете да я настроите да ги деактивира веднага или след като принтерът остане неактивен за известно време.

    Тя може да приема четири параметъра. Те включват:

    • [S< време(а) >]: Това задава времето за престой, преди командата да се задейства и да деактивира двигателя. Например, M84 S10 деактивира всички стъпкови механизми, след като са били неактивни в продължение на 10 секунди.
    • [E], [X], [Y], [Z]: Можете да използвате един или повече от тях, за да изберете конкретен двигател, който да работи на празен ход. Например, M84 X Y работи на празен ход с двигателите X и Y.

    Забележка: Ако не използвате никакви параметри в командата, тя веднага пуска всички стъпкови двигатели на празен ход.

    Marlin M85

    Командата M85 изключва принтера и фърмуера след определен период на неактивност. Тя приема параметър за време в секунди.

    Ако принтерът е в покой без движение за повече от зададения параметър за време, той ще се изключи. Например, ако искате да изключите принтера си, след като е бил в покой в продължение на 5 минути, можете да използвате командата:

    M85 S300

    Marlin M104

    Командата M104 задава целева температура за горещия модул на принтера и започва нагряването му. След задаване на целевата температура командата не изчаква горещият модул да достигне температурата.

    Тя веднага преминава към изпълнение на други команди от G-Code, докато хотендът се загрява във фонов режим. Тя приема пет параметъра, които са:

    • [S< температура (°C) )>]: Тя определя целевата температура за екструдера в градуси по Целзий.
    • [T< индекс (0 >]: Ако принтерът има повече от една дюза, можете да използвате тази опция, за да изберете дюзата, за която искате да зададете температурата.
    • [B < температура (°C) )>]: Той задава максималната температура, която може да достигне горещият модул. Можете да го използвате с S параметър за задаване на температурен диапазон за нагревателя.

    Например, ако искате да загреете втората дюза на машина с два екструдера до 200°C, ще използвате командата M104 S200 T1 .

    Marlin M105

    Командата M105 G-Code изисква изпращане на температурен отчет до хоста. Съобщава се, че някои хостове могат да скрият отговора от командата M105, затова е по-добре да се използва командата M155.

    Можете да получите информация за температурата на екструдера, температурата на леглото и дори температурата в камерата за изграждане в градуси по Целзий. Това е самостоятелна команда, така че всичко, което трябва да направите, е да изпратите M105 към принтера.

    Докладът трябва да включва действителната и целевата температура на наличните нагреватели.

    • T - Температура на екструдера
    • B - Температура на леглото
    • C - Температура на камерата

    Marlin M106

    Командата M106 включва вентилатора на принтера и задава скоростта му. Можете да изберете вентилатора и да зададете скоростта му, като използвате параметрите му.

    Тези параметри включват:

    • [S< 0-255 >]: Този параметър задава скоростта на вентилатора със стойности от 0 (изключено) до 255 (пълна скорост).
    • [P< индекс (0, 1, ...) >]: Той определя вентилатора, който искате да включите. Ако остане празен, по подразбиране е 0 (вентилатор за охлаждане на печата). Можете да го настроите на 0, 1 или 2 в зависимост от броя на вентилаторите, които имате.

    Например, ако искате да настроите вентилатора за охлаждане на дюзата на 50% скорост, командата е M106 S127. Сайтът S е 127, защото 50% от 255 е 127.

    Можете също така да използвате M106 без никакви параметри, за да настроите скоростта на охлаждащия вентилатор на 100%.

    Забележка: Командата за скоростта на вентилатора не влиза в сила, докато не бъдат изпълнени предшестващите я команди G-Code.

    Марлин M107

    M107 изключва един от вентилаторите на принтера в даден момент. Това отнема един параметър, P , което е индексът на вентилатора, който искате да изключите.

    Ако параметърът не е зададен, P по подразбиране е 0 и изключва вентилатора за охлаждане на печата. Например, командата M107 изключва вентилатора за охлаждане на печата.

    Марлин M109

    Подобно на M104 командата M109 задава целева температура за горещия модул и го загрява. M104 , той изчаква горещият елемент да достигне целевата температура.

    След като нагревателят достигне целевата температура, хостът продължава да изпълнява команди G-Code. Той приема всички същите параметри, които приема командата M104.

    Той обаче добавя една допълнителна функция. Тя е:

    • [R< температура (°C) )>]: С този параметър се задава целевата температура, до която да се нагрява или охлажда нагревателят. S изчаква, докато принтерът загрее или охлади дюзата до тази температура.

    Сайтът S командата изчаква при отопление, но не и при охлаждане.

    Например, ако искате дюзата да се охлади до 120°C от по-висока температура, командата е M109 R120.

    Изключване на Marlin M112

    M112 е команда за аварийно спиране G-Code. След като хостът изпрати командата, тя незабавно спира всички нагреватели и двигатели на принтера.

    Всяко движение или печат в процес на изпълнение също се спира незабавно. След активиране на тази команда ще трябва да нулирате принтера, за да възобновите отпечатването на модела.

    Във фърмуера на Marlin командата може да заседне в опашката и да отнеме известно време, преди да се изпълни. За да избегнете това, можете да активирате функцията EMERGENCY_PARSER за да се изпълни командата веднага след изпращането ѝ към принтера.

    Можете да активирате това, като отидете във файла за разширена конфигурация на принтера (Marlin/Configuration_adh.v) и премахнете някои текстове от него, както следва:

     // Включете анализатор на аварийни команди, за да прихваща определени команди, когато // влизат в серийния буфер за приемане, така че да не могат да бъдат блокирани. // В момента обработва M108, M112, M410 // Не работи на платки, използващи процесори AT90USB (USBCON)! //#define EMERGENCY_PARSER 

    Ще трябва да премахнете символа // преди #define EMERGENCY_PARSER и да прекомпилирате изходните файлове.

    Можете да научите повече за актуализирането на фърмуера на Marlin във видеото по-долу.

    Марлин M125

    Командата M125 спира печата и паркира печатащата глава в предварително конфигурирано място за паркиране. Тя също така запазва текущата позиция на дюзата в паметта преди паркирането.

    Обикновено във фърмуера на принтера е зададена предварително конфигурирана позиция за паркиране. Можете да паркирате дюзата в тази позиция, като използвате бутона M125 само командата.

    Можете обаче да го промените, като използвате един или повече от тези параметри.

    • [L< дължина >]: Това изтегля определена дължина на нишката от дюзата след паркиране
    • [X< по >], [Y< по >], [Z < по >]: Можете да комбинирате един или повече от тези координатни параметри, за да зададете нова позиция за паркиране на печатащата глава.

    Ако искате да паркирате дюзата в началото и да изтеглите 9 мм нишка, командата е M125 X0 Y0 Z0 L9.

    Марлин M140

    Командата M140 задава целева температура за леглото и незабавно продължава да изпълнява други редове G-Code. Тя не чака леглото да достигне целевата температура, преди да върне управлението на хоста.

    Леглото продължава да се нагрява във фонов режим, докато принтерът изпълнява други редове от G-кода. Приема се един параметър, който е:

    • [S< температура (°C) )>]: Този параметър задава целевата температура за леглото в градуси по Целзий.

    Например, за да загреете леглото до 80 ° C, командата е M140 S80.

    Марлин M190

    Командата M190 задава целева температура за леглото и изчаква, докато леглото я достигне. Тя не връща управлението към хоста и не изпълнява друг G-код, докато леглото не достигне тази температура.

    Забележка: Ако сте задали целевата температура с S параметър, той изчаква само докато загрява леглото UP Ако обаче леглото трябва да се охлади, за да достигне тази температура, хостът не чака.

    За да може командата да изчаква по време на нагряване и охлаждане, трябва да зададете целевата температура с R Например, за да се охлади леглото до 50 ° C и изчакайте, докато достигне тази температура, командата е M190 S50.

    Marlin M400

    Командата M400 поставя на пауза опашката за обработка на G-Code, докато не бъдат завършени всички текущи ходове в буфера. Опашката за обработка изчаква в цикъл, докато не бъдат завършени всички команди.

    След като завърши всички ходове, принтерът продължава да изпълнява G-кода след този ред. Например, погледнете G-кода по-долу:

    M400;

    M81;

    Ред 1 спира обработката, докато всички текущи ходове приключат, и след това ред 2 изключва 3D принтера с помощта на M81 изключване на G-Code.

    Marlin M420

    Командата M420 извлича или задава състоянието на нивелиране на леглото на 3D принтера. Тази команда работи само с принтери, които имат автоматични системи за нивелиране на леглото.

    След изравняване тези принтери създават мрежа от печатащото легло и я записват в EEPROM. Командата M420 може да помогне за извличане на тези данни за мрежата от EEPROM.

    Тя може също така да разреши или забрани на принтера да използва тези мрежови данни за печат. Тя може да приема няколко параметъра, които включват:

    • [S< 0 1 >]: Тя активира (1) или деактивира (0) изравняването на леглото. За да се активира изравняването на леглото, принтерът трябва да има валидна мрежа в EEPROM.
    • [l< индекс >]: Той указва мрежата за изравняване на леглото, която искате да използвате, ако има няколко файла. Той приема като стойност индекса на данните за мрежата.
    • [V]: Отпечатва данните за мрежата, ако е зададена стойност 1. Стойността по подразбиране е 0.
    • [T]: Той задава формата, в който ще бъдат отпечатани извлечените данни за мрежата. 0 ги отпечатва в четим за човека вид, 1 ги отпечатва в CSV, а 4 ги отпечатва в компактен вид.
    • Z< Линейна >]: Тя задава височина на избледняване на Z за принтера. След тази височина принтерът спира да използва компенсацията на мрежата.

    Например, да кажем, че искате да отпечатате данните за втората мрежа в EEPROM във формат CSV. Правилната команда, която трябва да използвате, е: M420 V1 I1 T1

    Marlin M420 S1

    M420 S1 е подмножество на M420 Командата активира изравняването на леглото на принтера, като използва валидна мрежа, която извлича от EEPROM.

    Ако в EEPROM няма валидна мрежа, тя няма да направи нищо. Обикновено се намира след G28 команда за насочване.

    Марлин G0

    Marlin G0 е командата за бързо преместване. Тя премества дюзата от една позиция на друга върху плочите за изграждане чрез възможно най-краткото разстояние (права линия).

    Тя не полага нишки по време на движение, което ѝ позволява да се движи по-бързо от командата G1. Ето параметрите, които приема:

    • [X< по >], [Y < по >], [Z< по >]: Тези параметри задават новата позиция, в която да се преместите по осите X, Y и Z.
    • [F< mm/s >]: Скоростта на подаване или скоростта на печатащата глава. Принтерът автоматично ще използва скоростта на подаване от последната команда G1, ако не е посочена.

    Така че, ако искате да придвижите бързо печатащата глава към началната точка със скорост 100 mm/s, командата е G0 X0 Y0 Z0 F100.

    Марлин G1

    Командата G1 придвижва принтера от една точка до друга върху плочата за изграждане по линеен път. Тя е известна като команда за линейно движение, защото екструдира филамент, докато се движи между точките.

    Това го отличава от бързото движение ( G0 ), която не полага нишки по време на движение. Тя приема няколко параметъра, включително:

    • [X< по >], [Y < по >], [Z< по >]: Тези параметри задават новата позиция, в която да се преместите по осите X, Y и Z.
    • [E< по >]: Това задава количеството филамент, което да се екструдира, докато се движите към новата точка.
    • [F< mm/s >]: Скоростта на подаване или скоростта на печатащата глава. Принтерът автоматично ще използва скоростта на подаване от последната команда G1, ако не е посочена.

    Например за полагане на нишка по права линия между две точки със скорост 50 mm/s правилната команда е G1 X32 Y04 F50 E10.

    Marlin G4

    Командата G4 поставя машината на пауза за определен период от време. През това време опашката от команди е спряна, така че не се изпълняват нови команди G-Code.

    По време на паузата машината запазва състоянието си. Всички нагреватели запазват текущите си температури, а двигателите са все още включени.

    Тя приема два параметъра, които са:

    • [P< време (ms) >]: Това задава времето за пауза в милисекунди.
    • [S< време(а) >]: Това задава времето за пауза в секунди. Ако са зададени и двата параметъра, S има предимство.

    За да спрете машината за 10 секунди, можете да използвате командата G4 S10.

    Марлин G12

    Командата G12 активира процедурата за почистване на дюзата на принтера. Първо, тя премества дюзата до предварително зададено място на принтера, където е монтирана четка.

    След това придвижва агресивно печатащата глава по четката, за да почисти залепналата по нея нишка. Ето някои от параметрите, които може да приеме.

    • [P]: Този параметър ви позволява да изберете желания модел за почистване на дюзата. 0 е прав път напред-назад, 1 е зигзагообразен модел, а 2 е кръгов модел.
    • [S< брой >]: Броят на повторенията на модела за почистване.
    • [R< радиус >]: Радиусът на кръга за почистване, ако изберете модел 2.
    • [T< брой >]: Това задава броя на триъгълниците в зигзагообразния модел.

    Ако искате да почистите накрайника на четката в посока напред-назад, правилната команда е G12 P0.

    Cura предоставя начин за използване на тази команда в експерименталните си настройки. Можете да прочетете повече за командата wipe nozzle в тази статия, която написах на тема "Как да използваме експериментални настройки в Cura".

    Марлин G20

    Командата G20 задава на фърмуера на принтера да интерпретира всички единици като инчове. Така всички стойности на екструдиране, движение, печат и дори ускорение ще се интерпретират в инчове.

    Така че принтерът ще има инчове за линейно движение, инчове/секунда за скорост и инч/секунда2 за ускорение.

    Марлин G21

    Командата G21 задава на фърмуера на принтера да интерпретира всички единици като милиметри. Така че линейните движения, скоростите и ускоренията ще бъдат съответно в mm, mm/s и mm/s2.

    Марлин G27

    Командата G27 паркира дюзата на предварително зададена позиция върху плочите за изграждане. Тя изчаква, докато всички движения в опашката приключат, след което паркира дюзата.

    Това е много полезно, когато искате да спрете печатането, за да направите корекции на отпечатъка. Можете да паркирате дюзата, за да избегнете навеждане над отпечатъка и разтапянето му.

    Тя приема един параметър, който е:

    • [P]: Това определя местоположението на Z-парка. Ако изберете 0, фърмуерът ще повдигне дюзата до местоположението на Z-парка само ако началната височина на дюзата е по-ниска от местоположението на Z-парка.

    Избор 1 паркира дюзата на мястото на парка Z независимо от началната ѝ височина. Избор 2 повдига дюзата с размера на парка Z, но ограничава височината ѝ Z до по-ниска от максималната височина Z.

    Ако използвате G27 без никакви параметри, по подразбиране се задава P0.

    Марлин G28

    Командата G28 насочва принтера, за да установи известно местоположение в началната точка. Насочването е процесът, чрез който принтерът намира началната точка (координата [0,0,0]) на принтера.

    Това става чрез преместване на всяка ос на принтера, докато не се задействат съответните крайни изключватели. Мястото, където всяка ос задейства своя краен изключвател, е нейното начало.

    Ето някои от неговите параметри:

    • [X], [Y], [Z]: Можете да добавите някой от тези параметри, за да ограничите самонасочването до тези оси. Например, G28 X Y само осите X и Y.
    • [L]: Той възстановява състоянието на изравняване на леглото след навиване.
    • [0]: Този параметър прескача насочването, ако позицията на печатащата глава вече е определена.

    Например, ако искате да върнете вкъщи само осите X и Z, правилната команда е G28 X Z. За да върнете всички оси вкъщи, можете да използвате G28 само командата.

    Marlin G29

    G29 е командата за автоматично изравняване на леглото. Тя задейства автоматичната или полуавтоматичната система за изравняване на леглото, инсталирана на вашата машина, за да изравни леглото.

    В зависимост от марката на принтера можете да разполагате с една от петте сложни системи за изравняване на леглото във вашия фърмуер. Те включват:

    • Изравняване на мрежестото легло
    • Автоматично изравняване на леглото
    • Унифицирано изравняване на леглата
    • Автоматично изравняване на леглото (линейно)
    • Автоматично изравняване на леглото (3-точково)

    Всеки от тях има специфични параметри за работа с хардуера на принтера.

    Marlin G30

    Командата G30 сондира конструкторската плоча в определена точка със сондата на автоматичната система за изравняване на леглото. Тя прави това, за да определи височината Z на тази точка (разстоянието от дюзата до леглото).

    След като получи височината, тя настройва дюзата на подходящото разстояние над плочата за изграждане. Тя приема някои параметри, които включват:

    • [C]: Задаването на този параметър на единица позволява температурна компенсация, тъй като повечето материали се разширяват при нагряване.
    • [X< по >], [Y< по >]: Тези параметри определят координатите на мястото, където искате да направите сондата.

    За да изследвате леглото в текущата позиция на дюзата, можете да използвате командата без никакви параметри. За да изследвате леглото в определено местоположение, например [100, 67], правилната команда е G30 X100 Y67.

    Marlin M76

    Командата M76 поставя на пауза таймера на заданието за печат.

    Marlin G90

    Командата G90 настройва принтера в режим на абсолютно позициониране. Това означава, че всички координати в G-кода се интерпретират като позиции в равнината XYZ спрямо началото на принтера.

    Тя също така задава екструдера в абсолютен режим, освен ако командата M83 не я отмени. Тя не приема никакви параметри.

    Marlin G92/G92 E0

    Командата G92 задава текущата позиция на дюзата към зададените координати. Можете да я използвате, за да изключите определени области от печатащото легло, а също и да зададете отмествания за принтера.

    Командата G92 приема няколко координатни параметъра. Те включват:

    • [ X< по >], [Y< по >], [Z< по >]: Тези параметри въвеждат координатите за новата позиция на печатащата глава.
    • [E< по >]: Този параметър приема стойност и я задава като позиция на екструдера. Можете да използвате командата E0, за да нулирате произхода на екструдера, ако той е в относителен или абсолютен режим.

    Например, да кажем, че искате центърът на леглото ви да бъде новото начало. Първо, уверете се, че дюзата ви е в средата на леглото.

    След това изпратете G92 X0 Y0 към вашия принтер.

    Забележка: Командата G92 поддържа физическите граници, зададени от крайните ограничители. Не можете да използвате G92, за да се преместите извън крайния ограничител X или под леглото за печат.

    И така, това е всичко! Горните G-кодове представляват малка, но съществена част от библиотеката с G-кодове, която всеки любител на 3D принтирането трябва да познава.

    Когато отпечатвате повече модели, може да се сблъскате с повече команди G-Code, които да добавите към библиотеката си.

    Късмет и щастливо отпечатване!

    Roy Hill

    Рой Хил е страстен ентусиаст на 3D принтирането и технологичен гуру с богати познания за всички неща, свързани с 3D принтирането. С над 10 години опит в областта, Рой е усвоил изкуството на 3D проектиране и печат и се е превърнал в експерт в най-новите тенденции и технологии за 3D печат.Рой има диплома по машинно инженерство от Калифорнийския университет в Лос Анджелис (UCLA) и е работил за няколко реномирани компании в областта на 3D печата, включително MakerBot и Formlabs. Той също така си сътрудничи с различни фирми и физически лица, за да създаде персонализирани 3D печатни продукти, които революционизират техните индустрии.Освен страстта си към 3D принтирането, Рой е запален пътешественик и ентусиаст на открито. Той обича да прекарва време сред природата, да се разхожда и да къмпингува със семейството си. В свободното си време той също така наставлява млади инженери и споделя своето богатство от знания за 3D принтиране чрез различни платформи, включително популярния си блог, 3D Printerly 3D Printing.