## 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.

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.