diff --git a/functional/switch-plates/chandelier-icon.svg b/functional/switch-plates/chandelier-icon.svg new file mode 100644 index 0000000..0c063b8 --- /dev/null +++ b/functional/switch-plates/chandelier-icon.svg @@ -0,0 +1,211 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/functional/switch-plates/dishwasher-icon.svg b/functional/switch-plates/dishwasher-icon.svg new file mode 100644 index 0000000..204f134 --- /dev/null +++ b/functional/switch-plates/dishwasher-icon.svg @@ -0,0 +1,61 @@ + + + + + + + + + + + + diff --git a/functional/switch-plates/disposal-icon.svg b/functional/switch-plates/disposal-icon.svg new file mode 100644 index 0000000..7c6b159 --- /dev/null +++ b/functional/switch-plates/disposal-icon.svg @@ -0,0 +1,86 @@ + + + + + + + + + + + + + + + + + + + + + + diff --git a/functional/switch-plates/exterior-lights-icon.svg b/functional/switch-plates/exterior-lights-icon.svg new file mode 100644 index 0000000..93e46d3 --- /dev/null +++ b/functional/switch-plates/exterior-lights-icon.svg @@ -0,0 +1,73 @@ + + + + + + + + + + + + + + + diff --git a/functional/switch-plates/garage-switch-plate.3mf b/functional/switch-plates/garage-switch-plate.3mf new file mode 100644 index 0000000..e75b8cb Binary files /dev/null and b/functional/switch-plates/garage-switch-plate.3mf differ diff --git a/functional/switch-plates/kitchen-sink-switch-plates.3mf b/functional/switch-plates/kitchen-sink-switch-plates.3mf new file mode 100644 index 0000000..b4bc854 Binary files /dev/null and b/functional/switch-plates/kitchen-sink-switch-plates.3mf differ diff --git a/functional/switch-plates/laundry-room-switch-plate.3mf b/functional/switch-plates/laundry-room-switch-plate.3mf new file mode 100644 index 0000000..dab7fbf Binary files /dev/null and b/functional/switch-plates/laundry-room-switch-plate.3mf differ diff --git a/functional/switch-plates/lightbulb-regular-full.svg b/functional/switch-plates/lightbulb-regular-full.svg new file mode 100644 index 0000000..aae590b --- /dev/null +++ b/functional/switch-plates/lightbulb-regular-full.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/functional/switch-plates/outlet-icon.svg b/functional/switch-plates/outlet-icon.svg new file mode 100644 index 0000000..9f898ba --- /dev/null +++ b/functional/switch-plates/outlet-icon.svg @@ -0,0 +1,87 @@ + + + + + + + + + + + + + + + + + + + diff --git a/functional/switch-plates/paddle-plate-dynamic.scad b/functional/switch-plates/paddle-plate-dynamic.scad new file mode 100644 index 0000000..c6e5ff6 --- /dev/null +++ b/functional/switch-plates/paddle-plate-dynamic.scad @@ -0,0 +1,43 @@ +include <../../lib/chamfered-cube.scad> + +numPaddles = 4; + +// All units in millimeters +// +// screw distance (on center), horizontal and vertical +screwDX = 45; +screwDY = 82; + +// paddle size +pX = 33.7; +pY = 66.3; + +// inter-switch distance (horizontal) +interX = 12; + +// plate side size (square) +sideX = pX*numPaddles + interX*(numPaddles - 1) + 64; +sideY = 120; + +pDepth = 6; +backingDepth = 2; +tDepth = pDepth + backingDepth; + +pOffsetX = 32; +pOffsetY = (sideY - pY)/2; + +difference() { + translate([0, 0, -2]) + chamferedCube([sideX, sideY, tDepth - 3 + 2], chamfer=2); + + // bottom flush cut + translate([-10, -10, -4]) cube([sideX + 20, sideY + 20, 4]); + + // paddle cutouts + for (i = [0:numPaddles - 1]) { + translate([pOffsetX + (pX + interX)*i, pOffsetY, -2]) cube([pX, pY, tDepth + 4]); + } + + // interior-space carve-out + translate([4, 4, -2]) chamferedCube([sideX - 8, sideY - 8, tDepth - 5 + 2]); +} diff --git a/functional/switch-plates/stair-lights-icon.svg b/functional/switch-plates/stair-lights-icon.svg new file mode 100644 index 0000000..94c1c70 --- /dev/null +++ b/functional/switch-plates/stair-lights-icon.svg @@ -0,0 +1,100 @@ + + + + + + + + + + + + + + + + + diff --git a/functional/switch-plates/two-gang-paddle-plates.scad b/functional/switch-plates/two-gang-paddle-plates.scad new file mode 100644 index 0000000..1cefba5 --- /dev/null +++ b/functional/switch-plates/two-gang-paddle-plates.scad @@ -0,0 +1,40 @@ +include <../../lib/chamfered-cube.scad> + +// All units in millimeters +// +// screw distance (on center), horizontal and vertical +screwDX = 45; +screwDY = 82; + +// paddle size +pX = 33.7; +pY = 66.3; + +// inter-switch distance (horizontal) +interX = 12; + +// plate side size (square_ +side = 120; + +pDepth = 6; +backingDepth = 2; +tDepth = pDepth + backingDepth; + +pOffsetX = (side - 2*pX - interX)/2; +pOffsetY = (side - pY)/2; + +difference() { + translate([0, 0, -2]) + chamferedCube([side, side, tDepth - 3 + 2], chamfer=2); + + // bottom flush cut + translate([-10, -10, -4]) cube([side + 20, side + 20, 4]); + + // paddle cutouts + for (i = [0, 1]) { + translate([pOffsetX + (pX + interX)*i, pOffsetY, -2]) cube([pX, pY, tDepth + 4]); + } + + // interior-space carve-out + translate([4, 4, -2]) chamferedCube([side - 8, side - 8, tDepth - 5 + 2]); +}