Open source

YouTuber develops open-source custom G-code generator for 3D printing

Technology YouTuber Create Inc has developed an open-source 3D printing G-code generator that allows users to create custom G-code without the need for a 3D model.

Inspired by the FullControl GCODE Designer developed by Loughborough University’s Dr. Andrew Gleadall, Create Inc’s browser-based version has been implemented as a website, making it a more accessible option. The software ultimately enables users to control every aspect of an FFF build’s toolpath, line-by-line, paving the way for previously impossible geometries such as support-free string structures and highly customizable lattices.

Create Inc explains, “A typical 3D printing pipeline has four steps. You or someone else creates a model for you to export and load it into a slicer (1). The slicer will then generate the G-code for you (2). You take this G-code and you transfer it to a printer of your choice (3), and the part is printed (4). My aim is to get rid of the first two steps, and directly generate the G-code. It’s not an approach that would work for every type of print, but it’s definitely an approach that opens up new avenues for us.”

A custom multi-material Christmas tree model designed using Create Inc's G-code generator. Photo via Create Inc.
A custom multi-material Christmas tree model designed using Create Inc’s G-code generator. Photo via Create Inc.

What is G-code?

To understand the novelty of Create Inc’s G-code generator, it’s essential to understand what G-code actually is. G-code isn’t something that’s necessarily specific to 3D printing (as it’s also used in CNC machining operations), but it can be thought of as the ‘language of 3D printers’. It’s a programming language used to map out the path of a system’s toolhead over the course of a build, determining when the nozzle moves, stops, and extrudes.

The vast majority of any G-code file typically consists of two main commands: G0 and G1. The former is a very simple function that tells the printer where to move without extruding any filament, while the latter prints a straight line according to the XYZ coordinates defined in its list of parameters. Some of the other parameters associated with these commands include the travel speed, material flow rate, cooling rate, and much more.

Create Inc designing a custom G-code. Image via Create Inc.
Create Inc designing a custom G-code. Image via Create Inc.

The power of fully customizable G-code

While the combination of conventional 3D CAD software and slicing software is generally sufficient for designing most types of geometries, it still doesn’t give us full control over a printer’s movements. For example, using programs like SOLIDWORKS and Cura, it’s near impossible to 3D print pine tree-like spiny structures, a complex web-like mesh with sets of interlocking ‘strings’, or non-planar toolpaths that emulate mathematical functions like sinusoids.

For each of these parts, a custom line-by-line G-code is necessary, but commercial slicers and engineering design programs simply don’t have the functionality. Create Inc’s online G-code generator took him around two weeks to develop, and enables users to string together combinations of G0s and G1s in a programmatic manner. The website also has a graphical toolpath viewer that showcases all of the individual commands as they are added, enabling users to design geometries that would otherwise be tedious or downright impossible.

Create Inc’s open-source 3D printing G-code generator can be found here.

FullControl GCODE Designer part. Photo via Loughborough University

FullControl GCODE Designer part. Photo via Loughborough University

FullControl GCODE Designer part. Photo via Loughborough University

FullControl GCODE Designer part. Photo via Loughborough University

The open-source 3D printing community is a petri dish for innovation, delivering novel hardware and software previously unseen. Just this month, 3D printing content creator Teaching Tech 3D printed and showcased his own open-source version of a rare antique fractal vise. Unlike a standard straight vise, which is typically only capable of clamping straight objects, the 100 year old fractal design is capable of morphing to grip virtually any part, regardless of the complexity of the geometry. 

Elsewhere, an MIT student that goes by the name of Lucas VRTech has previously designed and 3D printed a pair of low-cost finger tracking gloves for use in virtual reality. Named LucidVR, the open-source gloves grant users the ability to precisely track their fingers without the use of dedicated VR controllers.

Nominations for the 2021 3D Printing Industry Awards are now open, have your say in who is leading the industry now.

Subscribe to the 3D Printing Industry newsletter for the latest news in additive manufacturing. You can also stay connected by following us on Twitter, liking us on Facebook, and tuning into the 3D Printing Industry YouTube Channel.

Looking for a career in additive manufacturing? Visit 3D Printing Jobs for a selection of roles in the industry.

Featured image shows Create Inc. Photo via Create Inc.