Compare commits

..

4 Commits

Author SHA1 Message Date
d9a90190f7 Generated models for left and right hand 2025-09-12 22:12:02 +02:00
0c68eedebe Create frame 2025-09-12 21:20:15 +02:00
0ff12f7b27 Updated case with space for rubber feet 2025-09-10 18:37:04 +02:00
d43b6f746a adjusting aux clearance 2025-08-31 22:50:17 +02:00
10 changed files with 74 additions and 10 deletions

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -51,6 +51,9 @@ $pcbDampenerOffset = $pcbHeight + $dampenerHeight;
picoUsbBody = [8, 5.66, 2.65];
jackBody = [15,6.15,5.3];
$footRadius = (6.4 + $clearance) /2;
$footHeight = 1.8;
module pin(){
cylinder(h=$holes, r=1, center=false);
}
@@ -125,16 +128,11 @@ rightTopDampener();
//leftTopDampener();
//}
}
module case(){
// Then adjust the shim, aux and pico.
// Last add magnets, don't forget the clearance.
$baseHeight = 7.6;
module magnets(){
$magnetWidth = 4;
$magnetRadius = ($magnetWidth / 2) + $clearance/2;
$magnetHeight = 2 + $clearance;
module magnets(){
$offset = ($shellWidth / 2 / 2) -0.8 ;
// Set Z-origin to align with shell top
translate([0, 0, $shellHeight -$magnetHeight]){
@@ -148,6 +146,7 @@ module case(){
cylinder(h=$magnetHeight, r=$magnetRadius);
}
}
$baseHeight = 7.6;
module aux(){
$topLeftOfPcbToCenterOfAux = 15.4;
$measurementPcbPlaneToCenterOfAux = 2.8;
@@ -156,7 +155,7 @@ module case(){
$auxHoleLength = 17 + $shellWidth/2;
$auxCableRadius = 4.15 + $clearance *2;
// Move to the position along the wall the aux will be
translate([-($shellWidth/2 + $clearance),$switchDistance * $rows - $topLeftOfPcbToCenterOfAux - $clearance,-$auxClearanceFromBase])
translate([-($shellWidth/2 + $clearance),$switchDistance * $rows - $topLeftOfPcbToCenterOfAux + $clearance,-$auxClearanceFromBase])
// Make cylinder perpendicular with the wall
rotate([0,90,0]){
// Aux component clearance
@@ -206,6 +205,13 @@ module case(){
]);
}
}
module case(){
// Then adjust the shim, aux and pico.
// Last add magnets, don't forget the clearance.
module shim(){
$shimPoints = [
[0 - $shellWidth / 2, - $baseHeight],
@@ -234,6 +240,26 @@ module case(){
}
}
}
module feet(){
module foot() {
cylinder(h = $footHeight, r = $footRadius, center = true);
}
// Inner side
translate([0,0,$footHeight/2-$baseHeight]){
translate([points[0].x, points[0].y, 0])
foot();
translate([points[1].x, points[1].y, 0])
foot();
}
// Outer side
translate([0, 0, -1]){
translate([points[9].x, points[9].y, 0])
foot();
translate([points[8].x, points[8].y, 0])
foot();
}
}
difference(){
body();
@@ -241,6 +267,7 @@ module case(){
pico();
aux();
magnets();
feet();
}
}
module pcb() {
@@ -277,7 +304,44 @@ module pcb() {
}
module lid(){
difference(){
translate([0,0,$shellHeight]){
union(){
linear_extrude($magnetHeight+0.2){
difference(){
offset(r=$shellWidth/2 + $clearance, chamfer=true) polygon(points);
offset(r=$clearance) polygon(points);
}
}
linear_extrude(1){
difference(){
offset(r=$clearance) polygon(points);
offset(r=-1.5, chamfer=true) polygon(points);
}
}
}
}
translate([0,0,$magnetHeight-0.1])
magnets();
}
}
module botDampener(){
difference(){
topDampeners();
aux();
translate([0,0,2])
pico();
}
}
mirror([1,0,0]){
*%pcb();
*%topDampeners();
case();
*topDampeners();
*botDampener();
*case();
lid();
}