Compare commits
4 Commits
e5f475f01d
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
| d9a90190f7 | |||
| 0c68eedebe | |||
| 0ff12f7b27 | |||
| d43b6f746a |
BIN
rev2/3d-models/bot-dampener-left.stl
Normal file
BIN
rev2/3d-models/bot-dampener-left.stl
Normal file
Binary file not shown.
BIN
rev2/3d-models/bot-dampener-right.stl
Normal file
BIN
rev2/3d-models/bot-dampener-right.stl
Normal file
Binary file not shown.
BIN
rev2/3d-models/case-left.stl
Normal file
BIN
rev2/3d-models/case-left.stl
Normal file
Binary file not shown.
Binary file not shown.
BIN
rev2/3d-models/frame-left.stl
Normal file
BIN
rev2/3d-models/frame-left.stl
Normal file
Binary file not shown.
BIN
rev2/3d-models/frame-right.stl
Normal file
BIN
rev2/3d-models/frame-right.stl
Normal file
Binary file not shown.
Binary file not shown.
BIN
rev2/3d-models/top-dampener-left.stl
Normal file
BIN
rev2/3d-models/top-dampener-left.stl
Normal file
Binary file not shown.
BIN
rev2/3d-models/top-dampener-right.stl
Normal file
BIN
rev2/3d-models/top-dampener-right.stl
Normal file
Binary file not shown.
@@ -51,6 +51,9 @@ $pcbDampenerOffset = $pcbHeight + $dampenerHeight;
|
|||||||
picoUsbBody = [8, 5.66, 2.65];
|
picoUsbBody = [8, 5.66, 2.65];
|
||||||
jackBody = [15,6.15,5.3];
|
jackBody = [15,6.15,5.3];
|
||||||
|
|
||||||
|
|
||||||
|
$footRadius = (6.4 + $clearance) /2;
|
||||||
|
$footHeight = 1.8;
|
||||||
module pin(){
|
module pin(){
|
||||||
cylinder(h=$holes, r=1, center=false);
|
cylinder(h=$holes, r=1, center=false);
|
||||||
}
|
}
|
||||||
@@ -125,16 +128,11 @@ rightTopDampener();
|
|||||||
//leftTopDampener();
|
//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;
|
$magnetWidth = 4;
|
||||||
$magnetRadius = ($magnetWidth / 2) + $clearance/2;
|
$magnetRadius = ($magnetWidth / 2) + $clearance/2;
|
||||||
$magnetHeight = 2 + $clearance;
|
$magnetHeight = 2 + $clearance;
|
||||||
|
module magnets(){
|
||||||
|
|
||||||
$offset = ($shellWidth / 2 / 2) -0.8 ;
|
$offset = ($shellWidth / 2 / 2) -0.8 ;
|
||||||
// Set Z-origin to align with shell top
|
// Set Z-origin to align with shell top
|
||||||
translate([0, 0, $shellHeight -$magnetHeight]){
|
translate([0, 0, $shellHeight -$magnetHeight]){
|
||||||
@@ -148,6 +146,7 @@ module case(){
|
|||||||
cylinder(h=$magnetHeight, r=$magnetRadius);
|
cylinder(h=$magnetHeight, r=$magnetRadius);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
$baseHeight = 7.6;
|
||||||
module aux(){
|
module aux(){
|
||||||
$topLeftOfPcbToCenterOfAux = 15.4;
|
$topLeftOfPcbToCenterOfAux = 15.4;
|
||||||
$measurementPcbPlaneToCenterOfAux = 2.8;
|
$measurementPcbPlaneToCenterOfAux = 2.8;
|
||||||
@@ -156,7 +155,7 @@ module case(){
|
|||||||
$auxHoleLength = 17 + $shellWidth/2;
|
$auxHoleLength = 17 + $shellWidth/2;
|
||||||
$auxCableRadius = 4.15 + $clearance *2;
|
$auxCableRadius = 4.15 + $clearance *2;
|
||||||
// Move to the position along the wall the aux will be
|
// 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
|
// Make cylinder perpendicular with the wall
|
||||||
rotate([0,90,0]){
|
rotate([0,90,0]){
|
||||||
// Aux component clearance
|
// 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(){
|
module shim(){
|
||||||
$shimPoints = [
|
$shimPoints = [
|
||||||
[0 - $shellWidth / 2, - $baseHeight],
|
[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(){
|
difference(){
|
||||||
body();
|
body();
|
||||||
@@ -241,6 +267,7 @@ module case(){
|
|||||||
pico();
|
pico();
|
||||||
aux();
|
aux();
|
||||||
magnets();
|
magnets();
|
||||||
|
feet();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
module pcb() {
|
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();
|
*%pcb();
|
||||||
*%topDampeners();
|
*topDampeners();
|
||||||
case();
|
*botDampener();
|
||||||
|
*case();
|
||||||
|
lid();
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user