Assignment #2
CAD
The second Fab Academy assignment focuses on CAD: we have to turn last week’s sketch into a 3D model. Before starting, I gathered components for the final project: a gyroscope, buttons, a MIDI socket, LEDs, and a battery. I’ll keep their dimensions in mind while designing the controller and leave room for the circuit, which is still to be defined.
0 – My ally is the Source, and a powerful ally it is.
First, I chose the software for each stage of the process. After exploring some of the applications Neil mentioned, I decided to use open-source tools. This choice reflected both my values and the software’s capabilities, as well as the flexibility to move between applications. I used FreeCAD to model the volumes, Inkscape for details and documentation graphics, and Blender to render and animate the design.
1 – 3D - Main volume for the top-shell
The first part I designed was the top shell of my “sandwich-shaped” MIDI controller. In FreeCAD’s Part Design workbench, I created a part, drew a sketch, and extruded it with the Pad command. I repeated the process to add a feature that fits inside the wooden element. I used Chamfer to smooth the upper edge and Thickness to hollow out the volume. Then I used Sketch and Pocket to make the button holes, repeating them with Polar Pattern twice to create 12 holes. Finally, I added holes for the LEDs and switch.
2 – 3D - Middle wooden element
With the main volume of the top shell complete, I moved to the wooden element that the user will hold. I drew a sketch and used Extrude in the Part workbench rather than Pad. This created an independent solid instead of adding to the previous part. After adjusting its colour and transparency, I moved on to the next component.
3 – 3D - Bottom shell main volume
The bottom shell will hold the battery, MIDI socket, and a tag with my name. I created a new part and padded a sketch so that it extended into the wooden element and protruded slightly. I then drew the shell’s profile, making sure it intersected the previous pad, and used Revolve to create a rotational solid. I used Thickness to hollow out the shell and modelled a simple battery volume to check the fit. If necessary, I could adjust the revolved sketch to make more room. Finally, I drew a circular sketch and used Pocket to make the MIDI socket opening.
Now that I have all the 3 volumes, I can start to work on the elements that will connect them.
4 - 3D - Top shell details
I extruded a column from the bottom of the top shell to connect it to the lower shell. Using Sketch and Pad, followed by mirrored features, I added the connection columns, PCB supports, and reinforcing elements around the shell. Finally, I added a support for the gyroscope.
5 - 3D - Bottom shell details
The bottom shell followed a similar process. The main difference was the series of Pad and Pocket operations needed to create the battery compartment, MIDI socket support, and tag recess. I used similar commands to make a cover for the battery compartment.
6 – 2D - design a mark to communicate the gyroscope position
CAD work usually starts in 2D and moves to 3D, but here I returned to 2D after modelling the main parts. I wanted a subtle graphic to mark the gyroscope’s position in the centre of the device. In Inkscape, I designed a pattern representing the X and Y axes in Morse code. I drew it with Bézier curves and used “Stroke to Path” to turn the stroke widths into closed shapes that could be extruded in FreeCAD.
7 – 2D - import the vectors in FreeCAD
Once the graphic was ready, I imported it into FreeCAD, converted it to a sketch in the Draft workbench, and used it for a Pocket operation in the top shell.
8 – 2D - documentation design
Documentation is part of the assignment itself. I used Inkscape extensively to create the images for this page. First, I generated isometric views in FreeCAD’s Draw workbench and exported them in SVG format. I then opened them in Inkscape to explain the commands and details of the modelling process.
I created a background box, added arrows using triangles and dashed lines, and used text boxes to describe each step.
Adjusting the opacity helped establish a clear visual hierarchy between the elements.
Finally, I exported all the images in PNG format at 150 DPI. You’ve already seen them throughout this page.
9 – Render – Blender Cycles
The very last thing I did was to use Blender to make some photographic simulations of my object… To do that I exported STL files from FreeCAD and imported them back into Blender, which offers a very powerful set of functions to render my project.
10 – Render – setup a set
First, I created a virtual set with a background, lights, and a camera. I adjusted the materials to give the render the colours and lighting I wanted, using the properties panel on the right.
Once the set was ready, I placed the models and chose a camera angle. I added cylinders and spheres from Add > Mesh to represent buttons and LEDs.
Next, I assigned materials to each part: mainly matte black, with a wood texture for the wooden element.
Once I was happy with the lighting, object positions, and materials, I clicked “Render” in the top menu.
11 – Source files
Here are all the source files for the Computer aided design assignment:
1 – FreeCAD 3D model
2 – Inkscape SVG
3 – Blender scene
12 – Notes, takeaways, and plans for the future
Turning my sketch into a complete set of 3D models took considerable effort. Even with some experience, I found that documenting and explaining each step made the process more demanding. I’ll keep working to integrate documentation into my workflow. I would also like to explore 3D animation further, as I could not do as much as I had hoped during this assignment.
