wip on sideWallConnector
This commit is contained in:
3
rack/sharedVariables.scad
Normal file
3
rack/sharedVariables.scad
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
sideWallThickness = 2.5;
|
||||||
|
|
||||||
|
sideWallSlotToOuterYEdge = 3;
|
||||||
@ -4,15 +4,17 @@ include <../misc/magnet.scad>
|
|||||||
include <./config.scad>
|
include <./config.scad>
|
||||||
include <./yBar.scad>
|
include <./yBar.scad>
|
||||||
include <./sideWallConnector.scad>
|
include <./sideWallConnector.scad>
|
||||||
|
include <./sharedVariables.scad>
|
||||||
|
|
||||||
|
|
||||||
sideWallZ = 110;
|
sideWallZ = 110;
|
||||||
sideWallY = 110;
|
sideWallY = 110;
|
||||||
sideWallX = 12;
|
sideWallX = 12;
|
||||||
sideWallThickness = 2.5;
|
|
||||||
|
|
||||||
module sideWall() {
|
module sideWall() {
|
||||||
|
|
||||||
|
applyMagnetConnector()
|
||||||
sideWallBase();
|
sideWallBase();
|
||||||
|
|
||||||
|
|
||||||
@ -33,6 +35,7 @@ module sideWall() {
|
|||||||
translate(v=[sideWallThickness, sideWallThickness,0])
|
translate(v=[sideWallThickness, sideWallThickness,0])
|
||||||
roundThingHelper(sideWallX,sideWallY - 2*sideWallThickness,sideWallZ, baseRoundness);
|
roundThingHelper(sideWallX,sideWallY - 2*sideWallThickness,sideWallZ, baseRoundness);
|
||||||
}
|
}
|
||||||
|
|
||||||
halfspace(vpos=[-1,0,0], p=[sideWallX,0,0]);
|
halfspace(vpos=[-1,0,0], p=[sideWallX,0,0]);
|
||||||
halfspace(vpos=[0,0,-1], p=[0,0,sideWallZ]);
|
halfspace(vpos=[0,0,-1], p=[0,0,sideWallZ]);
|
||||||
halfspace(vpos=[0,0,1], p=[0,0,0]);
|
halfspace(vpos=[0,0,1], p=[0,0,0]);
|
||||||
@ -45,7 +48,14 @@ module sideWall() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
module applyMagnetConnector() {
|
module applyMagnetConnector() {
|
||||||
|
apply_p() {
|
||||||
|
|
||||||
|
translate(v=[sideWallThickness,10,10])
|
||||||
|
rotate(a=[0,90,0])
|
||||||
|
sideWallConnectorMagnetSide();
|
||||||
|
|
||||||
|
children(0);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
module applyEpicVentilation() {
|
module applyEpicVentilation() {
|
||||||
@ -53,4 +63,4 @@ module sideWall() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
*sideWall();
|
sideWall();
|
||||||
@ -2,6 +2,7 @@ include <./config.scad>
|
|||||||
include <../helper/screws.scad>
|
include <../helper/screws.scad>
|
||||||
include <../helper/halfspace.scad>
|
include <../helper/halfspace.scad>
|
||||||
include <../misc/magnet.scad>
|
include <../misc/magnet.scad>
|
||||||
|
include <./sharedVariables.scad>
|
||||||
|
|
||||||
sideWallConnectorSlotWidth = 7;
|
sideWallConnectorSlotWidth = 7;
|
||||||
|
|
||||||
@ -14,10 +15,16 @@ yBarScrewHoleToOuterYEdge = 3.5;
|
|||||||
yBarScrewHoleToFrontXEdge = 16;
|
yBarScrewHoleToFrontXEdge = 16;
|
||||||
|
|
||||||
magnetFaceToSideWallConnOuterYEdge = 2;
|
magnetFaceToSideWallConnOuterYEdge = 2;
|
||||||
magnetCenterToSideWallConnOuterXYFace = magnetRSlacked + 1;
|
|
||||||
|
|
||||||
magnetMountExtraRadius = magnetRSlacked + 1;
|
magnetMountExtraRadius = magnetRSlacked + 1;
|
||||||
|
|
||||||
|
innerSideWallToYBarMagnetConn = magnetFaceToSideWallConnOuterYEdge + sideWallSlotToOuterYEdge - sideWallThickness;
|
||||||
|
|
||||||
|
hingePoleR = 2.5;
|
||||||
|
hingePoleH = 3;
|
||||||
|
hingeHoleR = hingePoleR + 0.5;
|
||||||
|
|
||||||
|
hingePoleToConnectorOuterYZFace = hingePoleR/2;
|
||||||
|
|
||||||
module sideWallConnector_N() {
|
module sideWallConnector_N() {
|
||||||
translate(v = [0, 0, -sideWallConnLugDepression])
|
translate(v = [0, 0, -sideWallConnLugDepression])
|
||||||
cube(size = [sideWallConnW, sideWallConnD, sideWallConnLugDepression]);
|
cube(size = [sideWallConnW, sideWallConnD, sideWallConnLugDepression]);
|
||||||
@ -79,15 +86,57 @@ module sideWallConnectorMagnet() {
|
|||||||
|
|
||||||
module sideWallConnectorHinge() {
|
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();
|
*sideWallConnector_N();
|
||||||
|
*sideWallConnectorMagnet();
|
||||||
sideWallConnectorMagnet();
|
*sideWallConnectorMagnetSide();
|
||||||
|
sideWallConnectorHinge();
|
||||||
|
|
||||||
//counterSunkHead_N(rackFrameScrewType,screwExtension=10);
|
//counterSunkHead_N(rackFrameScrewType,screwExtension=10);
|
||||||
|
|||||||
@ -16,7 +16,6 @@ include <./yBarBasePlateConnector.scad>
|
|||||||
railSlotToInnerYEdge = 2;
|
railSlotToInnerYEdge = 2;
|
||||||
railSlotToXZ = 3;
|
railSlotToXZ = 3;
|
||||||
railSlotToSideWallSlot = 2;
|
railSlotToSideWallSlot = 2;
|
||||||
sideWallSlotToOuterYEdge = 3;
|
|
||||||
sideWallSlotToXZ = 3;
|
sideWallSlotToXZ = 3;
|
||||||
|
|
||||||
yBarDepth = maxUnitDepth + 2*railSlotToInnerYEdge;
|
yBarDepth = maxUnitDepth + 2*railSlotToInnerYEdge;
|
||||||
|
|||||||
Reference in New Issue
Block a user