Files
rackstack/rack/assembly/common.scad

106 lines
2.4 KiB
OpenSCAD

include <../../helper/common.scad>
include <../../config/common.scad>
include <../mainRail.scad>
include <../yBar.scad>
include <../xBar.scad>
include <../side/magnetModule.scad>
include <../side/hingeModule.scad>
include <../side/sideWallRight.scad>
include <../side/sideWallLeft.scad>
include <../stackEnds.scad>
include <../xyPlate.scad>
screwMask = false;
plasticMask = false;
sideSupportRailMask = true;
xBarSpaceToYBarSpace =
yBarXBarConnectorTrans *
xBarConnectorToYBarConnectorTrans *
inv4x4(xBarYBarConnectorTrans);
yBarSpaceToXBarSpace =
xBarYBarConnectorTrans *
yBarConnectorToXBarConnectorTrans *
inv4x4(yBarXBarConnectorTrans);
upperXYTrayTrans =
yBarMainRailConnectorTrans *
mirrorMainRailOtherSideTrans *
inv4x4(yBarMainRailConnectorTrans);
function feetToYBarTrans(t=0) =
translate(v=[connectorRectWidth/2,connectorRectDepth/2,-t]) *
yBarStackConnectorTrans *
mirror(v=[0,1,0]);
function stackConnectorTrans(t=0) =
upperXYTrayTrans *
yBarStackConnectorTrans;
module mirrorAllTrayCornersFromYBarSpace() {
children(0);
multmatrix(yBarMirrorOtherCornerTrans)
children(0);
multmatrix(xBarSpaceToYBarSpace * xBarMirrorOtherCornerTrans * yBarSpaceToXBarSpace * yBarMirrorOtherCornerTrans)
children(0);
multmatrix(xBarSpaceToYBarSpace * xBarMirrorOtherCornerTrans * yBarSpaceToXBarSpace * yBarMirrorOtherCornerTrans * yBarMirrorOtherCornerTrans)
children(0);
}
secondStackTrans = upperXYTrayTrans * mirror(v=[0,0,1]);
module caseScrewA() {
if (!screwMask) {
color([1, 1, 1]) {
difference() {
scale(v = [0.9, 0.9, 0.9])
counterSunkHead_N(rackFrameScrewType, screwExtension = 10, headExtension = 0.5);
cylinder($fn = 6, r = 1.5);
}
}
}
}
module caseScrewB() {
if (!screwMask) {
color([1, 1, 1]) {
difference() {
scale(v = [0.9, 0.9, 0.9])
counterSunkHead_N(rackFrameScrewType, screwExtension = 14, headExtension = 0.5);
cylinder($fn = 6, r = 1.5);
}
}
}
}
module hingeDowel() {
if (!screwMask) {
color([0, 1, 1])
cylinder(h = dowelPinH, r = dowelPinR);
}
}
module magnet() {
if (!screwMask) {
color([1, 1, 1])
cylinder(r = magnetR, h = magnetH);
}
}
module arrow(length) {
color([1,0,1]) {
translate(v = [0, 0, length-2])
cylinder(r1 = 2, r2 = 0.2, h = 2);
cylinder(r = 1, h = length-2);
}
}