Extended G-Code Format for Multi-Axis 3D Printing

Chengkai Dai, Charlie C.L. Wang

Introduction G-Code Extension Examples

Introduction

This page contains the description of an extended G-code file format for defining the tool-paths that can realize the multi-axis 3D printing. An example of this spatial material accumulation can be found in our prior research paper [1], which introduced a framework to fabricate a volume by 3D printing in a support-free way. The implementation can be found in our curved-layer slicer VoxelMultiAxisAM, which imports a watertight 3D model, decomposes it into curved layers in a support-free and collision-free manner, and outputs the extended G-code files for realizing the mutli-axis 3D printing. Detail format specification and example G-code files can be found below.

Reference:
[1] Chengkai Dai, Charlie C.L. Wang, Chenming Wu, Sylvain Lefebvre, Guoxin Fang, and Yongjin Liu, "Support-free volume printing by multi-axis motion", ACM Transactions on Graphics (SIGGRAPH 2018), vol.37, no.4, article no.134 (13 pages), July 2018. [PDF]

G-Code for Planar 3D Printing

The G-code file for supporting multi-axis 3D printing is extended from the original RepRap G-code that has been widely used in 3D printing community. Here we only review the most commonly used G-commands in RepRap G-code for conventional planar-layered 3D printing.

Example Code:


The meaning of each command line is as follows.
  • G92 E0: Reset extruder distance position.
  • G28: Move to the home position.
  • G0 is a command for rapid movement, where F600 specifies the speed as 600 (mm / min.) for the nozzle movement to the followed positions specified by Xnnn, Ynnn and Znnn (unit: mm).
  • G1 stands for a linear movement to the specified position, where Ennn gives the amount of material to extrude between the starting point and ending point (e.g., 1.026mm of material will be extruded by the above code).

    For the detailed explanation for all different commands and parameters, please refer to RepRap G-Code.

    Extended G-code File Format

    When fabricating a solid model by multi-axis 3D printing, we need to specify not only the position but also the orientation of nozzle in the Euclidean coordinate system. In our extension, we define the orientation of nozzles by the nXnnn, nYnnn and nZnnn flags. One example line of command with nozzle orientation is shown below.

    Example Code:


    nX-0.094 nY0.127 nZ0.987 define the vector (-0.094, 0.127, 0.987) as the orientation of 3D printer head (in the coordinate system of workpiece). All other flags of the RepRap G-code format are used in the same way.

    Examples of Toolpaths

    Here we give 5 example G-code files for the toolpaths to print the models used in [1]. All are compressed in ZIP files.

    Armadilo Bunny Candelabra Woman-Pully Mech-Part
    Armadillo.zip (41.6MB) Bunny.zip (5.3MB) Candelabra.zip (10.3MB) Woman.zip (1.7MB) Mech-Part.zip (1.6MB)


    Home