Files
rackstack/rack/xyBarConnector.scad
2023-03-19 15:02:46 -04:00

61 lines
1.5 KiB
OpenSCAD

include <../helper/screws.scad>
include <../helper/halfspace.scad>
include <./config.scad>
module xBarConnectorFromY_N() {
y1 = 6;
y2 = 27;
z = 6;
slack = 0.4;
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
// TODO need to add slack values
translate(v = [-1, y1+(y2-y1)/2, 0])
rotate(a = [0, 45, 0])
cube(size = [3+slack, 10+slack, 6+slack], center = true);
}
module yBarConnectorFromX_N() {
y1 = 6;
y2 = 27;
z = 6;
slack = 0.2;
translate(v = [-inf50/2, y1, z])
rotate(a = [0, 90, 0])
cylinder(r = screwRadiusSlacked(rackFrameScrewType), h = inf50, $fn = 32);
translate(v = [-inf50/2, y2, z])
rotate(a = [0, 90, 0])
cylinder(r = screwRadiusSlacked(rackFrameScrewType), h = inf50, $fn = 32);
}
// TODO: figure out nice abstraction to apply both positive and negative mods
module yBarConnectorFromXLug() {
y1 = 6;
y2 = 27;
z = 6;
slack = 0.2;
intersection() {
// 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.95,0.90])
cube(size = [3-slack, 10-slack, 6-slack], center = true);
halfspace(vpos=[0,0,1], p=[0,0,0]);
halfspace(vpos=[1,0,0], p=[-2,0,0]);
}
}