54 lines
1.3 KiB
OpenSCAD
54 lines
1.3 KiB
OpenSCAD
include <../helper/common.scad>
|
|
include <./connector/connectors.scad>
|
|
|
|
xyPlate();
|
|
|
|
module xyPlate() {
|
|
|
|
translate(v=-[basePlateConnPosX,basePlateConnPosY,0]) // center around one of the YBarConnector holes
|
|
applyVentilation()
|
|
applyConnector(on="basePlate", to="yBar")
|
|
plateBody();
|
|
|
|
module plateBody() {
|
|
plateBodyX = xBarX - 2*plateGap;
|
|
plateBodyY = (yBarDepth - 2*xBarY) - 2*plateGap;
|
|
plateBodyH = xBarWallThickness;
|
|
|
|
translate(v=[plateGap, plateGap, 0]) {
|
|
cube(size = [plateBodyX, plateBodyY, plateBodyH]);
|
|
|
|
// bracing
|
|
braceThickness = 3;
|
|
braceHeight = 2;
|
|
translate(v = [0, 0, plateBodyH])
|
|
difference() {
|
|
cube(size = [plateBodyX, plateBodyY, braceHeight]);
|
|
translate(v=[braceThickness, braceThickness,0])
|
|
cube(size=[plateBodyX-2*braceThickness, plateBodyY-2*braceThickness, braceHeight]);
|
|
}
|
|
|
|
}
|
|
}
|
|
|
|
module applyVentilation() {
|
|
|
|
apply_n() {
|
|
numSlits = 5;
|
|
edgePadding = 30;
|
|
diff = (xBarX-2*edgePadding)/(numSlits-1);
|
|
slitWidth = 4;
|
|
slitLength = (yBarDepth - 2*xBarY)-2*edgePadding;
|
|
|
|
for(i=[0:numSlits-1]) {
|
|
translate(v=[edgePadding+diff*i-slitWidth/2, edgePadding,0])
|
|
minkowski() {
|
|
cylinder(h=1,r=2);
|
|
cube(size=[slitWidth,slitLength,inf]);
|
|
}
|
|
}
|
|
children(0);
|
|
}
|
|
}
|
|
|
|
} |