homework 01 - james-bern/CS345 GitHub Wiki

image

Installing LAYOUT

Hello

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.

Spec

  • 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)
  • 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 ✨🙂

📚 Notes

Calipers

  • You can use a caliper 3 different ways (outside, inside, depth.)
    • If you don't know/forget, then ask! 🙂👍

LAYOUT

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 🚀

Common keyboard shortcuts

  • draw a line or circle or box
    • 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)
  • snap your mouse-click to...
    • zero (the origin); NOTE: pressing 'z' also "does the click for you"
    • endpoint (of a line/arc)
    • middle (of a line/arc)
    • quad of a line/arc
    • perpendicular to a line
  • select or deselect...
    • all
    • quality -> 0-5
  • you can do these things with a selection...
    • Backspace to delete
    • move (translate)
    • Scale
    • rotate
    • linear cOpy
    • Rotational copy
    • mirror in X or Y
  • fillet two lines
  • Measure distance between two points
  • . hides/shows the dots
  • 'j'oin two lines (removes the dot)
  • set quality -> 0-5 by clicking
  • two-click intersect
  • one-click Intersect

Other tips

  • 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 in File -> 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

OpenSCAD

  • 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.

✨🦄 Hints

Calipers

  • Use the Measure tool in LAYOUT to check your work. (How far is it from this corner to this corner, etc.)

Bambu Studio

  • 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? 🤔)

👀 Spoilers

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);
⚠️ **GitHub.com Fallback** ⚠️