3d-models/replacement-parts/vacuum-wand-release.scad

66 lines
1.8 KiB
OpenSCAD
Raw Normal View History

2024-01-03 13:36:59 -06:00
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]);
}