Master’s Thesis
Leveraging Generative Design in Design for Additive Manufacturing (DfAM)
For my Master’s project, I developed a CAD plugin that uses Generative Design to improve existing part designs so they are better suited to 3D printing.
Using a range of case studies, I successfully demonstrated that the tool is:
Below is my poster which showcases the process and results. PDF can be seen here.
The project was a big success. The feedback from my supervisor and assessor was extremely positive. My supervisor suggested this work could be used as a foundation for many other student projects.
I received a mark of 73 on the project, which ensured a first-class honours in my degree overall.
Additive Manufacturing and 3D printing are rapidly growing industries. The proliferation of inexpensive 3D printing hardware in the past five to ten years has accelerated progression for both industry and hobbyist applications.
There are many opportunities for better manufacturing workflows to be exploited, however these have yet to be fully realised.
Generative Design is another novel technology that has attracted significant attention in the past ten years. This involves using an algorithm to iteratively regenerate an existing part design to find improvements.
This is strongly linked to Machine Learning and Artificial Intelligence which has garnered significant attention from the broader community, however this technology is still far from prevalence as it is still being explored and developed.
There are some commercial solutions for Generative Design, and some promising ones for leveraging Design for Additive Manufacturing (DfAM). However, none are commercially available that combine both techniques. A few combined solutions do exist in academic literature, which this project uses as a baseline.
Autodesk Fusion 360 is a popular lightweight CAD package. It is constantly updated with new tools and features, including a Generative Design tool. It is quite powerful and easy to use, but it is closed-source so it doesn’t leverage well the power of new technologies.
I chose FreeCAD as my CAD platform to build the plugin on top of. It is a popular free and open source package that includes modelling environments for several engineering disciplines.
All scripting and coding was done in Python using the PyCharm IDE. Every function and entity in FreeCAD is well abstracted as an interface or object in Python, which make scripting and macros extremely powerful. It is mainly for this readon that FreeCAD was chosen.
FreeCAD’s graphical user interface (GUI) is developed in Qt, so plugin interfaces are implemented using Qt objects. Because of this, I was able to rapidly develop and prototype the plugin GUIs using Qt Designer.
A five-stage process was devised for the whole procedure.
Each stage in the procedure is implemented as a command in the workbench toolbar.
Five case studies were produced to test the effectiveness of the plugin in key areas.
The most prominent achievement of this project is that a solid foundation is established for a plugin that combines Generative Design and Design for Additive Manufacturing (DfAM). At the time of completion, there is no other solution like this that exists commercially or academically.
These key requirements were met:
Additionally, there is a lot of scope for future work. Some major features for consideration include:
My supervisor was very happy with my work. Because he was also supervising other projects from students with similar themes, a seminar was held with the other students to present our work.
Leveraging Generative Design in Design for Additive Manufacturing (DfAM)
A drum synthesizer panel made using an Arduino, Raspberry Pi, and an IKEA drawer.
A solid mechanics simulation made in Python
Turning a discarded SNES console turned into a capable Linux machine
Building a small arcade machine powered by a Raspberry Pi