Compare commits
2 Commits
6af959f92d
...
32e9623411
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
32e9623411 | ||
|
|
c4320e2239 |
@@ -101,7 +101,7 @@ foam+bracket; the bracket is what stops it dropping _into_ the cavity
|
||||
|
||||

|
||||
|
||||

|
||||

|
||||
|
||||
### Boards (the baseplate is the chassis)
|
||||
|
||||
|
||||
|
Before Width: | Height: | Size: 23 KiB After Width: | Height: | Size: 22 KiB |
|
Before Width: | Height: | Size: 32 KiB After Width: | Height: | Size: 32 KiB |
|
Before Width: | Height: | Size: 20 KiB After Width: | Height: | Size: 20 KiB |
|
Before Width: | Height: | Size: 19 KiB After Width: | Height: | Size: 20 KiB |
|
Before Width: | Height: | Size: 23 KiB After Width: | Height: | Size: 23 KiB |
|
Before Width: | Height: | Size: 32 KiB After Width: | Height: | Size: 30 KiB |
@@ -230,17 +230,14 @@ module case_body() {
|
||||
// ===========================================================================
|
||||
module bracket() {
|
||||
ow = P_w + 18; oh = P_h + 18;
|
||||
// Solid frame — no FPC notch on purpose. The flex U-turns off the glass's
|
||||
// left edge and returns INBOARD through the ~1 mm foam gap ABOVE this bracket
|
||||
// (the bracket starts 1 mm deeper), then drops into the cavity through the
|
||||
// open aperture to the breakout — it never crosses the bracket plane. The
|
||||
// only FPC relief lives in the body's left pocket wall (see screen_cuts()).
|
||||
difference() {
|
||||
linear_extrude(bracket_t)
|
||||
difference() {
|
||||
rrect(ow, oh, 4);
|
||||
rrect(A_ap_w+2, A_ap_h+2, 2);
|
||||
// ribbon (FPC) relief: a gap in the LEFT frame member, lined up
|
||||
// with the body's FPC clearance so the flex can fold back through
|
||||
// the bracket plane into the cavity instead of being pinched
|
||||
translate([-(ow + A_ap_w+2)/4, 0])
|
||||
square([(ow - (A_ap_w+2))/2 + 4, fpc_w], center=true);
|
||||
}
|
||||
difference() { rrect(ow, oh, 4); rrect(A_ap_w+2, A_ap_h+2, 2); }
|
||||
for (bx=[-(P_w/2+5), P_w/2+5], by=[-(P_h/2+5), P_h/2+5])
|
||||
translate([bx, by, -1]) cylinder(h=bracket_t+2, r=1.45); // M2 clear
|
||||
}
|
||||
|
||||
@@ -3,6 +3,11 @@
|
||||
|
||||
scad := "case/typoena-case.scad"
|
||||
|
||||
# shared OpenSCAD flags (everything but the camera + the part to show)
|
||||
base := "--imgsize=1100,825 --colorscheme=Tomorrow --viewall --autocenter"
|
||||
# the standard 3/4 camera used by most previews (rotate 62° tilt, 22° azimuth)
|
||||
std_cam := "--camera=0,0,0,62,0,22,0"
|
||||
|
||||
# list available recipes
|
||||
default:
|
||||
@just --list
|
||||
@@ -11,12 +16,20 @@ default:
|
||||
open:
|
||||
open -a OpenSCAD {{scad}}
|
||||
|
||||
# regenerate the preview PNGs in case/renders/
|
||||
# regenerate every preview PNG in case/renders/
|
||||
render:
|
||||
cd case && openscad -o renders/assembled.png --imgsize=1100,825 --colorscheme=Tomorrow \
|
||||
--camera=0,0,0,62,0,22,0 --viewall --autocenter -D 'show="assembled"' typoena-case.scad
|
||||
cd case && openscad -o renders/body.png --imgsize=1100,825 --colorscheme=Tomorrow \
|
||||
--camera=0,0,0,62,0,22,0 --viewall --autocenter -D 'show="body"' typoena-case.scad
|
||||
cd case && openscad -o renders/assembled.png {{base}} {{std_cam}} -D 'show="assembled"' typoena-case.scad
|
||||
cd case && openscad -o renders/body.png {{base}} {{std_cam}} -D 'show="body"' typoena-case.scad
|
||||
cd case && openscad -o renders/bracket.png {{base}} {{std_cam}} -D 'show="bracket"' typoena-case.scad
|
||||
cd case && openscad -o renders/baseplate.png {{base}} {{std_cam}} -D 'show="baseplate"' typoena-case.scad
|
||||
cd case && openscad -o renders/print.png {{base}} {{std_cam}} -D 'show="print_plate"' typoena-case.scad
|
||||
cd case && openscad -o renders/section.png {{base}} {{std_cam}} -D 'show="section"' typoena-case.scad
|
||||
cd case && openscad -o renders/plan.png {{base}} {{std_cam}} -D 'show="plan"' typoena-case.scad
|
||||
cd case && openscad -o renders/plan-up.png {{base}} {{std_cam}} -D 'show="plan_up"' typoena-case.scad
|
||||
cd case && openscad -o renders/plan-down.png {{base}} {{std_cam}} -D 'show="plan_down"' typoena-case.scad
|
||||
# two bespoke cameras: the straight-on nameplate hero, and the low back 3/4
|
||||
cd case && openscad -o renders/nameplate.png {{base}} --camera=0,0,0,62,0,0,0 -D 'show="body"' typoena-case.scad
|
||||
cd case && openscad -o renders/front34.png {{base}} --camera=0,0,0,72,0,200,0 -D 'show="assembled"' typoena-case.scad
|
||||
|
||||
# export STLs for the three printable parts
|
||||
stl:
|
||||
|
||||