introduce slack config fale. also small edits to side wall stuff

This commit is contained in:
zhao
2023-04-08 10:36:31 -04:00
parent c6df6a9153
commit 16ba58e995
17 changed files with 111830 additions and 172539 deletions

View File

@ -1,6 +1,7 @@
include <../../helper/math.scad>
include <../../helper/halfspace.scad>
include <../../helper/magnet.scad>
include <../../helper/slack.scad>
include <../config.scad>
include <./sideWallMagnetMount.scad>
@ -59,7 +60,11 @@ module sideWallBase() {
}
union() {
hingeHole();
hingeHole(extraZ=2);
translate(v=[0,0,sideWallZ])
mirror(v=[0,0,1])
hingeHole(extraZ=2);
// Trim parts of the wall for rotational clearance
halfspace(p=[0, sideWallY-2.5, 0], vpos=[-0.5,1,0]); // flat area to limit rotation against the main rail
@ -81,9 +86,9 @@ module sideWallBase() {
cube(size=[eps, 2*hingeHoleShellR, sideWallZ]);
}
module hingeHole() {
module hingeHole(extraZ) {
translate(v = [hingePoleDx , hingePoleDy, 0])
cylinder(r = hingeHoleR, h = sideWallZ);
cylinder(r = hingeHoleR, h = hingePoleH+extraZ);
}
}
@ -130,19 +135,34 @@ module sideWallBase() {
module sideWallVerticalRibs(numRibs, ribZ, ribYDiff, ribR=1, ribExtrusion=1) {
ribRampLength = 5;
intersection() {
for (i = [0:numRibs-1]) {
translate(v = [sideWallThickness, i*ribYDiff, (sideWallZ-ribZ)/2])
translate(v = [sideWallThickness, i*ribYDiff, (sideWallZ-ribZ)/2])
translate(v = [ribExtrusion-ribR, 0, 0])
hull() {
translate(v = [0, 0, ribZ-ribR])
sphere(r = ribR);
translate(v = [0, 0, ribR])
sphere(r = ribR);
}
verticalRib(ribExtend=4, ribWidth=2);
}
halfspace(vpos=[1,0,0], p=[0,0,0]);
}
module verticalRib(ribExtend, ribWidth) {
minkowski() {
hull() {
cube(size = [eps, ribWidth, eps]);
translate(v = [0, 0, ribRampLength])
cube(size = [ribExtend, ribWidth, ribZ-2*ribRampLength]);
translate(v = [0, 0, ribZ])
cube(size = [eps, ribWidth, eps]);
}
sphere(r=0.5);
}
}
}

View File

@ -1,25 +1,29 @@
include <./sideWallBase.scad>
*sideWallLeft();
module sideWallLeft() {
applyEpicVentilation()
applySideWallVerticalRibs()
render()
sideWallBase();
module applyEpicVentilation() {
apply_n() {
for (i = [1:8]) {
translate(v = [0, 35, i * 10 + 8])
minkowski() {
sphere(r=1);
cube(size = [10, 40, 3]);
}
vent();
}
children(0);
}
module vent() {
minkowski() {
sphere(r=1);
cube(size = [10, 40, 3]);
}
}
}
module applySideWallVerticalRibs() {

View File

@ -7,23 +7,26 @@ module sideWallRight() {
applyEpicVentilation()
mirror(v=[1,0,0])
applySideWallVerticalRibs()
render()
sideWallBase();
module applyEpicVentilation() {
apply_n() {
for (i = [1:8]) {
translate(v = [-10, 35, i * 10 + 8])
minkowski() {
sphere(r=1);
cube(size = [10, 40, 3]);
}
translate(v = [-10, 35, i*10+8])
vent();
}
children(0);
}
module vent() {
minkowski() {
sphere(r=1);
cube(size = [10, 40, 3]);
}
}
}
module applySideWallVerticalRibs() {

View File

@ -2,6 +2,7 @@
include <../config.scad>
include <../sharedVariables.scad>
include <../../helper/magnet.scad>
include <../../helper/slack.scad>
sideWallConnW = 7;
sideWallConnD = 20;
@ -18,7 +19,7 @@ innerSideWallToYBarMagnetConn = magnetFaceToSideWallConnOuterYEdge + sideWallSlo
hingePoleR = 2;
hingePoleH = 5;
hingeHoleR = hingePoleR + 0.2;
hingeHoleR = hingePoleR + radiusXYSlack;
sideWallZHingeSlack = 0.3;