add missing instructions
This commit is contained in:
@ -4,7 +4,7 @@
|
|||||||
|
|
||||||
$fn=64;
|
$fn=64;
|
||||||
// TODO move these to math
|
// TODO move these to math
|
||||||
eps=0.00001;
|
eps=0.0001;
|
||||||
|
|
||||||
inf10 = 10;
|
inf10 = 10;
|
||||||
inf50 = 50;
|
inf50 = 50;
|
||||||
|
|||||||
@ -58,6 +58,11 @@ function heatSetInsertSlotRadiusSlacked(screwType) =
|
|||||||
? m3HeatSetInsertSlotRadiusSlacked
|
? m3HeatSetInsertSlotRadiusSlacked
|
||||||
: error("Unsupported screw type");
|
: error("Unsupported screw type");
|
||||||
|
|
||||||
|
function heatSetInsertSlotHeightSlacked(screwType) =
|
||||||
|
(screwType == "m3")
|
||||||
|
? m3HeatSetInsertSlotHeightSlacked
|
||||||
|
: error("Unsupported screw type");
|
||||||
|
|
||||||
function screwRadiusSlacked(screwType) =
|
function screwRadiusSlacked(screwType) =
|
||||||
(screwType == "m3")
|
(screwType == "m3")
|
||||||
? m3RadiusSlacked
|
? m3RadiusSlacked
|
||||||
|
|||||||
@ -17,6 +17,10 @@ module assemblyInstructions () {
|
|||||||
// Instruction List (in order)
|
// Instruction List (in order)
|
||||||
// TODO: add steps to glue magnets and add heatset inserts
|
// TODO: add steps to glue magnets and add heatset inserts
|
||||||
|
|
||||||
|
//render()
|
||||||
|
// addHeatSetInsertsYBar(at=$t);
|
||||||
|
// addMagnetsToMagnetModules(at=$t);
|
||||||
|
// addMagnetsToSideWall(at=$t);
|
||||||
// attachXBarWithYBar(at=$t);
|
// attachXBarWithYBar(at=$t);
|
||||||
// screwXBarAndYBar(at=$t);
|
// screwXBarAndYBar(at=$t);
|
||||||
// attachSideConnectorModulesToYBars(at=$t);
|
// attachSideConnectorModulesToYBars(at=$t);
|
||||||
@ -32,16 +36,86 @@ module assemblyInstructions () {
|
|||||||
// end instructions
|
// end instructions
|
||||||
final();
|
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) {
|
module attachXBarWithYBar(at=0) {
|
||||||
|
|
||||||
t = lerp(a=20, b=0, t=at);
|
t = lerp(a=20, b=0, t=at);
|
||||||
|
|
||||||
// assemble x-y bar trays
|
// assemble x-y bar trays
|
||||||
multmatrix(translate(v = [0, 0, t]))
|
multmatrix(translate(v = [0, 0, t]))
|
||||||
yBar();
|
addHeatSetInsertsYBar(at=1);
|
||||||
|
|
||||||
multmatrix(translate(v = [0, 0, t])*xBarSpaceToYBarSpace*xBarMirrorOtherCornerTrans*yBarSpaceToXBarSpace)
|
multmatrix(translate(v = [0, 0, t])*xBarSpaceToYBarSpace*xBarMirrorOtherCornerTrans*yBarSpaceToXBarSpace)
|
||||||
yBar();
|
addHeatSetInsertsYBar(at=1);
|
||||||
|
|
||||||
multmatrix(xBarSpaceToYBarSpace)
|
multmatrix(xBarSpaceToYBarSpace)
|
||||||
xBar();
|
xBar();
|
||||||
@ -58,10 +132,10 @@ module assemblyInstructions () {
|
|||||||
translate(v=[27,xBarSideThickness + extension,6]) * rotate(a=[270,0,0]);
|
translate(v=[27,xBarSideThickness + extension,6]) * rotate(a=[270,0,0]);
|
||||||
|
|
||||||
// screw to connect x and y bars
|
// screw to connect x and y bars
|
||||||
yBar();
|
addHeatSetInsertsYBar(at=1);
|
||||||
|
|
||||||
multmatrix(xBarSpaceToYBarSpace*xBarMirrorOtherCornerTrans*yBarSpaceToXBarSpace)
|
multmatrix(xBarSpaceToYBarSpace*xBarMirrorOtherCornerTrans*yBarSpaceToXBarSpace)
|
||||||
yBar();
|
addHeatSetInsertsYBar(at=1);
|
||||||
|
|
||||||
multmatrix(xBarSpaceToYBarSpace)
|
multmatrix(xBarSpaceToYBarSpace)
|
||||||
union() {
|
union() {
|
||||||
@ -99,7 +173,7 @@ module assemblyInstructions () {
|
|||||||
|
|
||||||
multmatrix(sideModuleTrans(elevation))
|
multmatrix(sideModuleTrans(elevation))
|
||||||
union() {
|
union() {
|
||||||
magnetModule();
|
addMagnetsToMagnetModules(at=1);
|
||||||
|
|
||||||
translate(v=[yBarScrewHoleToOuterYEdge,yBarScrewHoleToFrontXEdge,sideWallConnLugDepression + 2*elevation])
|
translate(v=[yBarScrewHoleToOuterYEdge,yBarScrewHoleToFrontXEdge,sideWallConnLugDepression + 2*elevation])
|
||||||
caseScrewA();
|
caseScrewA();
|
||||||
@ -107,7 +181,7 @@ module assemblyInstructions () {
|
|||||||
|
|
||||||
multmatrix(xBarSpaceToYBarSpace * xBarMirrorOtherCornerTrans * yBarSpaceToXBarSpace * sideModuleTrans(elevation))
|
multmatrix(xBarSpaceToYBarSpace * xBarMirrorOtherCornerTrans * yBarSpaceToXBarSpace * sideModuleTrans(elevation))
|
||||||
union() {
|
union() {
|
||||||
magnetModule();
|
addMagnetsToMagnetModules(at=1);
|
||||||
|
|
||||||
translate(v=[yBarScrewHoleToOuterYEdge,yBarScrewHoleToFrontXEdge,sideWallConnLugDepression + 2*elevation])
|
translate(v=[yBarScrewHoleToOuterYEdge,yBarScrewHoleToFrontXEdge,sideWallConnLugDepression + 2*elevation])
|
||||||
caseScrewA();
|
caseScrewA();
|
||||||
@ -164,7 +238,7 @@ module assemblyInstructions () {
|
|||||||
|
|
||||||
hingeHoleH = hingePoleH-sideWallConnLugDepression;
|
hingeHoleH = hingePoleH-sideWallConnLugDepression;
|
||||||
|
|
||||||
sideWallLeft();
|
addMagnetsToSideWall(at=1);
|
||||||
|
|
||||||
translate(v=[hingePoleDx,hingePoleDy, (sideWallZ-hingeHoleH) + t])
|
translate(v=[hingePoleDx,hingePoleDy, (sideWallZ-hingeHoleH) + t])
|
||||||
hingeDowel();
|
hingeDowel();
|
||||||
@ -374,6 +448,17 @@ module assemblyInstructions () {
|
|||||||
cylinder(h=dowelPinH, r=dowelPinR);
|
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) {
|
module arrow(length) {
|
||||||
color([1,0,1]) {
|
color([1,0,1]) {
|
||||||
translate(v = [0, 0, length-2])
|
translate(v = [0, 0, length-2])
|
||||||
|
|||||||
@ -9,6 +9,8 @@ include <../sharedVariables.scad>
|
|||||||
|
|
||||||
include <../config.scad>
|
include <../config.scad>
|
||||||
|
|
||||||
|
mainRailHeatSetOnYBarDx = railSideMountThickness + 5;
|
||||||
|
mainRailHeatSetOnYBarDy = railFrontThickness + 4;
|
||||||
module onYBarToMainRailNegative() {
|
module onYBarToMainRailNegative() {
|
||||||
|
|
||||||
slotSlack = xySlack;
|
slotSlack = xySlack;
|
||||||
@ -18,7 +20,7 @@ module onYBarToMainRailNegative() {
|
|||||||
translate(v=[-slotZSlack/2, -slotSlack/2,0])
|
translate(v=[-slotZSlack/2, -slotSlack/2,0])
|
||||||
cube(size = [railTotalWidth+slotZSlack, railTotalDepth + slotSlack, railFootThickness]);
|
cube(size = [railTotalWidth+slotZSlack, railTotalDepth + slotSlack, railFootThickness]);
|
||||||
|
|
||||||
translate(v = [railSideMountThickness + 5, railFrontThickness + 4 , -m3HeatSetInsertSlotHeightSlacked])
|
translate(v = [mainRailHeatSetOnYBarDx, mainRailHeatSetOnYBarDy, -m3HeatSetInsertSlotHeightSlacked])
|
||||||
heatSetInsertSlot_N(rackFrameScrewType);
|
heatSetInsertSlot_N(rackFrameScrewType);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -32,6 +34,6 @@ module onMainRailYBarConnectorPositive() {
|
|||||||
|
|
||||||
module onMainRailYBarConnectorNegative() {
|
module onMainRailYBarConnectorNegative() {
|
||||||
|
|
||||||
translate(v = [5+railSideMountThickness, 4+railFrontThickness, railFootThickness])
|
translate(v = [mainRailHeatSetOnYBarDx, mainRailHeatSetOnYBarDy, railFootThickness])
|
||||||
counterSunkHead_N(rackFrameScrewType, screwExtension=inf10, headExtension=inf10);
|
counterSunkHead_N(rackFrameScrewType, screwExtension=inf10, headExtension=inf10);
|
||||||
}
|
}
|
||||||
@ -50,7 +50,7 @@ module hingeModule() {
|
|||||||
translate(v = [sideWallConnW/2.0, hingePoleR + radiusXYSlack, 0])
|
translate(v = [sideWallConnW/2.0, hingePoleR + radiusXYSlack, 0])
|
||||||
cylinder(r = hingePoleR + radiusXYSlack, h = inf50);
|
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);
|
cube(size=[2, 5, inf50], center=true);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -9,6 +9,9 @@ include <../../helper/screws.scad>
|
|||||||
translate(v=[10,-5,-(2+sideWallZHingeTotalClearance)])
|
translate(v=[10,-5,-(2+sideWallZHingeTotalClearance)])
|
||||||
*magnetModule();
|
*magnetModule();
|
||||||
|
|
||||||
|
magnetModuleMagnetMountDy = magnetMountToYBarFront - sideWallSlotToXZ;
|
||||||
|
magnetModuleMagnetMountDz = magnetMountToYBarTop + sideWallConnLugDepression;
|
||||||
|
|
||||||
module magnetModule() {
|
module magnetModule() {
|
||||||
|
|
||||||
applyYBarScrewMount()
|
applyYBarScrewMount()
|
||||||
@ -42,11 +45,6 @@ module magnetModule() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
module applyMagnetMount() {
|
module applyMagnetMount() {
|
||||||
|
|
||||||
magnetMountDx = magnetMountShellRadius;
|
|
||||||
magnetMountDy = magnetMountToYBarFront - sideWallSlotToXZ;
|
|
||||||
magnetMountDz = magnetMountToYBarTop + sideWallConnLugDepression;
|
|
||||||
|
|
||||||
apply_pn() {
|
apply_pn() {
|
||||||
magnetMountShell();
|
magnetMountShell();
|
||||||
magnetMountHole();
|
magnetMountHole();
|
||||||
@ -55,7 +53,7 @@ module magnetModule() {
|
|||||||
|
|
||||||
module magnetMountShell() {
|
module magnetMountShell() {
|
||||||
hull() {
|
hull() {
|
||||||
translate(v = [0, magnetMountDy, magnetMountDz])
|
translate(v = [0, magnetModuleMagnetMountDy, magnetModuleMagnetMountDz])
|
||||||
rotate(a = [0, 90, 0])
|
rotate(a = [0, 90, 0])
|
||||||
cylinder(r = magnetMountShellRadius, h = sideWallConnW-magnetFaceToSideWallConnOuterYEdge);
|
cylinder(r = magnetMountShellRadius, h = sideWallConnW-magnetFaceToSideWallConnOuterYEdge);
|
||||||
|
|
||||||
@ -66,8 +64,8 @@ module magnetModule() {
|
|||||||
|
|
||||||
module magnetMountHole() {
|
module magnetMountHole() {
|
||||||
translate(v = [sideWallConnW-(magnetFaceToSideWallConnOuterYEdge+magnetHSlacked),
|
translate(v = [sideWallConnW-(magnetFaceToSideWallConnOuterYEdge+magnetHSlacked),
|
||||||
magnetMountDy,
|
magnetModuleMagnetMountDy,
|
||||||
magnetMountDz])
|
magnetModuleMagnetMountDz])
|
||||||
rotate(a = [0, 90, 0])
|
rotate(a = [0, 90, 0])
|
||||||
cylinder(r = magnetRSlacked, h = magnetHSlacked);
|
cylinder(r = magnetRSlacked, h = magnetHSlacked);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -11,8 +11,8 @@ include <../sharedVariables.scad>
|
|||||||
include <./magnetModule.scad>
|
include <./magnetModule.scad>
|
||||||
include <./hingeModule.scad>
|
include <./hingeModule.scad>
|
||||||
|
|
||||||
echo("Side Wall Height", sideWallZ);
|
//echo("Side Wall Height", sideWallZ);
|
||||||
echo("Side Wall Depth", sideWallY);
|
//echo("Side Wall Depth", sideWallY);
|
||||||
|
|
||||||
//translate(v = [hingePoleDx ,hingePoleDy, 10])
|
//translate(v = [hingePoleDx ,hingePoleDy, 10])
|
||||||
//rotate(a=[0,0,-120])
|
//rotate(a=[0,0,-120])
|
||||||
|
|||||||
@ -32,10 +32,6 @@ module xyPlate() {
|
|||||||
|
|
||||||
module applyYBarConnectors() {
|
module applyYBarConnectors() {
|
||||||
|
|
||||||
// TODO ren
|
|
||||||
echo("connPosX", connPosX);
|
|
||||||
echo("connPosY", connPosY);
|
|
||||||
|
|
||||||
apply_p() {
|
apply_p() {
|
||||||
union() {
|
union() {
|
||||||
translate(v=[connPosX, connPosY, 0])
|
translate(v=[connPosX, connPosY, 0])
|
||||||
|
|||||||
Reference in New Issue
Block a user