From 61777ac13fb7f5b474d325474350979714f691e1 Mon Sep 17 00:00:00 2001 From: wholteza Date: Mon, 11 Aug 2025 21:25:59 +0200 Subject: [PATCH] Wip top dampener for rev 2 --- rev2/3d-models/top-dampener.scad | 63 ++++++++++++-------------------- 1 file changed, 24 insertions(+), 39 deletions(-) diff --git a/rev2/3d-models/top-dampener.scad b/rev2/3d-models/top-dampener.scad index 994fbf4..d1745b8 100644 --- a/rev2/3d-models/top-dampener.scad +++ b/rev2/3d-models/top-dampener.scad @@ -1,11 +1,12 @@ $fn = 32; -$space = 5.3; +$space = 3.3; $width = 15.2; $length = $width; $height = 1; $holes = $height*4; $cut = $holes/2*-1; +$switchDistance = $width+ $space; $columns = 6; $rows = 5; @@ -13,14 +14,7 @@ $rows = 5; $xBase = (($width + $space) * $columns) + $space; $yBase = (($length + $space) * $rows) + $space; -$yTop = 30.750; -$xTop = 101.348; -$xPico = 52.53; -$yPico = 25; - -$xAux = 10; -$yAux = 14.5; module pin(){ cylinder(h=$holes, r=1, center=false); } @@ -40,41 +34,32 @@ module switch(){ pin(); translate([$xCenter + 5, $yCenter+-5.15,0]) pin(); - translate([0, $length + 1.4, 0]) - cube([$width, 3, $holes]); + translate([0, $length + 1.4, 0]); } -module switches(){ -for (x=[0:$columns -1]) - for (y=[0:$rows-1]) - translate([x * ($width + $space) ,y * ($length+$space) ,0]) - switch(); +module switchColumn(){ + difference() { + translate([-($space/2), -($space/2)]) + cube([$switchDistance, $switchDistance * $rows, $height]); + for (y=[0:$rows-1]) + translate([0 * ($width + $space) ,y * ($length+$space) ,0]) + switch(); + } } -module body(){ - difference(){ - cube([$xBase, $yBase + $yTop, $height]); - translate([$xTop,$yBase + $yTop,$holes/2*-1]){ - rotate([0,0,-45]){ - cube([1000, 1000, $holes]); - } - } - } +module topDampener(){ + switchColumn(); + translate([$switchDistance,0,0]) + switchColumn(); + translate([$switchDistance * 2,5,0]) + switchColumn(); + translate([$switchDistance * 3,0,0]) + switchColumn(); + translate([$switchDistance * 4,-5,0]) + switchColumn(); + translate([$switchDistance * 5,-5,0]) + switchColumn(); } -module pico(){ - translate([0,$yTop + $yBase - $yPico,$cut]){ - cube([$xPico, $yPico, $holes]); - } - translate([$xPico, $yBase + $yTop - $yAux, $cut]){ - cube([$xAux, $yAux, $holes]); - } -} - -difference(){ - body(); - pico(); - translate([$space,$space,$holes/2*-1]) - switches(); -} +topDampener(); \ No newline at end of file