add missing instructions
This commit is contained in:
@ -4,7 +4,7 @@
|
||||
|
||||
$fn=64;
|
||||
// TODO move these to math
|
||||
eps=0.00001;
|
||||
eps=0.0001;
|
||||
|
||||
inf10 = 10;
|
||||
inf50 = 50;
|
||||
|
||||
@ -58,6 +58,11 @@ function heatSetInsertSlotRadiusSlacked(screwType) =
|
||||
? m3HeatSetInsertSlotRadiusSlacked
|
||||
: error("Unsupported screw type");
|
||||
|
||||
function heatSetInsertSlotHeightSlacked(screwType) =
|
||||
(screwType == "m3")
|
||||
? m3HeatSetInsertSlotHeightSlacked
|
||||
: error("Unsupported screw type");
|
||||
|
||||
function screwRadiusSlacked(screwType) =
|
||||
(screwType == "m3")
|
||||
? m3RadiusSlacked
|
||||
|
||||
@ -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])
|
||||
|
||||
@ -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);
|
||||
}
|
||||
@ -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);
|
||||
}
|
||||
|
||||
|
||||
@ -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);
|
||||
}
|
||||
|
||||
@ -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])
|
||||
|
||||
@ -32,10 +32,6 @@ module xyPlate() {
|
||||
|
||||
module applyYBarConnectors() {
|
||||
|
||||
// TODO ren
|
||||
echo("connPosX", connPosX);
|
||||
echo("connPosY", connPosY);
|
||||
|
||||
apply_p() {
|
||||
union() {
|
||||
translate(v=[connPosX, connPosY, 0])
|
||||
|
||||
Reference in New Issue
Block a user