From 608f44384175ab60816da5cba91f2ae02f48fecc Mon Sep 17 00:00:00 2001 From: wholteza Date: Sat, 14 Jun 2025 17:17:08 +0200 Subject: [PATCH] Started work on top dampener --- 3d-models/top-dampener.scad | 50 +++++++++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100644 3d-models/top-dampener.scad diff --git a/3d-models/top-dampener.scad b/3d-models/top-dampener.scad new file mode 100644 index 0000000..69ff15d --- /dev/null +++ b/3d-models/top-dampener.scad @@ -0,0 +1,50 @@ +$fn = 32; + +$space = 5; +$width = 15.2; +$length = $width; +$height = 0.4; +$holes = $height*4; + +$columns = 6; +$rows = 5; + +module pin(){ + cylinder(h=$holes, r=1, center=false); +} + +module switch(){ + $xCenter = $width/2; + $yCenter = $length/2; + translate([$xCenter, $yCenter, 0]) + cylinder(h=$holes, r=2.522, center=false); + translate([$xCenter + 0, $yCenter + 5.9,0]) + pin(); + translate([$xCenter + 5, $yCenter + 3.8,0]) + pin(); + translate([$xCenter + -5, $yCenter + 3.8,0]) + pin(); + translate([$xCenter + -5, $yCenter + -5.15,0]) + pin(); + translate([$xCenter + 5, $yCenter+-5.15,0]) + pin(); + } + +module switches(){ +for (x=[0:$columns -1]) + for (y=[0:$rows-1]) + translate([x * ($width + $space/2) ,y * ($length+$space/2) ,0]) + switch(); +} + +module body(){ + $x = (($width + ($space/2)) * $columns) + $width; + $y = (($length + ($space/2)) * $rows) + $width; + cube([$x, $y, $height]); +} + +difference(){ +body(); +translate([$space,$space,$holes/2*-1]) +switches(); +} \ No newline at end of file