CS291I Assignment 4
This Instructable documents my journey in printing objects and materials through editing Gcode. Through this assignment I familiarized myself with some of the Gcode instructions and discovered capabilities of my printer that I did not know were possible.
Trying the Simple Slicer
I started with the simple slicer example that Jennifer provided. I create a box brep in Rhino and used the Grasshopper code to produce some Gcode.
The Gcode sets up the printer by setting the nozzle and bed temperatures (the parameters were initially missing), extruding a preliminary line, and prints the object. The instruction used most throughout the process is G1, which simply moves the axes at some defined rate.
I exported the Gcode and tried printing. It didn't work. I also tried a triangular prism brep, which also did not work. Nothing was coming out of the nozzle. I knew the nozzle and filament feeder were working because the initial line of filament was printing.
I also tried the textile example to see if that would work. It did not. D:
Modifying the Extruder Position
I tried modifying the extruder axis value for the G1 instructions. I though that maybe the amount of filament being extruded was not large enough to produce any results. I looked at Sam's example from the last iteration of this class and tried the extruder position value from that Instructable. It did not work.
I tried blindly increasing the value. Still nothing. I wasted a lot of time hehe.
I took a look at the Gcode produced by Cura for our previous assignment, and saw that those values looked different. The extruder position parameters were monotonically increasing, and I noticed that they used an M82 instruction at the beginning instead of an M83.
M82 sets the parameter values to an absolute value, so for each successive move instruction, Cura increased the parameter to a larger value to extrude more filament. M83 sets the parameter values to relative values, so the values represent the amount of additional filament to extrude.
I thought that my issue could has something to do with absolute and relative values, since every extruder position parameter for the box was the same, and it did not extrude anything.
Fixing the Instructions
I thought the issues could be related to the G90 instruction, which sets all axes, including the extruder, to absolute coordinates. I switched the order of the instructions, so that M83 came after G90, since I believed that the G90 was overriding the M83 instruction.
It worked! The objects I wanted to make successfully printed.
Printing the Fabric
I tried the simple fabric example the Jennifer provided again. I once again switched the order of the M83 and G90. Initially, nothing was printing, but after switching these instructions the base printed successfully. Unfortunately, the rest of the print did not appear.
I took another look at the Gcode, and noticed that G90 is called multiple times after the initial setup. I added an M83 instruction after every occurrence. It successfully printed!
I have uploaded the updated Gcode file.
Downloads
To Be Continued...
Unfortunately I ran out of time to print a modified textile before this class since I wasted too much time blindly modifying the extruder position parameters. Also, my parents sleep earlier than me and the printer is a bit loud so I don't want to print overnight hehe.
I did modify some of the parameters in Grasshopper. I wanted to try a longer and taller fabric. I also increased the distance between each of the pillars slightly to test if it would still work, and to see what the difference would feel like.
I will update this after I print!