GCode Experiments

Introduction: GCode Experiments

This week's assignment was to work with generating custom Gcode. I didn't have a specific project in mind, and instead experimented with some of the example projects that Jennifer Jacobs presented in lecture to demonstrate generating Gcode within Grasshopper.

Step 1: Flexible Fabric

For this experiment, I have modified the work of Haruki Takahashi and Jeeeun Kim.

3D Printed Fabric: Techniques for Design and 3D Weaving Programmable Textiles.

Webpage: https://haruki.xyz/printed_fabric.html

Paper: https://www.jeeeunkim.com/papers/3dprintedfabric....

I modified the parameters of the 3D printed textile Gcode generator with the goal of creating a textile that was flexible in multiple dimensions. I increased the density of the pillars (increased number, decreased spacing) and decreased the pillar width to make the pillars more flexible. I also decreased the vertical hair spacing so that the textile was more tightly woven overall.

The print took all night to print a decent surface area, but I was satisfied with the resulting flexibility.

Step 2: Modifying the Simple Slicer: 1

I then moved on to experimenting with the simple slicer. I modified the function that generates the G1 commands to introduce some noise into the instructions. My first attempt to print failed because my custom layer height was too large. The extruder was extruding into thin air.

Step 3: Modifying the Simple Slicer: 2

When fixing the layer height (simply decreasing it to 0.2), I became curious about generating Gcode for a tower where the noise was a function of the current layer height.

I implemented this in the code by generating a noiseScale value and using it to scale the random uniform value. My first successful print is pictured. My max generated noise is between -0.7 and 0.7 mm.

I appreciate the application of randomness to the generation of Gcode. The resulting shape has lower layers that are "perfect" in their placement, after which the layers progressively degrade until the upper layers start to lose their sense of continuity with the layer below.

In the interest of pushing this concept to the extreme, I have tripled the max noise value to -2.0-2.0 (this is actually the value shown in the screenshot). Currently this Gcode file is printing.

Be the First to Share


    • Back to School: Student Design Challenge

      Back to School: Student Design Challenge
    • Microcontroller Contest

      Microcontroller Contest
    • Fandom Contest

      Fandom Contest



    Reply 2 years ago

    Thank you for reaching out. I have credited your original work. Thanks for sharing your grasshopper patches-- the work is wonderful and inspiring.


    2 years ago

    I really like your introduction of noise into this 3D printed structure, it adds really beautiful and subtle variations to the layers. I also was interested in some aspects of generativity for this project, funny how playing with g-code kind of affords introducing noise/autonomous computer decisions.


    2 years ago

    I think these are really interesting structures and I like the use of noise a lot. I think they could be great as stand-alone or functional objects like votive holders!