wip on sideWallConnector

This commit is contained in:
zhao
2023-01-27 23:47:31 -05:00
parent 92c6ab6982
commit 220060f6f9
4 changed files with 70 additions and 9 deletions

View File

@ -2,6 +2,7 @@ include <./config.scad>
include <../helper/screws.scad>
include <../helper/halfspace.scad>
include <../misc/magnet.scad>
include <./sharedVariables.scad>
sideWallConnectorSlotWidth = 7;
@ -14,10 +15,16 @@ yBarScrewHoleToOuterYEdge = 3.5;
yBarScrewHoleToFrontXEdge = 16;
magnetFaceToSideWallConnOuterYEdge = 2;
magnetCenterToSideWallConnOuterXYFace = magnetRSlacked + 1;
magnetMountExtraRadius = magnetRSlacked + 1;
innerSideWallToYBarMagnetConn = magnetFaceToSideWallConnOuterYEdge + sideWallSlotToOuterYEdge - sideWallThickness;
hingePoleR = 2.5;
hingePoleH = 3;
hingeHoleR = hingePoleR + 0.5;
hingePoleToConnectorOuterYZFace = hingePoleR/2;
module sideWallConnector_N() {
translate(v = [0, 0, -sideWallConnLugDepression])
cube(size = [sideWallConnW, sideWallConnD, sideWallConnLugDepression]);
@ -79,15 +86,57 @@ module sideWallConnectorMagnet() {
module sideWallConnectorHinge() {
}
applyHingePole()
applyYBarScrewMount()
base();
module sideWallConnectorHinge_N() {
module base() {
intersection() {
cube(size = [sideWallConnW, sideWallConnD, sideWallConnLugDepression]);
// TODO: pattern for this? beef up mirror4XY?
cVal = 0.5;
halfspace(p=[0,cVal,0], vpos=[0,1,1]);
halfspace(p=[cVal,0,0], vpos=[1,0,1]);
halfspace(p=[sideWallConnW-cVal,0,0], vpos=[-1,0,1]);
halfspace(p=[0,sideWallConnD-cVal,0], vpos=[0,-1,1]);
}
}
module applyHingePole() {
apply_p() {
translate(v = [sideWallConnW-hingePoleR, hingePoleR, sideWallConnH])
cylinder(r = hingePoleR, h = hingePoleH);
children(0);
}
}
module applyYBarScrewMount() {
apply_n() {
translate(v = [yBarScrewHoleToOuterYEdge, yBarScrewHoleToFrontXEdge, sideWallConnLugDepression])
counterSunkHead_N(rackFrameScrewType, headExtension = eps, screwExtension = inf10);
children(0);
}
}
}
// TODO: better naming
module sideWallConnectorMagnetSide() {
// oriented so that the xy face is the side wall's inner face
difference() {
cylinder(r1=magnetMountExtraRadius+2 ,r2 = magnetMountExtraRadius, h = innerSideWallToYBarMagnetConn);
translate(v=[0, 0, innerSideWallToYBarMagnetConn-magnetHSlacked])
cylinder(r = magnetRSlacked, h = magnetHSlacked);
}
}
*sideWallConnector_N();
sideWallConnectorMagnet();
*sideWallConnectorMagnet();
*sideWallConnectorMagnetSide();
sideWallConnectorHinge();
//counterSunkHead_N(rackFrameScrewType,screwExtension=10);