Multi-material support in OpenSCAD
Bachelor-Thesis at group TAMS
Motivation
While most low-cost 3D-printers are still limited to a single tool,
affordable multi-material FFF/FDM machines are entering the market recently.
For example, the Prusa i3 MMU printer uses a simple multi-material
feeder to select from up to five different filaments at runtime,
while the E3D Toolchanger can be equipped with up to four
different tools, one of which is active at any time.
However, the required design and slicing software for
multi-material 3D-printing is still an open question.
Recent versions of PrusaSlicer already provide options
for automatic filament retraction and exchange, with dumping
of excess material outside the actual printed object.
This works well for the small set of provided demo objects,
but even loading a multi-material object for printing is not trivial,
as the common STL file format does not support (volumetric)
material annotations.
In this thesis, we will look at proposed approaches to model
and export multi-colored and multi-material 3D designs in
the open source tool OpenSCAD.
The tool already supports colors as object attributes,
and it seems straightforward to map specific colors to
user-defined materials when exporting a design.
The goal of the thesis is to develop a full 3D-design tool-chain
that allows the user to interactively create multi-colored objects
and to export those objects in formats suitable for automatic
printing on the Prusa i3 MMU and/or E3D toolchanger machines.
The precise scope of the software implementation is to be discussed,
with a basic functionality achievable in a BSc-thesis.
Given the current Corona restrictions,
large parts of the software can be designed (and tested) at home,
but access to a 3D-printer would of course be a plus.
Thesis Goals:
- development of an OpenSCAD based tool-chain for multi-color and multi-material prints
- preparation of a set of demonstration objects
- evaluation and comparison of the approach against the state-of-the-art
- outlook and comparison with other open-source tools (e.g. Blender, FreeCAD)
Requirements
- as always, interest in the topic area, here 3D-printing
- basic knowledge of 3D CAD or content creation tools
- programming skills in C/C++
Contact