add xyPlate
This commit is contained in:
73
rack/xyPlate.scad
Normal file
73
rack/xyPlate.scad
Normal file
@ -0,0 +1,73 @@
|
||||
include <./yBar.scad>
|
||||
include <./xBar.scad>
|
||||
|
||||
xyPlate();
|
||||
|
||||
module xyPlate() {
|
||||
|
||||
applyYBarConnectors()
|
||||
plateBody();
|
||||
|
||||
module plateBody() {
|
||||
slack = 0.5;
|
||||
plateBodyX = xBarX - slack;
|
||||
plateBodyY = (yBarDepth - 2*xBarY) - slack;
|
||||
plateBodyH = xBarWallThickness;
|
||||
|
||||
translate(v=[slack/2, slack/2, 0])
|
||||
cube(size=[plateBodyX, plateBodyY, plateBodyH]);
|
||||
}
|
||||
|
||||
module applyYBarConnectors() {
|
||||
slack = 0.3;
|
||||
// TODO rename _heatSetX to something more indicative of yBarBasePlateConnector
|
||||
connDx = xBarX + 2*_heatSetX; // X distance between connectors
|
||||
connDy = yBarDepth - 2*basePlateScrewMountToYBarXZFace; // Y distance between connectors
|
||||
|
||||
connYBarCornerDx = yBarWidth; // distance from a plate body corner and the nearest yBar corner
|
||||
connYBarCornerDy = xBarY; // distance from a plate body corner and the nearest yBar corner
|
||||
|
||||
connPosX = basePlateScrewMountToYBarYZFace - connYBarCornerDx; // distance between plateBody corner at (0,0,0) and the related corner
|
||||
connPosY = basePlateScrewMountToYBarXZFace - connYBarCornerDy;
|
||||
|
||||
|
||||
apply_p() {
|
||||
union() {
|
||||
translate(v=[connPosX, connPosY, 0])
|
||||
yBarConnector();
|
||||
|
||||
translate(v=[connPosX, connPosY+connDy, 0])
|
||||
yBarConnector();
|
||||
|
||||
translate(v=[connPosX+connDx, connPosY, 0])
|
||||
rotate(a=[0,0,180])
|
||||
yBarConnector();
|
||||
|
||||
translate(v=[connPosX+connDx, connPosY+connDy, 0])
|
||||
rotate(a=[0,0,180])
|
||||
yBarConnector();
|
||||
|
||||
}
|
||||
|
||||
children(0);
|
||||
}
|
||||
|
||||
module yBarConnector() {
|
||||
difference() {
|
||||
hull() {
|
||||
cylinder(r = _baseConnY/2 - slack/2, h = _baseConnRecession);
|
||||
|
||||
translate(v = [1-connPosX, -_baseConnY/2, 0])
|
||||
cube(size = [eps, _baseConnY-slack, _baseConnRecession]);
|
||||
|
||||
translate(v = [5-connPosX, -_baseConnY/2, 0])
|
||||
cube(size = [eps, _baseConnY-slack, eps]);
|
||||
}
|
||||
|
||||
cylinder(r=screwRadiusSlacked(rackFrameScrewType), h=inf, center=true);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user