Using a Learning Process as a Tool for Creative Work

This week, I completed my first 3D printing project. With few constraints in place, I struggled to decide on what to print. After some time searching for inspiration and considering what might be most useful or interesting to me, I decided to approach it as a study in combining code and form.

I used Autodesk Fusion 360 to render my 3D model. Fusion 360 has an API that can be used with Python or C++. They recently removed support for JavaScript. Prior to this project, I had never used Fusion 360, Python, or C++.

I started by imagining what might be a simple task, and decided I would learn to make a 2D square. After studying the basics of Python, examining Fusion 360 API code examples, and failing several times, I eventually gained a strong enough understanding to create a square profile.

Once I understood how to put a square in Fusion 360 through the API, I allowed a programming concept to help guide the form of the object. I created a nested loop that would draw a 12X12 grid of squares.

With a grid of squares to work with, I studied the Fusion 360 API documentation of the extrusion tool. This would allow me to turn my 2D squares into 3D cubes. I created another loop to extrude each of the squares.

To make my grid of cubes more interesting, I turned to another concept common to programming: randomness. Within my loop for extruding each of the squares, I added a function to choose a random distance for each extrusion. This left me with a 3D model I was satisfied with.

After my initial struggle to narrow down the possibilities for this project, I managed to proceed by creating a constraint (the use of the API) that eliminated all of those possibilities until I learned how to use the API.

One clap, two clap, three clap, forty?

By clapping more or less, you can signal to us which stories really stand out.