introduce script to generate assembly animation. still needs cleanup
This commit is contained in:
106
rack/assembly/common.scad
Normal file
106
rack/assembly/common.scad
Normal file
@ -0,0 +1,106 @@
|
||||
include <../../helper/common.scad>
|
||||
include <../../config/common.scad>
|
||||
include <../mainRail.scad>
|
||||
include <../yBar.scad>
|
||||
include <../xBar.scad>
|
||||
include <../side/magnetModule.scad>
|
||||
include <../side/hingeModule.scad>
|
||||
include <../side/sideWallRight.scad>
|
||||
include <../side/sideWallLeft.scad>
|
||||
include <../stackEnds.scad>
|
||||
include <../xyPlate.scad>
|
||||
|
||||
screwMask = false;
|
||||
plasticMask = false;
|
||||
sideSupportRailMask = true;
|
||||
|
||||
|
||||
xBarSpaceToYBarSpace =
|
||||
yBarXBarConnectorTrans *
|
||||
xBarConnectorToYBarConnectorTrans *
|
||||
inv4x4(xBarYBarConnectorTrans);
|
||||
|
||||
yBarSpaceToXBarSpace =
|
||||
xBarYBarConnectorTrans *
|
||||
yBarConnectorToXBarConnectorTrans *
|
||||
inv4x4(yBarXBarConnectorTrans);
|
||||
|
||||
upperXYTrayTrans =
|
||||
yBarMainRailConnectorTrans *
|
||||
mirrorMainRailOtherSideTrans *
|
||||
inv4x4(yBarMainRailConnectorTrans);
|
||||
|
||||
function feetToYBarTrans(t=0) =
|
||||
translate(v=[connectorRectWidth/2,connectorRectDepth/2,-t]) *
|
||||
yBarStackConnectorTrans *
|
||||
mirror(v=[0,1,0]);
|
||||
|
||||
function stackConnectorTrans(t=0) =
|
||||
upperXYTrayTrans *
|
||||
yBarStackConnectorTrans;
|
||||
|
||||
module mirrorAllTrayCornersFromYBarSpace() {
|
||||
children(0);
|
||||
|
||||
multmatrix(yBarMirrorOtherCornerTrans)
|
||||
children(0);
|
||||
|
||||
multmatrix(xBarSpaceToYBarSpace * xBarMirrorOtherCornerTrans * yBarSpaceToXBarSpace * yBarMirrorOtherCornerTrans)
|
||||
children(0);
|
||||
|
||||
multmatrix(xBarSpaceToYBarSpace * xBarMirrorOtherCornerTrans * yBarSpaceToXBarSpace * yBarMirrorOtherCornerTrans * yBarMirrorOtherCornerTrans)
|
||||
children(0);
|
||||
}
|
||||
|
||||
secondStackTrans = upperXYTrayTrans * mirror(v=[0,0,1]);
|
||||
|
||||
|
||||
module caseScrewA() {
|
||||
if (!screwMask) {
|
||||
color([1, 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 caseScrewB() {
|
||||
if (!screwMask) {
|
||||
color([1, 1, 1]) {
|
||||
difference() {
|
||||
scale(v = [0.9, 0.9, 0.9])
|
||||
counterSunkHead_N(rackFrameScrewType, screwExtension = 14, headExtension = 0.5);
|
||||
|
||||
cylinder($fn = 6, r = 1.5);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
module hingeDowel() {
|
||||
if (!screwMask) {
|
||||
color([0, 1, 1])
|
||||
cylinder(h = dowelPinH, r = dowelPinR);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
module magnet() {
|
||||
if (!screwMask) {
|
||||
color([1, 1, 1])
|
||||
cylinder(r = magnetR, h = magnetH);
|
||||
}
|
||||
}
|
||||
|
||||
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);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user