Encoded Matter by Corneel Cannaerts

Created at Generator.x 3: from code to atoms, Corneel sent us these wonderful images of his generative fdm prints created with some help from CodeThread.

We love the Makerbot induced artifacts seen in these abs creations, and can’t wait to print some of our own!

project page
more images
other work from Generator.x 3

Generative CodeThread Experiments

These structures are generated in processing, with the gcode written using the CodeThread library.

The left print has solid extruded walls, whilst the centre print uses small circle profiles at each vertex to create support, then a very thin extrusion to shape the walls.  The one on the right has the extruder turned off between the corners, but the resulting strings create some interesting patterns.

Close-ups showing the translucency of the thin walls (extrusion speed of 180 and feed rate of 1200), and the stacking-patterns created by the remnant strings.

The forms are generated pretty much just using perlin noise.

CodeThread: Making Gcode for Makerbot with Processing

We love MakerBot and have a cupcake cnc, and it’s been great to see how much the machines have developed towards making really nice 3d prints, which are looking especially great with the new mk6 stepstruders. However, one of the things we love about makerbots in contrast to commercial printers is that you have complete control over every aspect of the print technique. We think there is a lot of opportunity to develop new printing styles with makerbots, beyond traditional solid prints.

We are doing some experimentation with the materiality of makerbot prints by working directly in gcode with processing. We have made a small library of functions for printing a gcode file, which provides some simple functions for generating gcode commands.

download (v1.1.2), javadoc

Github Repository :

For example, here is some code for a 30mm thin-walled cube:

CodeThread codeThread= new CodeThread();

int feed = 1200;


codeThread.generateRaft(40, 40, 560, 1500, 2.5, 1.5);

for(float i=0; i<30; i+=0.35) {
codeThread.moveTo(15, 15, 1.27+i, feed);
codeThread.moveTo(-15, 15, 1.27+i, feed);
codeThread.moveTo(-15, -15, 1.27+i, feed);
codeThread.moveTo(15, -15, 1.27+i, feed);

codeThread.writeToFile(sketchPath + "30mmbox.gcode");