Files
rackstack/rack/assemblyGuide.scad
2023-05-06 14:59:11 -04:00

148 lines
2.9 KiB
OpenSCAD

include <../helper/math.scad>
include <./config.scad>
include <./mainRail.scad>
include <./yBar.scad>
include <./xBar.scad>
assemblyInstructions();
module assemblyInstructions () {
screwXBarAndYBar();
xBarSpaceToYBarSpace =
yBarXBarConnectorTrans*
xBarConnectorToYBarConnectorTrans*
inv4x4(xBarYBarConnectorTrans);
yBarSpaceToXBarSpace =
xBarYBarConnectorTrans*
yBarConnectorToXBarConnectorTrans*
inv4x4(yBarXBarConnectorTrans);
module xyTray() {
yBar();
multmatrix(xBarSpaceToYBarSpace*xBarMirrorOtherCornerTrans*yBarSpaceToXBarSpace)
yBar();
multmatrix(xBarSpaceToYBarSpace)
xBar();
multmatrix(yBarMirrorOtherCornerTrans*xBarSpaceToYBarSpace)
xBar();
}
module caseScrewA() {
color([0,1,1]) {
difference() {
scale(v = [0.9, 0.9, 0.9])
counterSunkHead_N(rackFrameScrewType, screwExtension = 6, headExtension = 0.5);
cylinder($fn = 6, r = 1.5);
}
}
}
module caseScrewB() {
color([0,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 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);
}
}
module attachXBarWithYBar() {
// assemble x-y bar trays
multmatrix(translate(v = [0, 0, 20]))
yBar();
multmatrix(translate(v = [0, 0, 20])*xBarSpaceToYBarSpace*xBarMirrorOtherCornerTrans*yBarSpaceToXBarSpace)
yBar();
multmatrix(xBarSpaceToYBarSpace)
xBar();
multmatrix(yBarMirrorOtherCornerTrans*xBarSpaceToYBarSpace)
xBar();
}
module screwXBarAndYBar(screwExtension=13) {
// in x bar space
function xBarYBarScrewTrans(extension) =
translate(v=[27,xBarSideThickness + extension,6]) * rotate(a=[270,0,0]);
// screw to connect x and y bars
yBar();
multmatrix(xBarSpaceToYBarSpace*xBarMirrorOtherCornerTrans*yBarSpaceToXBarSpace)
yBar();
multmatrix(xBarSpaceToYBarSpace)
union() {
xBar();
multmatrix(xBarYBarScrewTrans(screwExtension))
caseScrewB();
multmatrix(xBarMirrorOtherCornerTrans * xBarYBarScrewTrans(screwExtension))
caseScrewB();
}
multmatrix(yBarMirrorOtherCornerTrans*xBarSpaceToYBarSpace)
union() {
xBar();
multmatrix(xBarYBarScrewTrans(screwExtension))
caseScrewB();
multmatrix(xBarMirrorOtherCornerTrans * xBarYBarScrewTrans(screwExtension))
caseScrewB();
}
}
module attachSideConnectorModulesToYBars() {
// attach side connector modules to y bars
}
module insertDowelsIntoSideWall() {
}
module connectXYTraysWithMainRailAndSideWall() {
}
module screwMainRailAndYBar() {
}
module attachFeet() {
}
module attachTops() {
}
}