Add option for fixed side modules. This simplifies assembly and removes some awkward printing topology
This commit is contained in:
@ -2,6 +2,11 @@ include <./common.scad>
|
||||
use <./screwXBarAndYBar.scad>
|
||||
use <./addMagnetsToMagnetModules.scad>
|
||||
|
||||
|
||||
/*
|
||||
NOTE You only need to do this step if the `fixedSideModules` option is set to false.
|
||||
*/
|
||||
|
||||
$vpt = [116,90,18];
|
||||
$vpr = [56,0,42];
|
||||
$vpd = 550;
|
||||
@ -10,50 +15,57 @@ $vpf = 22.50;
|
||||
attachSideConnectorModulesToYBars(at=$t);
|
||||
|
||||
module attachSideConnectorModulesToYBars(at=0) {
|
||||
elevation = lerp(a=8, b=0, t=at);
|
||||
elevation = lerp(a=8, b=0, t=at);
|
||||
|
||||
// side module to front corner ybar
|
||||
function sideModuleTrans(t=0) =
|
||||
translate(v=[sideWallConnW,0,t-sideWallConnLugDepression])
|
||||
* yBarSideModuleConnectorTrans
|
||||
* mirror(v=[1,0,0]); // mirror for magnetModule
|
||||
// side module to front corner ybar
|
||||
function sideModuleTrans(t=0) =
|
||||
translate(v=[sideWallConnW,0,t-sideWallConnLugDepression])
|
||||
* yBarSideModuleConnectorTrans
|
||||
* mirror(v=[1,0,0]); // mirror for magnetModule
|
||||
|
||||
screwXBarAndYBar(at=1);
|
||||
screwXBarAndYBar(at=1);
|
||||
|
||||
multmatrix(sideModuleTrans(elevation))
|
||||
union() {
|
||||
addMagnetsToMagnetModules(at=1);
|
||||
if (!fixedSideModules) {
|
||||
multmatrix(sideModuleTrans(elevation))
|
||||
union() {
|
||||
|
||||
translate(v=[yBarScrewHoleToOuterYEdge,yBarScrewHoleToFrontXEdge,sideWallConnLugDepression + 2*elevation])
|
||||
caseScrewShort();
|
||||
|
||||
addMagnetsToMagnetModules(at=1);
|
||||
|
||||
|
||||
translate(v=[yBarScrewHoleToOuterYEdge,yBarScrewHoleToFrontXEdge,sideWallConnLugDepression + 2*elevation])
|
||||
caseScrewShort();
|
||||
}
|
||||
|
||||
multmatrix(xBarSpaceToYBarSpace * xBarMirrorOtherCornerTrans * yBarSpaceToXBarSpace * sideModuleTrans(elevation))
|
||||
union() {
|
||||
|
||||
addMagnetsToMagnetModules(at=1);
|
||||
|
||||
|
||||
translate(v=[yBarScrewHoleToOuterYEdge,yBarScrewHoleToFrontXEdge,sideWallConnLugDepression + 2*elevation])
|
||||
caseScrewShort();
|
||||
}
|
||||
|
||||
multmatrix(yBarMirrorOtherCornerTrans * sideModuleTrans(elevation))
|
||||
union() {
|
||||
|
||||
if (!plasticMask) {
|
||||
hingeModule();
|
||||
}
|
||||
|
||||
translate(v=[yBarScrewHoleToOuterYEdge,yBarScrewHoleToFrontXEdge,sideWallConnLugDepression + 2*elevation])
|
||||
caseScrewShort();
|
||||
}
|
||||
|
||||
multmatrix(xBarSpaceToYBarSpace * xBarMirrorOtherCornerTrans * yBarSpaceToXBarSpace * yBarMirrorOtherCornerTrans * sideModuleTrans(elevation))
|
||||
union() {
|
||||
if (!plasticMask) {
|
||||
hingeModule();
|
||||
}
|
||||
|
||||
translate(v=[yBarScrewHoleToOuterYEdge,yBarScrewHoleToFrontXEdge,sideWallConnLugDepression + 2*elevation])
|
||||
caseScrewShort();
|
||||
}
|
||||
}
|
||||
|
||||
multmatrix(xBarSpaceToYBarSpace * xBarMirrorOtherCornerTrans * yBarSpaceToXBarSpace * sideModuleTrans(elevation))
|
||||
union() {
|
||||
addMagnetsToMagnetModules(at=1);
|
||||
|
||||
translate(v=[yBarScrewHoleToOuterYEdge,yBarScrewHoleToFrontXEdge,sideWallConnLugDepression + 2*elevation])
|
||||
caseScrewShort();
|
||||
}
|
||||
|
||||
multmatrix(yBarMirrorOtherCornerTrans * sideModuleTrans(elevation))
|
||||
union() {
|
||||
|
||||
if (!plasticMask) {
|
||||
hingeModule();
|
||||
}
|
||||
|
||||
translate(v=[yBarScrewHoleToOuterYEdge,yBarScrewHoleToFrontXEdge,sideWallConnLugDepression + 2*elevation])
|
||||
caseScrewShort();
|
||||
}
|
||||
|
||||
multmatrix(xBarSpaceToYBarSpace * xBarMirrorOtherCornerTrans * yBarSpaceToXBarSpace * yBarMirrorOtherCornerTrans * sideModuleTrans(elevation))
|
||||
union() {
|
||||
if (!plasticMask) {
|
||||
hingeModule();
|
||||
}
|
||||
|
||||
translate(v=[yBarScrewHoleToOuterYEdge,yBarScrewHoleToFrontXEdge,sideWallConnLugDepression + 2*elevation])
|
||||
caseScrewShort();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user