Introduction: Week 5: Grasshopper G-Code Pulley and And Textile

I used Grasshopper to generate G-Code to 3D-print a pulley and a textile on the Ender 3 Pro printer. I only needed one attempt to print the textile, but I needed many attempts before I was able to get the correct settings to print the pulley. I used the original tutorial file for a basic Grasshopper toolpath generator for both projects and I modified the Python scripts to create new objects. I also modified print settings after testing.

Step 1: Initial Setup

I used the MAT 238 basic Grasshopper toolpath generator tutorial for both the textile and the pulley, and I altered the Python scripts to create my objects. I did edit the parameters of the basic cylinder to fit my needs, but I waited to edit print settings until I saw my initial prints.

Step 2: Initial Textile Design

I created an initial textile drawing with Python in Grasshopper and tested how it would print by inserting my GCode in UltiMaker Cura. It worked well, but I did not like the design, so I went back and removed the edges sticking out.

Step 3: Final Textile Design and 3D-Printing

Once I finished creating a textile design that I liked, I exported the GCode I created directly from Grasshopper and sent it to the 3D-printer. The Ender printed my textile really well, and I did not have to edit the print settings at all for this object.

Step 4: Final Textile

This is an image of my final printed textile. It is solid and gives off an illusion effect when you look at it from different angles, so I am pleased with the final outcome. I am curious as to what would have happened had I changed parameters like the nozzle height, print speed, or bed temperature.

Step 5: Initial Pulley Designs

I experimented with various cylindrical objects in Grasshopper that I created with Python. My first pulley design GCode file was extremely large to the point that when I tried to export it from Grasshopper into Cura for testing, Cura repeatedly crashed. Consequently, I reduced the size of future GCode files so that I could properly test the print before sending it to the printer. I kept experimenting with designs until I ended up with an outer shell that I liked.

Step 6: Final Pulley Design

Once I created an outer shell for the pulley, I added planes to the pulley so that my pulley would not be hollow. Afterward, I exported the GCode directly from Grasshopper without editing the print settings at first, and I sent it to the Ender Pro 3. I was initially scared that the design would not print without supports, but that did not appear to be a major problem.

Step 7: Initial Pulley Prints

I initially gave the pulley design to the printer to print, but I stopped it after a couple of minutes because the PLA was not sticking, and my design was turning into rolled up plastic string due to the sharp angle that the nozzle has to make to create the lines. I switched to another Ender, and it printed slightly better, but there was still no significant difference.

Step 8: Subsequent Pulley Prints

I decided to experiment with different print settings, including increasing the print speed to 80 with the nozzle temperature at 210, live editing the printing speed and nozzle temperature, and decreasing the speed and setting a baby step z (because an initial problem was that the bed appeared too low for the nozzle). However, none of my efforts resulted in a successful print.

Step 9: Final Pulley Print

Since it was 5:55 p.m. and the lab closes at 6, I gave one final print where we set the speed to 40 (the slowest we've tried), the nozzle temperature to 210 (the warmest we've tried in order to let the PLA settle), and the baby step z to 0.199 (to ensure the design prints and the nozzle doesn't miss). After watching the print for a couple of minutes, I saw that the design appeared to be printing mostly well (only a few ends were being pulled up, and only slightly), so I left my design to print!

Step 10: Final Pulley

These are images of my final pulley. I was extremely happy with how it turned out after printing 6-8 times, and I was pleasantly surprised by the tiny string faces as I had expected a flat plane, but my design had much more texture. I was also surprised that the design printed well without supports and without looking like a total mess (as I had thought after watching the first couple of prints). There were some loose plastic string pieces on the sides, but for the most part my design printed well with the new settings.

Step 11: Key Insights and Reflections

I liked how my designs were printed, but I am curious about methods to make them sturdier through my Grasshopper G-Code generation. Furthermore, each time I printed my design, the 3D printer created an initial line when the nozzle was moving to the center, and in future prints, I would like to remove that aspect of the print. In the future, I would also like to adjust the print settings directly through my GCode file so that my designs and chosen settings can be easily reproducible. Overall, I enjoyed creating my own GCode, but I do think that the GCode generated my Ultimaker Cura as of now is more complex/results in better printing.