update on slide nut-only design
This commit is contained in:
@ -66,6 +66,8 @@ module connectorPositive(on, to) {
|
||||
onYBarToXBarPositive();
|
||||
} else if (on == "yBar" && to == "basePlate") {
|
||||
onYBarBasePlateConnectorPositive();
|
||||
} else if (on == "xBar" && to == "yBar") {
|
||||
onXBarToYBarPositive();
|
||||
} else if (on == "mainRail" && to == "yBar") {
|
||||
onMainRailYBarConnectorPositive();
|
||||
}
|
||||
|
||||
@ -12,7 +12,7 @@ include <../config.scad>
|
||||
// On xBar
|
||||
module onXBarToYBarNegative() {
|
||||
y = 27;
|
||||
z = 6;
|
||||
z = 8;
|
||||
slack = xBarYBarDovetailSlack;
|
||||
|
||||
translate(v=[-slack,14,0])
|
||||
@ -35,18 +35,40 @@ module onXBarToYBarNegative() {
|
||||
translate(v = [-xBarSideThickness, y, z])
|
||||
rotate(a = [0, -90, 0])
|
||||
counterSunkHead_N(rackFrameScrewType, screwExtension=inf10, headExtension=inf10);
|
||||
|
||||
// lugs for snap fit and hold in place
|
||||
translate(v=[-0.1,3,13.5])
|
||||
lug();
|
||||
|
||||
translate(v=[-0.1,26,13.5])
|
||||
lug();
|
||||
}
|
||||
|
||||
module onXBarToYBarPositive() {
|
||||
// lugs for snap fit and hold in place
|
||||
translate(v=[-0.1,3,2])
|
||||
lug();
|
||||
|
||||
translate(v=[-0.1,26,2])
|
||||
lug();
|
||||
}
|
||||
|
||||
|
||||
// On yBar
|
||||
module onYBarToXBarNegative() {
|
||||
y = 27;
|
||||
z = 6;
|
||||
z = 8;
|
||||
translate(v = [-5, y, z])
|
||||
rotate(a = [180, 0, 0])
|
||||
rotate(a = [0, 90, 0])
|
||||
hexNutPocket_N("m3", openSide=false, backSpace=5);
|
||||
|
||||
// lugs for snap fit and hold in place
|
||||
translate(v=[-0.1,3,2])
|
||||
lug();
|
||||
|
||||
translate(v=[-0.1,26,2])
|
||||
lug();
|
||||
}
|
||||
|
||||
module onYBarToXBarPositive() {
|
||||
@ -65,8 +87,26 @@ module onYBarToXBarPositive() {
|
||||
backFaceLength = 5,
|
||||
backFaceScale = 1.2
|
||||
);
|
||||
|
||||
// lugs for snap fit and hold in place
|
||||
translate(v=[-0.1,3,13.5])
|
||||
lug();
|
||||
|
||||
translate(v=[-0.1,26,13.5])
|
||||
lug();
|
||||
}
|
||||
|
||||
|
||||
xBarConnectorToYBarConnectorTrans = mirror(v=[1,0,0]);
|
||||
yBarConnectorToXBarConnectorTrans = mirror(v=[-1,0,0]);
|
||||
yBarConnectorToXBarConnectorTrans = mirror(v=[-1,0,0]);
|
||||
|
||||
|
||||
|
||||
module lug() {
|
||||
hull() {
|
||||
sphere(r=0.5);
|
||||
|
||||
translate(v=[0,2,0])
|
||||
sphere(r=0.5);
|
||||
}
|
||||
}
|
||||
35
rack/print/eval_P.scad
Normal file
35
rack/print/eval_P.scad
Normal file
@ -0,0 +1,35 @@
|
||||
include <../xBar.scad>
|
||||
include <../yBar.scad>
|
||||
include <../mainRail.scad>
|
||||
|
||||
|
||||
// Evaluation print for slack config
|
||||
|
||||
intersection() {
|
||||
yBar();
|
||||
halfspace(vpos=[0,-1,0], p=[0,joinCornerDepth,0]);
|
||||
}
|
||||
|
||||
translate(v=[35,0,0])
|
||||
intersection() {
|
||||
translate(v=[0,-xBarX + xBarSideThickness + 5,0])
|
||||
xBar();
|
||||
|
||||
halfspace(vpos=[0,1,0], p=[0,0,0]);
|
||||
}
|
||||
|
||||
translate(v=[60,20,0])
|
||||
rotate(a=[0,0,90])
|
||||
intersection() {
|
||||
multmatrix(mainRailPrintOrientation)
|
||||
mainRail();
|
||||
|
||||
halfspace(vpos=[-1,0,0], p=[19,0,0]);
|
||||
|
||||
mainRailPrintOrientation = [
|
||||
[cos(-90), 0, sin(-90), railTotalHeight],
|
||||
[0, 1, 0, 0],
|
||||
[-sin(-90), 0, cos(-90), 0],
|
||||
[0, 0, 0, 1]
|
||||
];
|
||||
}
|
||||
@ -59,7 +59,7 @@ xBarX = maxUnitWidth - 2*railSlotToInnerYEdge;
|
||||
xBarY = 32;
|
||||
xBarHeight = 15;
|
||||
|
||||
xBarWallThickness = 2;
|
||||
xBarWallThickness = 3;
|
||||
xBarSideThickness = 8;
|
||||
xBarRoundness = baseRoundness;
|
||||
|
||||
|
||||
@ -21,7 +21,7 @@ module xBar() {
|
||||
cylindricalFiletEdge(xBarY, xBarX, xBarHeight, xBarRoundness);
|
||||
|
||||
translate(v = [xBarWallThickness, xBarSideThickness, xBarWallThickness])
|
||||
cylindricalFiletEdge(xBarY, xBarX-2*xBarSideThickness, xBarHeight, xBarRoundness);
|
||||
cylindricalFiletEdge(xBarY, xBarX-2*xBarSideThickness, xBarHeight, xBarRoundness-xBarWallThickness);
|
||||
}
|
||||
|
||||
// Shave off bottom corners to reduce elephant's foot at where xBar and YBar join
|
||||
|
||||
@ -27,7 +27,7 @@ module yBar() {
|
||||
sphericalFiletEdge(yBarWidth, yBarDepth, yBarHeight, yBarRoundness);
|
||||
|
||||
translate(v = [yBarWallThickness, joinCornerDepth, yBarWallThickness])
|
||||
cylindricalFiletEdge(yBarWidth, yBarDepth-2*joinCornerDepth, yBarHeight, yBarRoundness);
|
||||
cylindricalFiletEdge(yBarWidth, yBarDepth-2*joinCornerDepth, yBarHeight, yBarRoundness-yBarWallThickness);
|
||||
}
|
||||
|
||||
halfspace(vpos=[-1, 0, 1], p=[yBarWidth-1, 0,0]);
|
||||
|
||||
Reference in New Issue
Block a user