Reorganize around function/purpose rather than file type.

This commit is contained in:
2024-04-07 18:49:47 -05:00
parent 42e78ed35e
commit d4af5d3c36
141 changed files with 101779 additions and 0 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 373 KiB

View File

@ -0,0 +1,45 @@
$fn=24;
length = 60;
module screwHole() {
color("blue") union() {
translate([2.1, 5.1, 0]) cylinder(r = 2.1, h = 6);
translate([2.1, 2.1, 0]) cylinder(r = 2.1, h = 6);
translate([0, 2.1, 0]) cube([4.2, 3, 6]);
}
}
difference() {
union() {
// channel
cube([30, 13, length + 10]);
// angled support
translate([16, 9, -8]) rotate([0, -17, 0]) cube([30, 4, length + 10]);
// base
cube([50, 32, 4]);
}
union() {
// bottom flush-cut
translate([-10, -10, -20]) cube([60, 40, 20]);
// X-side flush-cut
translate([-8, -2, -length * 0.05]) cube([8, 20, length * 1.1]);
// channel interior
translate([3, 3, 4]) cube([23, 9, length]);
// channel side cutaway
translate([4, 8, 4]) cube([20, 9, length]);
// screw holes
translate([4.2, 32 - 7.2 - 4, -1]) screwHole();
translate([50 - 8.4, 32 - 7.2 - 4, -1]) screwHole();
translate([25 + 4.2, 32 - 5.7 - 4, -1]) rotate([0, 0, 90]) screwHole();
// top flush-cut
color("red") translate([-10, -8, length]) cube([60, 40, length / 2]);
}
}

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,45 @@
ep = 0.01;
$fn = 128;
difference() {
union() {
difference() {
// main cylinder stack
color("SkyBlue") union() {
translate([0, 0, 6.5]) cylinder(d = 27, h = 13, center = true);
translate([0, 0, 1]) cylinder(d = 29, h = 2, center = true);
}
color("LavenderBlush") union() {
// cut away the interior
translate([0, 0, 5]) cylinder(d = 25, h = 10.01, center = true);
// square off the sides
translate([-10, 13.5, -1]) cube([20, 10, 15]);
translate([-10, -23.5, -1]) cube([20, 10, 15]);
}
}
// add internal indexing ridges
color("LightSteelBlue") union() {
translate([-1.5, 12, 0]) cube([3, 1.25, 6]);
translate([-1.5, -13.25, 0]) cube([3, 1.25, 6]);
}
}
color("DarkSeaGreen") union() {
// punch out the side holes
translate([0, 0, 3.1]) rotate([90, 0, 0]) cylinder(d = 2.2, h = 30, center=true);
translate([0, 0, 4.3]) rotate([90, 0, 0]) cylinder(d = 2.2, h = 30, center=true);
translate([-1.1, -15, 3]) cube([2.2, 30, 1.5]);
// chamfer the top
difference() {
translate([0, 0, 10]) cylinder(d2 = 26, d1 = 34, h = 6);
translate([0, 0, 9.99]) cylinder(d2 = 16, d1 = 28, h = 6.02);
}
// emboss hope logo
translate([-11, -11.25, 12.6]) scale([0.35, 0.35, 1]) linear_extrude(1) import("HFF_standalone_H_RGB.svg");
}
}

Binary file not shown.

View File

@ -0,0 +1,65 @@
use <../lib/chamfered-cube.scad>;
$fn = 16;
ep = 0.1;
width = 49;
difference() {
union() {
// Body
chamferedCube([width, 32, 10]);
translate([0, 16, 0]) chamferedCube([width, 24, 20]);
translate([0, 27, 0]) chamferedCube([width, 13, 40]);
translate([width/2, 40.5, 0])
difference() {
cylinder(d = 40, h = 37, $fn=64);
translate([-20, -2, -ep]) cube([40 + 2*ep, 40 + 2*ep, 40 + 2*ep]);
}
// Cylindrical Tabs
for (i = [0:1]) {
translate([(width + 5)*i - 2.5, 30.5, 36])
mirror([i, 0, 0])
difference() {
rotate([0, 90, 0]) cylinder(d = 8, h = 5, $fn=64);
translate([-4, -4.5, 0]) rotate([0, 20, 0]) cube([4, 9, 8]);
}
}
// Spring Retainer
translate([(width/2)-3.5, 16, 23.5])
union() {
translate([2.75, 0, 0]) cube([1.5, 6, 7]);
translate([0, 0, 2.75]) cube([7, 6, 1.5]);
}
}
translate([46, 4, -ep]) mirror([1, 0, 0]) linear_extrude(0.5 + ep)
text(text="WAND RELEASE", font = "Noto Sans:style=Condensed Bold", size = 5);
// subtract wand clearance diameter
translate([width/2, 40.5, -ep]) cylinder(d = 37.5, h = 40 + 2*ep, $fn=64);
// subtract to make the anchor pivot
translate([-ep, 40, 25]) rotate([30, 0, 0]) cube([width + 2*ep, 20, 20]);
// subtract to make track clearance
translate([(width - 44.3)/2, 32, -ep]) cube([44.3, 8 + ep, 40 + 2*ep]);
// subtract to make wand tab catcher
translate([(width - 24)/2, 26, 2.5])
//#translate([-4, 26, 2.5])
mirror([0, 1, 0])
difference() {
cube([24, 14, 12]);
translate([0, 12, 0]) rotate([30, 0, 0]) translate([-ep, 0, -4-ep]) cube([24 + 2*ep, 8, 20]);
}
// subtract to make it bendable
translate([width - 4.3, 26, 26]) cube([2, 8, 14 + ep]);
translate([2.3, 26, 26]) cube([2, 8, 14 + ep]);
}

Binary file not shown.