rename connectingBar to yBar, and add mockup of new xBar. Also mess around with the full assembly
This commit is contained in:
114
rack2/yBar.scad
Normal file
114
rack2/yBar.scad
Normal file
@ -0,0 +1,114 @@
|
||||
include <../math.scad>
|
||||
include <../misc/magnet.scad>
|
||||
include <../helper/sphericalFilet.scad>
|
||||
include <../helper/cylindricalFilet.scad>
|
||||
include <./config.scad>
|
||||
include <./screws.scad>
|
||||
include <./mainRail.scad>
|
||||
include <./stackConnector.scad>
|
||||
|
||||
// TODO clean up
|
||||
// TODO: How do I nicely explain this?
|
||||
railSlotSpacing = 3;
|
||||
sideSpacing = 12;
|
||||
|
||||
yBarDepth = maxUnitDepth + 2*railSlotSpacing;
|
||||
yBarWidth = railSlotSpacing + railTotalWidth + sideSpacing;
|
||||
yBarHeight = 15;
|
||||
|
||||
yBarWallThickness = 3;
|
||||
yBarRoundness = 5;
|
||||
|
||||
echo("Bar total depth: ", yBarDepth);
|
||||
echo("Bar total width: ", yBarWidth);
|
||||
|
||||
|
||||
module yBar() {
|
||||
|
||||
module positive() {
|
||||
difference() {
|
||||
sphericalFiletEdge(yBarWidth, yBarDepth, yBarHeight, yBarRoundness);
|
||||
|
||||
translate(v = [yBarWallThickness, 32, yBarWallThickness])
|
||||
cylindricalFiletEdge(yBarWidth, yBarDepth-32*2, yBarHeight, yBarRoundness);
|
||||
}
|
||||
}
|
||||
|
||||
// TODO move this to custom file
|
||||
// negatives on the y-z plane to be imprinted on the side of the main
|
||||
module frontBarConnector_N() {
|
||||
|
||||
y1 = 6;
|
||||
y2 = 27;
|
||||
z = 6;
|
||||
|
||||
translate(v = [-m3HeatSetInsertSlotHeightSlacked, y1, z])
|
||||
rotate(a = [0, 90, 0])
|
||||
heatSetInsertSlot_N(rackFrameScrewType);
|
||||
|
||||
translate(v = [-m3HeatSetInsertSlotHeightSlacked, y2, z])
|
||||
rotate(a = [0, 90, 0])
|
||||
heatSetInsertSlot_N(rackFrameScrewType);
|
||||
|
||||
// TODO fix this up, no center=true
|
||||
translate(v = [-1, y1+(y2-y1)/2, 0])
|
||||
rotate(a = [0, 45, 0])
|
||||
cube(size = [3, 10, 6], center = true);
|
||||
}
|
||||
|
||||
// TODO move this in custom file, like for railFeetSlot_N
|
||||
module sideWallConnector_N() {
|
||||
|
||||
lugW = 7;
|
||||
lugD = 20;
|
||||
lugH = 2;
|
||||
|
||||
insertDw = lugW/2;
|
||||
|
||||
insertDd = lugD-4;
|
||||
|
||||
translate(v = [0, 0, -lugH])
|
||||
cube(size = [lugW, lugD, lugH]);
|
||||
|
||||
translate(v = [insertDw, insertDd, -(m3HeatSetInsertSlotHeightSlacked+lugH)])
|
||||
heatSetInsertSlot_N(rackFrameScrewType);
|
||||
}
|
||||
|
||||
|
||||
module singleCornerNoStackConnector_N() {
|
||||
union() {
|
||||
translate(v = [5, 5, 0])
|
||||
stackConnectorSocket_N();
|
||||
|
||||
translate(v = [yBarWidth-(railTotalWidth+railSlotSpacing), railSlotSpacing, yBarHeight-railFootThickness])
|
||||
railFeetSlot_N();
|
||||
|
||||
translate(v = [yBarWidth+eps, 0, 0])
|
||||
frontBarConnector_N();
|
||||
|
||||
translate(v = [yBarWidth-(railTotalWidth+railSlotSpacing)-9, railSlotSpacing, yBarHeight])
|
||||
sideWallConnector_N();
|
||||
}
|
||||
}
|
||||
|
||||
module sideBar() {
|
||||
|
||||
module mirrorOtherCorner() {
|
||||
children(0);
|
||||
|
||||
translate(v = [0, yBarDepth, 0])
|
||||
mirror(v = [0, 1, 0]) {
|
||||
children(0);
|
||||
}
|
||||
}
|
||||
|
||||
difference() {
|
||||
positive();
|
||||
|
||||
mirrorOtherCorner()
|
||||
singleCornerNoStackConnector_N();
|
||||
}
|
||||
}
|
||||
|
||||
sideBar();
|
||||
}
|
||||
Reference in New Issue
Block a user