Assignment #5
3D printing and scanning
The fifth Fab Academy assignment is about 3D printing and scanning. I returned to the final project model I made for the CAD assignment: a “sandwich” of two printed shells and a wooden middle element. The shells have undercuts that would be difficult to make with subtractive manufacturing, so I’ll print them and test the results.
1 – sections of the design to test overhang, undercuts and bridging
First, I printed two of Neil’s test models to explore the printer’s capabilities. My own parts are large and would take almost a full working day to print, so I decided to test smaller sections first. I tried to design the parts so they would not need support material. The rotational shapes create a nest for the components, but also introduce undercuts and overhangs. To turn some overhangs into bridges, I added a circular array of vertical supports. The PCB supports are angled so that they should also print without additional support material.
I divided the model into sections to test the most demanding features without wasting time and material. In FreeCAD, I used Sketch and Pocket to isolate the sections, then exported them in STL format. In Slic3r Prusa Edition, I adjusted their position and print settings. The preview colours helped me identify overhangs and bridges. The angled PCB support did not appear as an overhang, and the other supports turned the upper surfaces into bridges. I chose a layer height of 0.15 mm for a fine finish.
2 – 3D printing tests
I used Slic3r Prusa Edition to position the models and adjust the print settings. The preview helped me check the overhangs and bridges, including the angled PCB support. I chose a layer height of 0.15 mm. After exporting the G-code to an SD card, I moved to the Prusa i3 MK3. First, I loaded the PLA filament. I preheated the extruder to 215 degrees and gently fed in the filament. Then I inserted the SD card containing the G-code. The printer used its PINDA sensor to detect the build plate before starting the print. The result looked good, and the surface supporting the PCB was smooth. Some filament failed to attach around the circular bridge perimeter, leaving a little “spaghetti” inside, but the surface was still strong and stable. I considered the test a success.
Next, I printed a section of the lower shell. It includes the battery compartment’s large bridging area, a MIDI socket opening, and a small frame for the tag. Some holes sit above the build plate. I added a thin surface over those features to turn the unsupported outlines into bridges. The screws can easily break through that thin layer during assembly. Following the same process as for the upper shell gave good results, with only minor issues around the bridge perimeter.
3 – Testing component fit
Next, I checked whether the buttons, battery, accelerometer, MIDI socket, and tag fitted the printed parts. Almost everything fitted, but the tag needed adjustment. I also noticed that the gap between the circuit support and lower shell was almost zero, leaving insufficient room for the circuit.
So I came back to FreeCAD and fixed those problems and I also made some more STL files to test other components like LEDs and the switch.
After a little bit of ping-pong I managed to make everything fit perfectly!
Printing the complete shells
Finally, I exported and printed the complete shells. Their size made me a little nervous, but the earlier tests gave me confidence.
The upper shell had some thin strands of filament across its surface. These can be removed with hot air from a heat gun. I suspected that the extruder pressure was too high or the nozzle was too close to the bed, so I recalibrated the printer before printing the bottom shell, which came out well.
Finally, I placed the components inside the shells. I was very happy with the result.
4 - 3D scanning
For the scanning part of the assignment, I used a Sense 2 scanner to scan my friend and collaborator Jon.
The scanner comes with software that builds a 3D model as the device moves around an object. The principle is simple: the object stays still while the scanner moves around it. In practice, keeping a steady hand and moving smoothly took some practice.
After a few attempts, we captured a good scan of Jon’s face.
The scan can be exported in STL or OBJ format. We chose OBJ to preserve the colour information and make the model look more realistic.
Both formats represent surfaces as polygon meshes. These can be heavy compared with curve-based CAD models and require suitable editing tools, such as 3ds Max, Maya, or Blender.
I imported the scan into Blender, cleaned the mesh, and used a modifier to add thickness.
I then exported the model in STL format and printed it as a mask.
5 - considerations and takeaways
This assignment went quite smoothly. There is still room to improve the bridging surfaces, but I’m happy with the results and look forward to making the rest of my final project.
I created the explanatory graphics and section views using FreeCAD’s TechDraw workbench and Inkscape.
Source files
Here are all the source files for the 3D printing assignment:
1 – Top shell STL
2 – Bottom shell STL
3 – Full 3D model - FreeCAD
4 – Jon’s face - Blender
5 – Jon’s face - STL
