add missing instructions

This commit is contained in:
zhao
2023-05-12 17:00:47 -04:00
parent 2f379fc744
commit ac9cd7c96e
8 changed files with 111 additions and 25 deletions

View File

@ -17,6 +17,10 @@ module assemblyInstructions () {
// Instruction List (in order)
// TODO: add steps to glue magnets and add heatset inserts
//render()
// addHeatSetInsertsYBar(at=$t);
// addMagnetsToMagnetModules(at=$t);
// addMagnetsToSideWall(at=$t);
// attachXBarWithYBar(at=$t);
// screwXBarAndYBar(at=$t);
// attachSideConnectorModulesToYBars(at=$t);
@ -32,16 +36,86 @@ module assemblyInstructions () {
// end instructions
final();
module addHeatSetInsertsYBar(at=0) {
t = lerp(a=10,b=0,t=at);
yBar();
heatSetHeight = heatSetInsertSlotHeightSlacked(rackFrameScrewType) * 0.95;
function sideModuleHeatSetTrans(t=0) =
translate(v=[yBarScrewHoleToOuterYEdge,yBarScrewHoleToFrontXEdge,t-(heatSetHeight+sideWallConnLugDepression)]) *
yBarSideModuleConnectorTrans;
function mainRailHeatSetTrans(t=0) =
translate(v=[mainRailHeatSetOnYBarDx,mainRailHeatSetOnYBarDy,t-heatSetHeight]) *
yBarMainRailConnectorTrans;
function xBarHeatSetTrans(t=0) =
translate(v=[t-heatSetHeight,27,6]) *
yBarXBarConnectorTrans *
rotate(a=[0,90,0]);
module heatSetInsertsOneCorner(t=0) {
multmatrix(sideModuleHeatSetTrans(t = t))
heatSetInsert();
multmatrix(mainRailHeatSetTrans(t = t))
heatSetInsert();
multmatrix(xBarHeatSetTrans(t = t))
heatSetInsert();
}
heatSetInsertsOneCorner(t=t);
multmatrix(yBarMirrorOtherCornerTrans)
heatSetInsertsOneCorner(t=t);
}
module addMagnetsToMagnetModules(at=0) {
t = lerp(a=8,b=0,t=at);
magnetModule();
function insertMagnetTrans(t=0) =
translate(v=[sideWallConnW-(magnetFaceToSideWallConnOuterYEdge+magnetHSlacked) + t,
magnetModuleMagnetMountDy,
magnetModuleMagnetMountDz]) *
rotate(a=[0,90,0]);
multmatrix(insertMagnetTrans(t=t))
magnet();
}
module addMagnetsToSideWall(at=0) {
t = lerp(a=8,b=0,t=at);
sideWallLeft();
function insertMagnetTrans(t=0) =
translate(v=[sideWallThickness+t, magnetMountToYBarFront, magnetMountToYBarTop-sideWallZHingeTotalClearance]) *
rotate(a=[0,90,0]);
multmatrix(insertMagnetTrans(t=t))
magnet();
multmatrix(translate(v=[0,0,sideWallZ - 2*(magnetMountToYBarTop- sideWallZHingeTotalClearance)]) * insertMagnetTrans(t=t))
magnet();
}
module attachXBarWithYBar(at=0) {
t = lerp(a=20, b=0, t=at);
// assemble x-y bar trays
multmatrix(translate(v = [0, 0, t]))
yBar();
addHeatSetInsertsYBar(at=1);
multmatrix(translate(v = [0, 0, t])*xBarSpaceToYBarSpace*xBarMirrorOtherCornerTrans*yBarSpaceToXBarSpace)
yBar();
addHeatSetInsertsYBar(at=1);
multmatrix(xBarSpaceToYBarSpace)
xBar();
@ -58,10 +132,10 @@ module assemblyInstructions () {
translate(v=[27,xBarSideThickness + extension,6]) * rotate(a=[270,0,0]);
// screw to connect x and y bars
yBar();
addHeatSetInsertsYBar(at=1);
multmatrix(xBarSpaceToYBarSpace*xBarMirrorOtherCornerTrans*yBarSpaceToXBarSpace)
yBar();
addHeatSetInsertsYBar(at=1);
multmatrix(xBarSpaceToYBarSpace)
union() {
@ -99,7 +173,7 @@ module assemblyInstructions () {
multmatrix(sideModuleTrans(elevation))
union() {
magnetModule();
addMagnetsToMagnetModules(at=1);
translate(v=[yBarScrewHoleToOuterYEdge,yBarScrewHoleToFrontXEdge,sideWallConnLugDepression + 2*elevation])
caseScrewA();
@ -107,7 +181,7 @@ module assemblyInstructions () {
multmatrix(xBarSpaceToYBarSpace * xBarMirrorOtherCornerTrans * yBarSpaceToXBarSpace * sideModuleTrans(elevation))
union() {
magnetModule();
addMagnetsToMagnetModules(at=1);
translate(v=[yBarScrewHoleToOuterYEdge,yBarScrewHoleToFrontXEdge,sideWallConnLugDepression + 2*elevation])
caseScrewA();
@ -164,7 +238,7 @@ module assemblyInstructions () {
hingeHoleH = hingePoleH-sideWallConnLugDepression;
sideWallLeft();
addMagnetsToSideWall(at=1);
translate(v=[hingePoleDx,hingePoleDy, (sideWallZ-hingeHoleH) + t])
hingeDowel();
@ -374,6 +448,17 @@ module assemblyInstructions () {
cylinder(h=dowelPinH, r=dowelPinR);
}
module heatSetInsert() {
color([1,0,1])
scale(v=[0.95,0.95,0.95])
heatSetInsertSlot_N(screwType=rackFrameScrewType, topExtension=0);
}
module magnet() {
color([1,0,1])
cylinder(r=magnetR, h=magnetH);
}
module arrow(length) {
color([1,0,1]) {
translate(v = [0, 0, length-2])

View File

@ -9,6 +9,8 @@ include <../sharedVariables.scad>
include <../config.scad>
mainRailHeatSetOnYBarDx = railSideMountThickness + 5;
mainRailHeatSetOnYBarDy = railFrontThickness + 4;
module onYBarToMainRailNegative() {
slotSlack = xySlack;
@ -18,7 +20,7 @@ module onYBarToMainRailNegative() {
translate(v=[-slotZSlack/2, -slotSlack/2,0])
cube(size = [railTotalWidth+slotZSlack, railTotalDepth + slotSlack, railFootThickness]);
translate(v = [railSideMountThickness + 5, railFrontThickness + 4 , -m3HeatSetInsertSlotHeightSlacked])
translate(v = [mainRailHeatSetOnYBarDx, mainRailHeatSetOnYBarDy, -m3HeatSetInsertSlotHeightSlacked])
heatSetInsertSlot_N(rackFrameScrewType);
}
}
@ -32,6 +34,6 @@ module onMainRailYBarConnectorPositive() {
module onMainRailYBarConnectorNegative() {
translate(v = [5+railSideMountThickness, 4+railFrontThickness, railFootThickness])
translate(v = [mainRailHeatSetOnYBarDx, mainRailHeatSetOnYBarDy, railFootThickness])
counterSunkHead_N(rackFrameScrewType, screwExtension=inf10, headExtension=inf10);
}

View File

@ -50,7 +50,7 @@ module hingeModule() {
translate(v = [sideWallConnW/2.0, hingePoleR + radiusXYSlack, 0])
cylinder(r = hingePoleR + radiusXYSlack, h = inf50);
translate(v = [sideWallConnW/2.0, , 0])
translate(v = [sideWallConnW/2.0, 0 , 0])
cube(size=[2, 5, inf50], center=true);
}

View File

@ -9,6 +9,9 @@ include <../../helper/screws.scad>
translate(v=[10,-5,-(2+sideWallZHingeTotalClearance)])
*magnetModule();
magnetModuleMagnetMountDy = magnetMountToYBarFront - sideWallSlotToXZ;
magnetModuleMagnetMountDz = magnetMountToYBarTop + sideWallConnLugDepression;
module magnetModule() {
applyYBarScrewMount()
@ -42,11 +45,6 @@ module magnetModule() {
}
module applyMagnetMount() {
magnetMountDx = magnetMountShellRadius;
magnetMountDy = magnetMountToYBarFront - sideWallSlotToXZ;
magnetMountDz = magnetMountToYBarTop + sideWallConnLugDepression;
apply_pn() {
magnetMountShell();
magnetMountHole();
@ -55,7 +53,7 @@ module magnetModule() {
module magnetMountShell() {
hull() {
translate(v = [0, magnetMountDy, magnetMountDz])
translate(v = [0, magnetModuleMagnetMountDy, magnetModuleMagnetMountDz])
rotate(a = [0, 90, 0])
cylinder(r = magnetMountShellRadius, h = sideWallConnW-magnetFaceToSideWallConnOuterYEdge);
@ -66,8 +64,8 @@ module magnetModule() {
module magnetMountHole() {
translate(v = [sideWallConnW-(magnetFaceToSideWallConnOuterYEdge+magnetHSlacked),
magnetMountDy,
magnetMountDz])
magnetModuleMagnetMountDy,
magnetModuleMagnetMountDz])
rotate(a = [0, 90, 0])
cylinder(r = magnetRSlacked, h = magnetHSlacked);
}

View File

@ -11,8 +11,8 @@ include <../sharedVariables.scad>
include <./magnetModule.scad>
include <./hingeModule.scad>
echo("Side Wall Height", sideWallZ);
echo("Side Wall Depth", sideWallY);
//echo("Side Wall Height", sideWallZ);
//echo("Side Wall Depth", sideWallY);
//translate(v = [hingePoleDx ,hingePoleDy, 10])
//rotate(a=[0,0,-120])

View File

@ -32,10 +32,6 @@ module xyPlate() {
module applyYBarConnectors() {
// TODO ren
echo("connPosX", connPosX);
echo("connPosY", connPosY);
apply_p() {
union() {
translate(v=[connPosX, connPosY, 0])