Introduction: CompFab Generatively Designed Plant Stool

This week, we were supposed to design a chair using the topology optimization or generation tools in Fusion 360. I wanted to make a structure that I could rest one of my houseplants on, so I decided to make a small stool, which would be sturdy and easy to fit in any of the different areas I keep my plants.

Supplies

Fusion 360

Step 1: The Initial Stool Design

I created the initial design by sketching lines in Fusion 360 (shown in the first 3 screenshots). I made the top surface with a circle with a 4 inch diameter and the legs by drawing two slightly different triangles and then mirrored them to create 2 pairs of legs.


Next, I extruded the top surface to 0.5in thick, and the legs to about 0.25in. I then intersected the legs with the xy-plane and trimmed them so they all had a flat, even surface to stand on. This formed the base model I used for all of the following experiments with topology optimization and generative design.

Step 2: Topology Optimization Pt 1

On my first topology optimization study, I toggled gravity on and set a single downwards force of 30N on the model, on the surface where the plant would be resting (shown in the first image). I added fixed-point constraints on the bottoms of all the feet, to indicate that the stool would be resting on those surfaces, then tried the run the optimization with the default settings. My first try failed when the tool said it could not reduce the mass below 38% (when apparently the default target had been set to 30%). I ran it again with a target mass of 40% instead, and got some results.

This first try didn't give very promising results. As you can see in the 3rd picture, none of the legs are even connected to the underside of the table, and two of the legs have been reduced to just feet. The fourth image shows the optimized model as a mesh, where the issues are even more obvious.

Step 3: Topology Optimization Part 2

For my second try, I kept many of the same settings, but tried adding extra constraints to preserve more of the original geometry. Specifically, I wanted to try to retain the inner edges of each of the legs, so they would at least be attached to the stool-top. Unfortunately, as the third and fourth screenshots show, the legs are more present but still are not all connected.

Step 4: Topology Optimization Part 3

For my final attempt at topology optimization, I added one more constraint. I wanted to see if I could specifically preserve the plane of the underside of the stool-top, to again see if that would help keep the geometry that actually attached the top to the legs.

This attempt initially failed, with the tool telling me it could only meet a target of about 80% of the initial mass, far above the 40% I had aimed for with the previous attempts. However, when I set the target to 80%, the model came out looking basically unchanged. As you can see in the third and fourth images, it seems like very little material has actually been removed from the model, and mainly in trivial places like the edges of the legs.

After this attempt, I decided that I didn't really want to print any of the topologically optimized designs, and moved on to generative design.

Step 5: Modifying the Model for Generative Design

I wanted to remove some parts of the original stool model, to give the generative design tool more freedom to create designs that would satisfy the physical constraints I set. To do this, I intersected the legs with an xy-parallel plane parallel and trimmed off the upper parts, leaving a large gap between the feet and the stool top. This would be the area that the generative designs would hopefully be trying to fill with different structures.

Step 6: Generative Design Part 1

For my first try at generative design, I wanted to see what I would get if I just specified positive geometries (no negative space). I again turned on gravity, set a downwards force of 30N on the stool-top, and fixed the feet to the floor. I set my machining settings to "Additive" only, and added the aluminum and the CB PA plastic materials to the simulation, then hit "Generate".

Sadly, all the generated designs I got were pretty ugly (in the second screenshot). They also made me want to tweak the original design, since they drew attention to how the top was way too thick and the feet were too close together.

Step 7: Generative Design Part 2

The first screenshot shows the original model after I pressed the top to a 0.25in thickness and move the feet much closer to the outer perimeter.

I then ran the generative design tool on the updated model, with the same constraints and materials as the previous attempt. I was hoping to get a really branchy design, but I instead got designs very similar to the previous attempt (not pictured here because I forgot to screenshot it and then accidentally deleted the study).

Step 8: Generative Design Part 3

I finally decided to add some negative space underneath the stool, to try to prevent the designs from all turning out boxy and kinda gross. Back in the original design, I added a large block between the legs to delineate the space where I did not want any geometry being generated (the first screenshot). In the simulation, I marked that block as negative space and retained all the other constraints from the previous attempts (the second screenshot).

Finally, I got some interesting designs! I only got 2 total designs- shown together in the third screenshot- so maybe in the future I'll want to experiment with adding other materials to the simulation to get more designs. Outcome 1 was complete, and Outcome 2 had converged, meaning that it didn't fully satisfy all the constraints. Of the two, I liked Outcome 2 a little more because it was a bit branchier, and it would probably still hold up fine for my uses since I had indicated a slightly higher force constraint (30N) than I would likely actually need. Ultimately, however, I chose Outcome 1 for my final design since it had fully completed (and wasn't too different from the other outcome anyways). The last screenshot shows the mesh for my chosen design.

Step 9: Printing!

I saved the model as an STL and sliced it in Cura resting on its top to minimize the amount of support it would need while printing (first image). The entire print took around 7 hours, almost exactly as estimated in Cura. The final result, with supports, is shown in the second image (slightly out-of-focus because I'm an incredible photographer).

However, I had forgotten that I'd set Cura to add a buildplate brim for a previous project, and during the printing process one edge of the brim started to peel off the plate. The rest of the stool printed fine, but the side where the brim peeled ended up being sloped slightly downwards rather than perfectly level. You can see the difference along this edge in the third image. This flaw doesn't affect the function of the stool, so I didn't want to repeat the print, but I might try to level out the surface with a glue fill some day. In the future, I'll probably want to keep the buildplate a little warmer and use more glue to keep the object fixed in place during the print.

Finally, I decorated it and was able to give my plant a truly regal stool to sit upon. The size, shape, and color ended up working really well!