diff --git a/3d-models/switch-dampener.scad b/3d-models/switch-dampener.scad index 3a0a55e..69ff15d 100644 --- a/3d-models/switch-dampener.scad +++ b/3d-models/switch-dampener.scad @@ -1,23 +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=$height+1, r=1, center=true); + 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(){ - cube([$width,$length, $height], center=true); - cylinder(h=$height+1, r=2.522, center=true); - translate([0,5.9,0]) - pin(); - translate([5,3.8,0]) - pin(); - translate([-5,3.8,0]) - pin(); - translate([-5,-5.15,0]) - pin(); - translate([5,-5.15,0]) - pin(); -} - \ No newline at end of file +body(); +translate([$space,$space,$holes/2*-1]) +switches(); +} \ No newline at end of file diff --git a/3d-models/top-dampener.scad b/3d-models/top-dampener.scad index 69ff15d..e5396c7 100644 --- a/3d-models/top-dampener.scad +++ b/3d-models/top-dampener.scad @@ -1,14 +1,26 @@ $fn = 32; -$space = 5; +$space = 5.3; $width = 15.2; $length = $width; $height = 0.4; $holes = $height*4; +$cut = $holes/2*-1; $columns = 6; $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); } @@ -28,23 +40,41 @@ module switch(){ pin(); translate([$xCenter + 5, $yCenter+-5.15,0]) pin(); + translate([0, $length, 0]) + cube([$width, $space-1, $holes]); } + module switches(){ for (x=[0:$columns -1]) for (y=[0:$rows-1]) - translate([x * ($width + $space/2) ,y * ($length+$space/2) ,0]) + translate([x * ($width + $space) ,y * ($length+$space) ,0]) switch(); } module body(){ - $x = (($width + ($space/2)) * $columns) + $width; - $y = (($length + ($space/2)) * $rows) + $width; - cube([$x, $y, $height]); + difference(){ + cube([$xBase, $yBase + $yTop, $height]); + translate([$xTop,$yBase + $yTop,$holes/2*-1]){ + rotate([0,0,-45]){ + cube([1000, 1000, $holes]); + } + } + } +} + +module pico(){ + translate([0,$yTop + $yBase - $yPico,$cut]){ + cube([$xPico, $yPico, $holes]); + } + translate([$xPico, $yBase + $yTop - $yAux, $cut]){ + cube([$xAux, $yAux, $holes]); + } } difference(){ -body(); -translate([$space,$space,$holes/2*-1]) -switches(); -} \ No newline at end of file + body(); + pico(); + translate([$space,$space,$holes/2*-1]) + switches(); +} diff --git a/3d-models/top-dampener.stl b/3d-models/top-dampener.stl new file mode 100644 index 0000000..70a31db Binary files /dev/null and b/3d-models/top-dampener.stl differ