wip on base connector
This commit is contained in:
@ -4,8 +4,6 @@ include <../helper/screws.scad>
|
||||
include <./config.scad>
|
||||
include <./derivedConfig.scad>
|
||||
include <./xyBarConnector.scad>
|
||||
include <./xBarBasePlateConnector.scad>
|
||||
|
||||
|
||||
// Temporary
|
||||
include <./yBar.scad>
|
||||
@ -49,7 +47,7 @@ module xBar() {
|
||||
// TODO refactor - probably better off mirroring the side faces and hulling the shell
|
||||
difference() {
|
||||
union() {
|
||||
intersection () {
|
||||
intersection() {
|
||||
positive();
|
||||
halfspace(vpos = [1, 0, 1], p = [0.5, 0, 0]);
|
||||
|
||||
@ -69,21 +67,10 @@ module xBar() {
|
||||
yBarConnectorFromX_N();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// TODO change me?
|
||||
translate(v=[0,xBarWidth,0])
|
||||
basePlateMount();
|
||||
|
||||
translate(v=[xBarDepth,xBarWidth,0])
|
||||
mirror(v=[1,0,0])
|
||||
basePlateMount();
|
||||
}
|
||||
|
||||
xBar();
|
||||
}
|
||||
translate(v=[-30,0,0])
|
||||
*yBar();
|
||||
|
||||
xBar();
|
||||
|
||||
|
||||
|
||||
@ -1,53 +0,0 @@
|
||||
include <../helper/common.scad>
|
||||
include <../helper/screws.scad>
|
||||
include <./config.scad>
|
||||
|
||||
module basePlateMount() {
|
||||
|
||||
screwHoleToBase = 6;
|
||||
mountHeight = 10;
|
||||
mountWidth = 10;
|
||||
mountThickness = 2;
|
||||
|
||||
module support() {
|
||||
r = 4;
|
||||
|
||||
difference () {
|
||||
translate(v = [0, mountThickness, r/2])
|
||||
rotate(a = [90, 0, 0])
|
||||
rotate(a = [0, 0, 90])
|
||||
cylinder(h = mountThickness, r = r, $fn = 3);
|
||||
|
||||
cube(size=[inf10, inf10, inf10]);
|
||||
}
|
||||
|
||||
//translate([-r/2, -2,0])
|
||||
//cube(size=[r/2, 0.1, 0.1]);
|
||||
}
|
||||
|
||||
module positive() {
|
||||
cube(size = [mountWidth, mountThickness, mountHeight]);
|
||||
|
||||
translate(v=[mountWidth,0,0])
|
||||
mirror(v=[1,0,0])
|
||||
hull() {
|
||||
support();
|
||||
}
|
||||
}
|
||||
|
||||
module basePlateMount() {
|
||||
translate(v=[0,-mountThickness,0])
|
||||
difference() {
|
||||
positive();
|
||||
|
||||
translate(v = [mountWidth/2, inf50/2, screwHoleToBase])
|
||||
rotate(a = [90, 0, 0])
|
||||
cylinder(h = inf50, r = screwRadiusSlacked(rackFrameScrewType));
|
||||
}
|
||||
}
|
||||
|
||||
basePlateMount();
|
||||
|
||||
}
|
||||
|
||||
|
||||
@ -45,10 +45,12 @@ module yBarConnectorFromXLug() {
|
||||
// TODO fix this up, no center=true
|
||||
translate(v = [-1, y1+(y2-y1)/2, 0])
|
||||
rotate(a = [0, 45, 0])
|
||||
scale(v=[0.90,0.90,0.95])
|
||||
scale(v=[0.90,0.95,0.90])
|
||||
cube(size = [3, 10, 6], center = true);
|
||||
|
||||
mirror(v=[0,0,1])
|
||||
halfspace(vpos=[0,0,1], p=[0,0,0]);
|
||||
|
||||
halfspace(vpos=[1,0,0], p=[-2,0,0]);
|
||||
}
|
||||
}
|
||||
@ -11,6 +11,7 @@ include <./mainRail.scad>
|
||||
include <./stackConnector.scad>
|
||||
include <./xyBarConnector.scad>
|
||||
include <./sideWallConnector.scad>
|
||||
include <./yBarBasePlateConnector.scad>
|
||||
|
||||
// TODO clean up
|
||||
// TODO: How do I nicely explain this?
|
||||
@ -24,6 +25,8 @@ yBarHeight = 15;
|
||||
yBarWallThickness = 3;
|
||||
yBarRoundness = baseRoundness;
|
||||
|
||||
joinCornerDepth = 32;
|
||||
|
||||
echo("Bar total depth: ", yBarDepth);
|
||||
echo("Bar total width: ", yBarWidth);
|
||||
|
||||
@ -34,8 +37,8 @@ module yBar() {
|
||||
difference() {
|
||||
sphericalFiletEdge(yBarWidth, yBarDepth, yBarHeight, yBarRoundness);
|
||||
|
||||
translate(v = [yBarWallThickness, 32, yBarWallThickness])
|
||||
cylindricalFiletEdge(yBarWidth, yBarDepth-32*2, yBarHeight, yBarRoundness);
|
||||
translate(v = [yBarWallThickness, joinCornerDepth, yBarWallThickness])
|
||||
cylindricalFiletEdge(yBarWidth, yBarDepth-2*joinCornerDepth, yBarHeight, yBarRoundness);
|
||||
}
|
||||
}
|
||||
|
||||
@ -55,7 +58,7 @@ module yBar() {
|
||||
}
|
||||
}
|
||||
|
||||
module sideBar() {
|
||||
module yBar() {
|
||||
|
||||
module mirrorOtherCorner() {
|
||||
children(0);
|
||||
@ -67,12 +70,30 @@ module yBar() {
|
||||
}
|
||||
|
||||
difference() {
|
||||
positive();
|
||||
|
||||
mirrorOtherCorner()
|
||||
singleCornerNoStackConnector_N();
|
||||
union() {
|
||||
positive();
|
||||
|
||||
mirrorOtherCorner()
|
||||
translate(v=[yBarWidth-12, joinCornerDepth,0.01])
|
||||
yBarBasePlateMount_P(mountX=12, mountZ=yBarHeight);
|
||||
}
|
||||
union() {
|
||||
mirrorOtherCorner()
|
||||
singleCornerNoStackConnector_N();
|
||||
|
||||
mirrorOtherCorner()
|
||||
translate(v=[yBarWidth-12, joinCornerDepth, 0])
|
||||
yBarBasePlateMount_N();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
sideBar();
|
||||
yBar();
|
||||
}
|
||||
|
||||
translate(v=[yBarWidth-12, joinCornerDepth, m3CounterSunkHeadLength])
|
||||
*yBarBasePlateMount_N();
|
||||
yBar();
|
||||
|
||||
//counterSunkHead_N("m3", 1, 1);
|
||||
28
rack/yBarBasePlateConnector.scad
Normal file
28
rack/yBarBasePlateConnector.scad
Normal file
@ -0,0 +1,28 @@
|
||||
include <../helper/common.scad>
|
||||
include <../helper/screws.scad>
|
||||
include <./config.scad>
|
||||
|
||||
module yBarBasePlateMount_P(mountX=12, mountY=12, mountZ=12) {
|
||||
cube(size=[mountX, mountY, mountZ]);
|
||||
}
|
||||
|
||||
module yBarBasePlateMount_N(innerEdgeToScrew=6, baseConnectorRecession = 2) {
|
||||
|
||||
translate(v=[innerEdgeToScrew,innerEdgeToScrew, m3HeatSetInsertSlotHeightSlacked + baseConnectorRecession])
|
||||
mirror(v=[0,0,1])
|
||||
heatSetInsertSlot_N(rackFrameScrewType, topExtension=inf10);
|
||||
|
||||
translate(v=[2,2,0])
|
||||
cube(size=[inf50,8,baseConnectorRecession]);
|
||||
|
||||
translate(v=[innerEdgeToScrew,innerEdgeToScrew, baseConnectorRecession+m3CounterSunkHeadLength])
|
||||
mirror(v=[0,0,1])
|
||||
*counterSunkHead_N(rackFrameScrewType, screwExtension=0, headExtension=eps);
|
||||
}
|
||||
|
||||
*difference() {
|
||||
yBarBasePlateMount_P();
|
||||
yBarBasePlateMount_N(innerEdgeToScrew=6,wallThickness=3);
|
||||
}
|
||||
|
||||
*yBarBasePlateMount_N(innerEdgeToScrew=6);
|
||||
Reference in New Issue
Block a user