02— Computer Aided Design
Week 2: Computer Aided Design
Asignment
Deliverable(s)
- Model (raster, vector, 2D, 3D, render, animate, simulate, ...) a possible final project, compress your images and videos, and post it on your class page
Learning Outcome
- Evaluate and select 2D and 3D software
- Demonstrate and describe processes used in modelling with 2D and 3D software
Core Questions
- Modelled experimental objects/part of a possible project in 2D and 3D software
- Shown how you did it with words/images/screenshots
- Included your original design files
Outline
00 Setup + Grid Search Method
01 Basics of Blender
02 Basics of Rhino
03 New Tool in Autodesk Fusion
04 Inkscape
05 Final Project
00 — Setup + Grid Search Method
A— Before We Begin
I chose to model the Lego brick because it is a great practice hard surface with some deceptively tricky elements to replicate. Using the same model also allowed me to get a sense of exactly how Fusion, Blender, and Rhino varried in their workflows. Specifically, all three programs handle array and layer management very differently. Rhino’s treatement of array/object copying was definately my favorite—though that is just about the only thing I like about Rhinos UI.
My final project was done in Fusion. Going forward probably a hybrid modeling approach is where I will land with some primary software, likely Fusion pulling all of the files together. I still don’t really understand how to place object properly in either Rhino or Blender with accuracy so I need to figure this out before I know how to really model something using a normal workflow. With both I think I need to follow tutorials that are more about modeling a specific object because I barely understand the mesh based workflow.
Ultimately, I think the most valuable lesson I learned in the process of trying to speed run the basics of modeling in Rhino and Blender was that there is definately a place for a soft modeling in my current CAD workflow. I think the knowledge will make me far better in 3D too because I am starting to recognize all of the times in the past where I was simply using the wrong tool for the job or rellying to much on habit or what was familiar when modeling when some more explorations or a different overall approach might have been more relevant.
B— Some Philosophy: The What and Why of Grid Searching
I have identified an approach I like taking when I am overwelmed with the shear amount of potential options and paths to learning a new skill. This approach I have coined as a grid search. This is also an approach I use when trouble shooting hardware when I am really desperate. I came up with this idea about 10 years ago when I was lost on a group camping deep in a forest in the High Seirra’s in CA. Its not revolutionary or even particulary clever, but it is a kind of blunt learning tool— like a flat head screw driver to pry open a container.
I first thought of the idea when I had been camping alone for 48 hours as part of a group outdoors program trip. After eating granola for about a week straight it started to catch up with me and I immidiately had to run to a spot far away from my camp… a little too far. When I was done, I realized I had no idea where my campsite was.
That said I did know I only ran for about 5 min so I was likely about .4km from my campsite. Similarly I knew that I had run to a stream so when facing the stream I knew it was behind me. With this limited, but useful information I roamed for an hour and a half randomly and often to the same locations not able to find my campsite. As it began to get dark it dawned on me… the one way I could gurantee that I found my campsite was to search in a grid—it would be slow—might even be slower, but it would gurantee that I found my campsite. In this scenario what I needed was a gurantee. So all I did was stupidly walked laps back and forth at an increment of about 12 meters and I found my campsite in about an hour.
How does this apply to learning software? The way I apply this kind of approach with learning something like software is to first scan for resources that seem thorough relevant and not super long—kind of medium in length. When I am alone and not super pressed for time I actually preffer learning from books. Instructional books tend to be more thorough because there is more effort put into their editing. Similarly, books geared towards teenagers or even kids tend to avoid needlessly complex descriptions or jargon. On a few ocassions I have simply read a book like this cover to cover very slowly and just taken a fucking shitload of notes. I have only managed to do this for a handfull of book and it takes me an embarassingly long time like several months. The times I have done it though it has never been a waste of time…yet. Ultimately the more general lesson for me as my temperment is actually more impacient is that being thorough an methodical is often more efficient. Anyways that cheap flat head screwdriver stays in my toolbelt.
B— Style guide for key commands
LMB
Left Mouse Button
RMB
Right Mouse Button
MMB
Middle Mouse Button
MW
Mouse Wheel
cmd
ctrl
alt
shift
+
to denote keystrokes pressed sequentially
s , w, e etc.
denote any single letter key presses
menu item
denote a level 1 menu or button item in a primary active workspace
menu item→ menu item 2
would represent a multi level button or menu level selection
menu item → item a / item b / item c
would denote relevant menu options to choose from
01 Basics of Blender
A — Core UI Flow
List item summary: I am still tweaking how I approach learning software in general. For working with blender I did the obvious and just tried to get an overview of the main modeling workspace keeping a kind of mental note of its idiosychronies with other CAD platforms I have experience with. I sorted this out through reviewing my notes from the class session (mostly just shortcuts) and watching and copying Blender Tutorial for Complete Beginners - Part 1 very slowly. In fact this is something I have noticed in the past with software tutorials. In this case a 20 min tutorial took me 6 to 8 times that set video length to follow along play with the ideas and write notes… so 20 min ~ 3 hrs in this case.
- Object vs Edit Mode
tab
switches between them
object mode→ object mode
- For things related to positioning and transforming discrete entities.
object mode→ edit mode
select mode
when in edge face mode1
vertices selection mode
2
edges selection mode
3
face selection mode
- Viewport render modes
- Use display render preview when you want a preview of shadows
- Adding Objects
shift + a
opens add menu- An object can then be selected and an editing pane can be opened on the bottom left to toggle a contextual menu for that object.
- Modifiers
- Very deep, but many modifiers can be added no destructivel to object or object groups(?) in your collection.
- Applying Transforms
ctrl a
very important to apply changes like scale after they are made. Opens a menu and allow you to apply transforms this needs to be done after an important change like scaling
- Shading in viewport to great smoothing or reveal mesh
RMB + shade flat / shade smooth / autosmooth
Personalizations
- Changing core interface settings: monitor default scale, orbit, pan and zoom commands to mimic Autodesk Fusion, Setting default units.
- Monitor default scale
- Orbit pan and zoom like fusion
- Setting default units
scene → units → mm
scene → units → unit scale [0.001]
viewport overlays → scale [0.001]
view → (clip) end [10,00]
select camera → camera properties → (clip) end [10,000]
file → defaults → save startup file
menu→ Render image
to render image- Renders will occur from the point of view of the camera
- Outliner
- Essentially what is more commonly reffered to as a layers panel found in other software. All object types in your scene are listed here with the ability to add ‘collections’ (folders).
- Render vs viewport
- Many feature can be enabled or disabled for the render / viewport. The selected render engine only is applied when
‘viewport shading is selected’
otherwise the default light weight renderer is used
- Many feature can be enabled or disabled for the render / viewport. The selected render engine only is applied when
B — Essential Key Commands
List item summary: Clearly Blender is idosyncratic in its exstensive use of key commands. From prior experience I know its better to just rip the Band-Aid off early and just and start memorizing the really core key commands through playing in the software.
g + x, y or z
’g’ initiates a grabbing mode ‘x’ ‘y’ ‘z’ lock the transpose direction
s + x, y or z
sets scaling mode and ‘x’ ‘y’ ‘z’ note what you are scaling
r + x, y or z
sets rotation mode and ‘x’ ‘y’ ‘z’ across which planes you are rotating
a
select all objects in a scene
n
opens property menu
shift + s
full rotary menu opens
g + b
vertice selection mode
shift + z
wireframe mode
x
delete
right click
if you want to cancel out of a move mid move
g + MMB
allows you to snap to an axis during move
click ‘camera’
moves camera positition
f12
quick render
shift + tab
enable disable snapping
shift + c
to move cursor to central origin
ctrl + 1
subdivision modifier
~
view select wheel
w
selection tool
Detail camera adjustment
→camera icon + → camera object ‘g’
free pan camera from camera pov
→camera icon + → camera object g + r
free pan camera from camera pov
→camera icon + → camera object g + MMB
zoom from camera perspective
C— Working Blender Tutorial from Blender Guru
List item summary: With
shift + n → Insert Torous
Tweak polygon count to a low value with reasonable fidelity to give you the below. Lower poly gives you faster load times and polycount can be increased later.
- Set shading to
right click → shade smooth
this will hide the low poly look.
- Click on modifiers
generate → subdivision surfaces
this is a way to non destructively subdivide faces to create a higher polygon surface and thus greater object fidelity. This is why the initial polygon count does not need to be super high.
- Switch to
→edit mode
then1
then select vertice→ proportional editing
theng
then adjust withMW
to shrink or enlarge. Basically you are trying to just make the donut look more organic.
D— Making The Lego
- Doing this straight off the dome… no tutorial. Switch to modeling workspace… fuck just found this.
- Create the rectolinear envelope for the Lego piece - without the lego stud height. Make your cube in origin center → obviously… (I typcally use workflows based around origin center as they seem to be faster to build) use technical drawing dimensions to define set your length width and height of the envelope. Do this by pressing
n
and inputing dimensions in relevant fields. USEctrl a
and applyall transforms
.
- Select the bottom face and create an offset with
inset face
tool based on technical drawing offset [1.2].
- Create and dimension cylinder
g
move to lego cornercmd + a
to apply tranformations. Move up so it is flush with face manually move to position in the properties paneln
.
- Add array to cylinder object select
constant offset
set offset to [8] as its the distance between object centers. Add another array modifier in the object set the Y distance to [-8]. Apply changes of modifiers so they are ‘commited’ to the mode. This fixed an issue I had that was creating a weird profile when joining elements.
- Create cylinder copy cylinder insitu resize second cylinder for boolean cut operation. Perform boolean cut operation through boolean generator set to difference. Apply generator.
- Position cylinder apply array generator so they pattern at 8mm from center.
— Citations
- Working through blender intro course section 02 https://youtu.be/tBpnKTAc5Eo?si=tYhqqYDMM42NLH4O
- Page on HackMD was consulted to for additional info in the program fundamentals section https://hackmd.io/ojtXMAVIQYyJJ86pPzzNpA
02 Basics of Rhino
A — Core UI Where and What
- Construction Plane (CPlane)
- Basically the primary 2D → 3D workflow appears to be similiar to hard surface modeling sketches workflow to programs like solidworks or Fusion.
- Viewport Area
- Top area
Front→ wireframe/shaded...
allows you to select many viewport options.
- Bottom area
Perspective/Front/…
are a selection of different custom view sets that can be saved.
- Top area
- Right Panel
- Layers Pane
- Appears to use a layer system that operates like blender however, not sure if it manages non destructive editing feature in this zone like blender does.
- Properties Pane
- Also pretty typical contextual object editing like blender.
- Layers Pane
- Left tools Panel
- Command Line Entry
- Rellies on command line heavily instead of key commands. Just start writing to automatically write in command line terminal.
- Help Tool Bar
- Always active in the right toolbar pane and is contextual.
Toolbar Reset
to get back to original configuration
- Command Line Entry
- Bottom Pane
- Selection Filters
- Seems to be similiar to Fusion’s selection selection filter system through the cursor dropdown. Probably more relevant when working with meshes.
- World coordinates
- Working Unit
- OSnap
- Enables or disables the snapping options panel (left)
- CPlane
- Construction plane defines working plane
- Gumball (CPlane)
- Auto CPlane (Object)
- Record History
- Selection Filters
B— Core Concepts / Workflows
- Gumball
- Allows for transform,scaling, rotation
- Enable the
Gumbal(Cplane)
- Scale from gumbal
shift
to scale uniformly
- Scale from gumbal
- Command line workflow
Move
commandshift
constrains movementtab
locks it inline with an axis
- Input values during object tranformation to set a context specific value.
- Copy by holding
option
- Gumball can be relocated
- Enable the
- Allows for transform,scaling, rotation
- CPlanes (construction planes)
- Sketches that work across all object kinds and can be used for things like creating surfaces, extruding, into 3D solids and object alignment. The do not utilize geometric constraints.
- SubD / Nurbs / Mesh
- SubD — A kind of fake mesh that seems to be better optimized for the design workflow in Rhino, but appears to utilize similiar design workflows to mesh based modeling.
- Mesh — Seems to make more sense to simply convert designs to mesh rather than designing in mesh. Mesh would be your final output for a context that utilizes mesh as a final input like 3D printing or game assets.
- Nurbs — Rhino’s implementation of a hard modeling work flow utilizing iso curves etc. By choosing
surface
you are using a nurbs workflow.
- Shrinkwrap
- Is very cool. Enables you to clean up a noisy or messy mesh file. Very useful when working from STLs
- Parametric workflow
- Is… a hot mess. It utilizes command line history which behaves differently than mac has some things that apply dynamically to objects and not others. Also utilizes like grasshopper that is managed as a second application through its node workflow.
- Grasshopper is fully parametric and rhino objects can be imported as static objects into
C — Essential Key Commands
Ctrl + J
Join
BooleanUnion
BooleanUnion
MergeSrf
MergeSrf
MergeAllFaces
MergeAllFaces
Weld
Weld
JoinEdge
JoinEdge
CollapseMeshFace
CollapseMeshFace
Rebuild
Rebuild
Grasshopper
launches grasshopper
D — Learnings From Experimentation
shift
while drawing will deactivate orthographic snapping. You can also enablePlanar
to permanently constrain the sketch to a single working plane.
- Active layer have a check mark in them and the color will denote the sketch line color
- Rhino is actually a hybrid package for nurbs like objects and meshes, but primarily uses nurbs based modeling like other solid modeling CAD packages.
- Dual workflow
- Primitives (knurb + mesh) workflow
- You can model objects based on primitives seamingly like Blender. I am sure there are some non-destructive advantages to using this workflow utilizing knurbs based primitives.
- Sketch based workflow (polylines)
extrude crv
→ selectpolyline
→ clicksolid
extrude your selected polyline into a… surface? check make sureAutoCPlane
is off!
Push Pull
work only on surfaces
- Primitives (knurb + mesh) workflow
E — Rhino Lego
Discoveries While Working
- Enable
end
in snaping panel to snap to a point on a solid.
- Your drag oreintation will define your dimension ‘from’ point so you can skip use -values.
- Option command is very powerful as it allows you to set distances between copies by directly inputing a spacing value from original object origin to new objects orgin.
- Not having the z axis up is killing me…
viewport dropdown→top
plan + enter
file->save as template
Design Steps
- Create CPlane alignment rectangle on edge as a construction sketch to position a dimensioned 3D cylinder solid.
- Create cylinder dimensioned shelled internal cylinder by subtracting a smaller cylinder object through
boolean difference
- Position cylinder by
move
select point and enter 0, 0 since it is modeled at origin.option + input
value approach to copy and place cylinders.
- Draw cylinder in alignment with the center of the stud at the cplane to later subtract from interior then use option move protocal then
group
objects and useboolean difference
to create cutaways.
- Create rectangular solid at center that is slightly tall.
Push pull
to sizeboolean join
push pull
to remove center of cylinder.
- Selection filter
select curves
delete all curves
—Citations
- Dani Mateos—https://hackmd.io/@danimateos/S1WJmnO_Je
- The Rhino Essentials
- ChatGPT
- Chat GPT was utilized heavily to answer basic questions that were simply posed as they came to mind when experimenting with the UI. The questions followed the basic format of “what is the CPlane Function” “is Rhino parametric” “how do I reset the tool bar” etc.
03 Autodesk Fusion
A — New To me UI
- I did model the Lego in Fusion, but since I already have experience using fusion I didn’t feel I needed to document the process. That said the thing that was on my mind while making it was how well it was really modeled. I did not 3 subjects I have been avoiding in Fusion though that I would like to learn and that I think would improve my workflow.
Form
- Is Sub Division modeling like in Rhino… this is very interesting I have always been confused how this differs from mesh. Basically nurbs based mesh. These subdivided 3d forms can then be converted into solid object.
- Its a mode and does not represent a parametric operation with historicity. So it only show up as the a mesh body object that was created.
Surface Modeling
- Working with objects with no width. I can think of a few instances where I should have used a surface to cut or replace a face.
Rendering
- A basic understand of how to properly light and texture and object along with basic considerations around optimization.
—Citations
- Asking chat GPT what various fuctions in the software do i.e. “what does the function Form do in Autodesk Fusion” etc.
04 — 2D Software
A — Inkscape!
I didn’t get a chance to look deeply into inkscape I use illustrator as my defualt application, but do like inkscapes more focused feeling UI. Below is a sketch I created while simply clicking around and trying to find simililarities in Inkscapes vector workflow to Illustrator’s vector workflow.
- Rectangle tool was use to create rectangular profile. Line/ fill functions were identical to illustrator.
- the white blue circle was created by divided the shape from the rectangle and deleting the resuling cut shape.
- The weird start thing are placed manually in a grid by copy paste and recoloring.
- Final— Composition is supposed to be a zig zag leading the eye from left to right.

B— Illustrator
I have decided that learning new software is less of a priority for me for FAB lab I like the software I use generally an I could be a lot better at using it. Especially Illustrator I use it as a blunt tool for layout and generating tool paths from 3D to 2D.
New tools to me
Dimension Tool— Select points and drag out aligned dimension

Blend tool — e

Object types— Pasted from Chat GPT prompt: “what are the main types of objects in illustrator in brief?”
1. Paths (Vector Shapes) – Made of anchor points and lines, used to create scalable shapes and outlines (e.g., lines, polygons, curves).
2. Compound Paths – Multiple paths combined to create complex shapes with transparent areas (e.g., cutouts).
3. Text Objects – Editable text that can be point text (single line) or area text (paragraphs).
4. Images (Raster Objects) – Placed bitmap images (e.g., JPG, PNG) that are not scalable without quality loss.
5. Symbols – Reusable vector graphics stored in the Symbols panel for consistency across designs.
6. Groups – Multiple objects grouped together to act as a single object for easier manipulation.
7. Artboards – Not an object but a workspace unit, each artboard represents a design layout or exportable area.
8. Layers – Organizational structure for managing and stacking objects in a design.
If you want, I can explain any of these in detail with examples. 😊
05— Final Project
A— What the Heck is it?
- It is a dish that holds a piece of paper. Above the dish is delta xy system that oreints a set of multiple colored ink droppers. The ink is dropped opposite to the position of the viewer only after staying still for a couple of seconds. This would probably be achieved using a fancy motion sensor or even a 3d camera like the microsoft kinnect.
- Another concept would be to drive the whole thing with a 360 degree camera array with ai people an pose tracking… so a group of people would have to sit for a long while before the drop is released. The purpose of course would be to get a full group of people to settle into the moment in order to experience the work.
- I think the concept of having a system that uses a proxy that can tell if someone is focusing is something I would be interested in developing. I think on a basic level it wouldn’t be too hard to achieve with the most robust being using some direct brain monitoring.
B— Why?
- To slow the viewer down and make them focus on the work and in turn get them to focus in general. Practically all of the work I aim to create is to hone peoples focus in.
My Project Files