homework 01 - james-bern/CS345 GitHub Wiki
![image](https://private-user-images.githubusercontent.com/5091875/302415951-c3453a7f-8ad3-4e54-a410-4e3bff61d734.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjUxNTA0NjEsIm5iZiI6MTcyNTE1MDE2MSwicGF0aCI6Ii81MDkxODc1LzMwMjQxNTk1MS1jMzQ1M2E3Zi04YWQzLTRlNTQtYTQxMC00ZTNiZmY2MWQ3MzQucG5nP1gtQW16LUFsZ29yaXRobT1BV1M0LUhNQUMtU0hBMjU2JlgtQW16LUNyZWRlbnRpYWw9QUtJQVZDT0RZTFNBNTNQUUs0WkElMkYyMDI0MDkwMSUyRnVzLWVhc3QtMSUyRnMzJTJGYXdzNF9yZXF1ZXN0JlgtQW16LURhdGU9MjAyNDA5MDFUMDAyMjQxWiZYLUFtei1FeHBpcmVzPTMwMCZYLUFtei1TaWduYXR1cmU9NzY2ODVjOGY0NzBlODFjNDY2MGE2YWU0NWE0NGViNzNjN2EzNTRmMGY3YmIyZWEyOWM5NGQ1NTRiNTNhMDdiNCZYLUFtei1TaWduZWRIZWFkZXJzPWhvc3QmYWN0b3JfaWQ9MCZrZXlfaWQ9MCZyZXBvX2lkPTAifQ.2ZIJdUoEiI1Tk-cdyLaFUt666IHzf2gjt-t1f-jesog)
- (if on Mac) install Parallels
- make sure to Optimize Parallels for Games
-
install LAYOUT into Windows
- Make sure to extract the installer first (Extract All)
- Configure as offline PC
- Do not send data back
- Finish install
- Run LAYOUT
- (in the top ribbon
View
->Enter Coherence
)
Let us experience the only good piece of software ever written, LAYOUT! 💖
(LAYOUT will form the foundation for so much of the stuff we do in this class; I recommend spending lots of time getting comfortable in it 🙂👍)
The ability to rapidly make 2D drawings of parts is beyond OP and literally nobody knows it (except for me and my friend John) 🚀 Have I mentioned John yet? Maybe he'll give a guest lecture! 🤖
We will also use calipers. A caliper is like a ruler, much like how C is like Java 😬😇 Basically, calipers are what they should have been telling you about in high-school instead of protractors. Alas. There's no time like the present. What a week to be alive! 📏
Finally, we'll take our first steps from 2D -> 3D in OpenSCAD.
-
A- Level
- 1x 3D-printed scraper from the built-in files on the printer in NOT-green
- You can use this to clean off the print bed
- NOTE: this is a knife, albeit a very dull one
- (Optional) 1x 3D-printed pyramid or house from last homework in NOT-green
- 1x 3D-printed Pac-Man in NOT-green
- NOTE: re-design this in LAYOUT to match the green Pac-Man as close as possible
- 2x 3D-printed names in NOT-green
- 1x for one team member
- 1x for the other team member
- NOTE: using the Text tool is definitely NOT allowed
- NOTE: otherwise, do whatever you want so long as...
- I can read it
- your name is a single piece of plastic
- you used the fillet tool at least once
- (also maybe don't make it like...huge)
- NOTE: leave these on your shelf for the rest of the semester; this is your shelf now
- 2x 3D-printed puzzle pieces in NOT-green
- 1x should slip over the green jig's post
- NOTE: the circles on the green jig are concentric
- NOTE: the outside of the second puzzle piece should be a circle (like a small bottle opener) with the same radius as the green jig's (outer) circular post
- 1x should slip into the green jig's hole
- NOTE: it should be the same thickness as the green jig (when dropped into the hole, it should be flush with the top surface of the green jig)
- 1x should slip over the green jig's post
- 1x 3D-printed scraper from the built-in files on the printer in NOT-green
-
A Level
- Everything from all previous levels.
- Choose 1:
- 1x 3D-printed replica of the jig itself in NOT-green
- 1x printed screenshot of 2-3+ hours of progress at https://online.tipp10.com/en/training/
- NOTE: please consider choosing this option if you cannot yet type quickly without looking; no one is born knowing how to walk/bike/skateboard/juggle/type without looking; if you don't know how to yet, there's no time like the present! 🙂👍
- NOTE: you'll need to make an account
-
A+ Level:
- Everything from all previous levels.
- 1x Cantor Dust castle exactly like mine NOTE: I designed this in LAYOUT and recommend you try doing the same 🙂👍
- 1x visually-pleasing fractal art object of your own creation ✨🙂
- You can use a caliper 3 different ways (outside, inside, depth.)
- If you don't know/forget, then ask! 🙂👍
LAYOUT is a DXF editor that feels a lot like Vim to me.
It may be painful to learn, but once you know it, vroom vroom 🚀
- draw a
l
ine orc
ircle orb
ox- NOTE: holding
Shift
while drawing a line will snap its angle to 15 degree increments- NOTE: if this does NOT work in Parallels, select
Optimize for Games
in Parallels; (guide here)
- NOTE: if this does NOT work in Parallels, select
- NOTE: holding
- snap your mouse-click to...
-
z
ero (the origin); NOTE: pressing 'z' also "does the click for you" -
e
ndpoint (of a line/arc) -
m
iddle (of a line/arc) -
q
uad of a line/arc -
p
erpendicular to a line
-
-
s
elect ord
eselect...-
a
ll -
q
uality ->0
-5
-
- you can do these things with a selection...
-
Backspace
to delete -
m
ove (translate) -
S
cale -
r
otate - linear c
O
py -
R
otational copy - mirror in
X
orY
-
-
f
illet two lines -
M
easure distance between two points -
.
hides/shows the dots - 'j'oin two lines (removes the dot)
- set
q
uality ->0
-5
by clicking - two-click
i
ntersect - one-click
I
ntersect
-
Help
->Keyboard Equivalents
shows all the keyboard shortcuts; - the
Clean
button on the right-hand side will fix up your drawing (try this if OpenSCAD is mad) - if you zoom around to fast and can't find your drawing, click the
Extents
button at the bottom - the Offset tool can be very useful for this homework; it doesn't have a default hotkey, but I tend to set it to
F8
inFile
->Configure Preferences...
-> `Hotkeys - you can fillet with radius zero; this creates a sharp corner and can also be used to trim
- as with many tools in LAYOUT, right-clicking on the Circle icon will give you many other cool tools beyond what you get by pressing
c
on the keyboard
- If you want OpenSCAD on your own personal computer, I recommend installing a Development Snapshot and enabling Manifold. This will make rendering (to STL) muuuch faster.
- Use the Measure tool in LAYOUT to check your work. (How far is it from this corner to this corner, etc.)
- You can scale and rotate parts inside of Bambu Studio. This can be a handy trick, though is a little sus (why was your drawing the wrong size to begin with? 🤔)
OpenSCAD
dxf_filename = "pacman.dxf";
extrusion_height = 3.0;
$fn = 128; // number of line segments used when discretizing a complete circle
linear_extrude(extrusion_height)
scale([25.4, 25.4, 25.4]) // NOTE: OMAX exports in inches
import(dxf_filename);