Week 2 : Computer Aided design
Week 2 assignment could be categorized as follows :
- 2D and 3D design model selection
- 2D CAD softwares test and comparison (including workflow of design from start to finish)
- 3D CAD softwares test and comparison (including workflow of design from start to finish)
- Native CAD files sharing (through open-source platforms or directly at Gitlab)
- Image and video handling (update from week 1)
2D and 3D design selection
- 2D design model selection : a logo related to the final project.
- 3D design model selection : focus on modelling servo motors (see details in final project log week 2), since it will be the main actuating component for the the dual-axis tracker of the solar panel.
During the recitation session, it was stressed out that 2D drawings (or models) are also categorized as computer-aided design (CAD).
2D CAD softwares test and comparison
GIMP and Inkscape are fully free and open-source 2D design software. These two are selected for the test as they will be anyways utilized in the next sections for batch image compression or computer-controlled cutting.
This section will compare the features of these tools; and as both will be used to create the same logo, a direct comparison of the result produced from raster (i.e. GIMP) and vector (i.e. Inkscape) workflow could also be made to provide additional insight as a bonus.
Raster vs Vector Graphics
Raster and vector graphics are fundamentally different ways of representing images:
-
Raster (also known as bitmap) graphics are made of pixels and are resolution-dependent. Common file types include PNG, JPG, GIF, BMP, and TIFF.
-
Vector graphics are made of paths, lines, and mathematical curves, making them resolution-independent and infinitely scalable. Common file types include SVG, PDF, and DXF.
Source: ChatGPT by OpenAI, January 2026
The following features were used in Inkscape to create the following logo:
- Pen tool with bezier curves
- Node tool to smoothen edges
- Path tool to split parts of the logo
- Path tool to make fonts to path

The logo was used as a base image for tracing in GIMP, primarily using the Path Tool. The full process can be seen in the video below:
It is important to work with different layers as rasters operates in pixes (i.e. each pixel stores a single color value), to avoid "overwriting" or "erasing" of data. Vector strokes on the other hand remains independent of each other
Two videos showing SVGs from GIMP and Inkscape is shown below :
Remember to convert text to paths, so that text is turned into vector shapes. Font that is registered in the browser might be different from the 2D software tool used
It is worth noting that GIMP can also export SVG files - so in theory the final resolution could be the same with the ones exported from Inkscape. However, as demonstrated in the video, Inkscape's features enable users to make cleaner cuts and precise edges that are suitable for logo creation. GIMP, on the other hand, is perhaps better suited for photo editing.
3D CAD softwares test and comparison
The technical drawing below is used as a reference. Since the arms are not readily available online, only the body is modeled.
This week's exercise focuses on the basics and so only a high-level comparison of these CAD platforms (and subscription level) could be made at the time these notes were written :
| Features | Onshape Enterprise | Onshape Free | FreeCAD |
|---|---|---|---|
| Platform | Browser | Browser | Desktop |
| Collaboration | Real-time multi-user collaboration with admin controls | Rea-time multi-user collaboration | File-based collaboration |
| Version Control | Built-in history, branching, merging, and audit logs | Built-in history/branches | Manual (external versioning) |
Although the model might be slightly different (i.e. SG90 modeled in Onshape, while SG5010 in FreeCAD), The basic workflow implemented for both are largely similar in both platforms:
- Extrude (add) or Pan
- Mirror or Mirrored
- Extrude (remove) or Pocket


From this very limited experience, Onshape seems to offer a smoother UI and UX Highlighting features is often more straightforward, though sometimes subtle color differences can make it harder to distinguish certain selections.
Next points to compare :
- FreeCAD + spreadsheet vs Fusion 360 vs Onshape
- Animation features Fusion 360 vs Blender
- Working with mesh features Fusion 360 vs Onshape
- Paid features Onshape vs Fusion 360
Native CAD files sharing
Sketchfab was chosen to host the 3D model for this exercise to save space in the GitLab repository and it supports the STL format.
STL vs STEP
STL
- Mesh-based format (triangles)
- Mainly for 3D printing and visualization
- Stores only the surface geometry, no parametric or CAD info
- Easy to 3D print, but difficult to edit or modify
STEP
- CAD / parametric format
- Stores full geometry, assemblies, curves, and CAD metadata
- Fully editable in CAD software
Source: ChatGPT by OpenAI, January 2026
Registration requires an Epic Game account that could be created through the Sketchfab website.

After a successful sign up and STL file uploaded (with title and description), the 3D model can be showcased on the personal website by copying the embed code from the uploaded model’s Embed section on Sketchfab and inserting it into the file.

Some adjustments could also be made to the model "video", for example width, height, and also autoplay.
Image and video handling (update from week 1)
Previously, the Squoosh tool was used to compress images one by one. While this worked well for a small number of files, it becomes cumbersome when dealing with longer documentation that requires a large number of images. Thus the Batcher plugin at Inkscape and ImageMagick is used to test the batch workflow.
The BIMP plugin for batch image processing is unfortunately not available for Inkscape 3. The alternative is fortunately the Batcher plugin by Kamil Burda. Settings are outlined below :
- Remove folder structure- to avoid creating additional folders in the target directory.
- Scale images — set height to 400 px while keeping the aspect ratio.
- Rename files — appended “-compressed” to the original filenames.
- Export — save all files as JPEG with 100% quality.
On the other hand, ImageMagick operates with the terminal like FFMPEG. The code for the image compression used here :
for %f in (*.jpg) do magick "%f" -resize x400\> -strip -quality 95 "output\%~nf-compressed.jpg"
where :
resize x400\>resizes images to 400px height. For width it would be 400xstripremoves all metadata (EXIF, color profiles, GPS, etc.)quality 95balances file size and visual quality
The next pictures below indicates the step applied with the Batcher plugin for the compression. Photo at the left and right though shows the compressions results of those screenshots from ImageMagick and Batcher respectively. Feel free to zoom in.
The last row of images shows a screenshot of the export setting using the Batcher. Although it was already set to the maximum, the resulting image still appears patchy. For ImageMagick the quality could still be increased to 100% (the case for this week is 95%) and it already gives a cleaner look comparable to Squoosh. Therefore, it will be used for the remainder of the programme.
Snipping Tool Images, Metadata, and ImageMagick -strip
The following is the effect of -strip specifically to images obtained from the Snipping Tool :
- Camera EXIF data: None
-
EXIF stores technical info added by cameras, such as make/model, lens, shutter speed, ISO, orientation, date/time, and sometimes GPS coordinates.
-
IPTC/XMP metadata: Usually none
-
IPTC and XMP are used for descriptive or administrative info, like author, copyright, keywords, captions, and editing history.
-
ICC color profile: Sometimes present (sRGB)
-
ICC profiles define how colors are displayed across devices, ensuring consistent color representation.
-
Basic file info: Width, height, DPI, color depth
-strip removes: ICC profiles and any remaining format metadata. For screenshots, this usually makes little difference.
To check metadata:
magick identify -verbose snip.png
Source: ChatGPT by OpenAI, January 202 ```
Batch compression of videos using FFMPEG was also tested with the following code :
for %f in (*.mp4) do ffmpeg -i "%f" -filter:v "setpts=0.5*PTS" -an -c:v libx264 -crf 28 -preset veryslow "video-compressed\%f"
%fvariable representing the current file in the loopfor %f in (*.mp4)loop over all .mp4 files in the current foldervideo-compressed\%fsame filename, saved into 'video-compressed' folder
Overall batch processing for multiple images and videos saves time. However to ensure a good balance between quality and homogeneity, it is perhaps better if all inputs at least are of a same dimension before batch processing.
H.264 vs H.265
- H.264 (AVC): very widely supported across all browsers and devices, good compatibility, slightly larger files.
- H.265 (HEVC): better compression (smaller file size for the same quality), but limited browser support.
- ⚠️ If your video needs to play in all browsers, H.264 is safer.
- ✅ If you only target modern platforms and want smaller files, H.265 can be used.
Source: ChatGPT by OpenAI, January 2026
Relative paths MkDocs vs HTML
- If users use Markdown syntax (
![]()), MkDocs rewrites paths during the build - If raw HTML (
<img>,<video>,<iframe>), MkDocs leaves the paths exactly as written.
This matters because MkDocs turns:
week02.md → week02/
Files
-
2D CAD softwares test and comparison :
-
3D CAD softwares test and comparison :