First version of top dampener

This commit is contained in:
2025-06-14 21:02:06 +02:00
parent 608f443841
commit 03e70e3f31
3 changed files with 81 additions and 24 deletions

View File

@@ -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);
}
difference(){
cube([$width,$length, $height], center=true);
cylinder(h=$height+1, r=2.522, center=true);
translate([0,5.9,0])
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([5,3.8,0])
translate([$xCenter + 5, $yCenter + 3.8,0])
pin();
translate([-5,3.8,0])
translate([$xCenter + -5, $yCenter + 3.8,0])
pin();
translate([-5,-5.15,0])
translate([$xCenter + -5, $yCenter + -5.15,0])
pin();
translate([5,-5.15,0])
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();
}

View File

@@ -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();
pico();
translate([$space,$space,$holes/2*-1])
switches();
}

BIN
3d-models/top-dampener.stl Normal file

Binary file not shown.