update stls

This commit is contained in:
zhao
2023-08-04 18:17:48 -04:00
parent ab08f6392c
commit 31b5cc4716
17 changed files with 123 additions and 63 deletions

View File

@ -1,63 +0,0 @@
include <./common.scad>
use <./rackEars.scad>
// Rack mount tray that supports screws on the bottom of the rack-mount item
// Config variables
//trayAlignment = "middle"; // middle, right, left
trayWidth = 110;
trayDepth = 100;
trayThickness = 3;
mountPoints = [];
mountScrewType = "m3";
bottomScrewTray(u=5);
module bottomScrewTray(u) {
frontLipHeight = 5;
backLipHeight = 5; // also applies to sides
lipThickness = 3;
rackEarSideThickness = 3;
rackEarFrontThickness = 3;
screwDx = rackMountScrewWidth; // x dist between the mount holes
screwDz = uDiff * u;
plateLength = screwDx + 2*rackMountScrewXDist;
plateHeight = screwDz + 2*rackMountScrewZDist;
minScrewToTraySpacing = 8;
// TODO: toggle this based on left/right/middle alignment
leftScrewDistToTray = minScrewToTraySpacing + 2 +5;
leftScrewGlobalX = -leftScrewDistToTray;
rightScrewGlobalX = screwDx + leftScrewGlobalX;
cube(size=[trayWidth, trayDepth, trayThickness]);
translate(v=[0,0,trayThickness])
cube(size=[trayWidth, lipThickness, frontLipHeight]);
translate(v=[0,trayDepth-lipThickness,trayThickness])
cube(size=[trayWidth, lipThickness, backLipHeight]);
translate(v=[0,0,trayThickness])
cube(size=[lipThickness, trayDepth, backLipHeight]);
translate(v=[trayWidth-lipThickness,0,trayThickness])
cube(size=[lipThickness, trayDepth, backLipHeight]);
translate(v=[leftScrewGlobalX,0,rackMountScrewZDist])
rackEarModule(frontThickness=rackEarFrontThickness,sideThickness=rackEarSideThickness,frontWidth=leftScrewDistToTray+rackMountScrewXDist+rackEarSideThickness, sideDepth=trayDepth-lipThickness, u=u);
translate(v=[rightScrewGlobalX,0,rackMountScrewZDist])
mirror(v=[1,0,0])
rackEarModule(frontThickness=rackEarFrontThickness,sideThickness=rackEarSideThickness,frontWidth=rightScrewGlobalX-trayWidth+rackMountScrewXDist+rackEarSideThickness, sideDepth=trayDepth-lipThickness, u=u);
}

Binary file not shown.

123
rack-mount/tray.scad Normal file
View File

@ -0,0 +1,123 @@
include <./common.scad>
use <./rackEars.scad>
// Rack mount tray that supports screws on the bottom of the rack-mount item
// Config variables
//trayAlignment = "middle"; // middle, right, left
trayWidth = 140;
trayDepth = 85;
trayThickness = 3;
mountPoints = [];
mountScrewType = "m3";
bottomScrewTray(u=1);
module bottomScrewTray(u) {
frontLipHeight = 2;
backLipHeight = 1; // also applies to sides
lipThickness = 3;
rackEarSideThickness = 3;
rackEarFrontThickness = 3;
screwDx = rackMountScrewWidth; // x dist between the mount holes
screwDz = uDiff * u;
plateLength = screwDx + 2*rackMountScrewXDist;
plateHeight = screwDz + 2*rackMountScrewZDist;
minScrewToTraySpacing = 8;
// TODO: toggle this based on left/right/middle alignment
leftScrewDistToTray = minScrewToTraySpacing + 2 + 10;
leftScrewGlobalX = -leftScrewDistToTray;
rightScrewGlobalX = screwDx + leftScrewGlobalX;
pointHoleRadius = screwRadiusSlacked("m3");
pointHoleThickness = 2;
pointMountElevation = 1;
points = [ // [x,y,elevation,holeRadius,holeThickness]
[(27.5),34, pointMountElevation, pointHoleRadius, pointHoleThickness],
[(27.5)+79.5,34, pointMountElevation, pointHoleRadius, pointHoleThickness]
];
difference() {
applyMountHoles(points)
translate(v = [-rackEarSideThickness, -rackEarFrontThickness, -trayThickness])
body();
// hack
*union() {
translate(v = [-20, 18, 15])
rotate(a = [0, 90, 0])
cylinder(r = 10, h = inf);
translate(v = [-20, 40, 13])
rotate(a = [0, 90, 0])
cylinder(r = 7, h = inf);
}
}
module body() {
cube(size = [trayWidth, trayDepth, trayThickness]);
translate(v = [0, 0, trayThickness])
cube(size = [trayWidth, lipThickness, frontLipHeight]);
translate(v = [0, trayDepth-lipThickness, trayThickness])
cube(size = [trayWidth, lipThickness, backLipHeight]);
translate(v = [0, 0, trayThickness])
cube(size = [lipThickness, trayDepth, backLipHeight]);
translate(v = [trayWidth-lipThickness, 0, trayThickness])
cube(size = [lipThickness, trayDepth, backLipHeight]);
translate(v = [leftScrewGlobalX, 0, rackMountScrewZDist])
rackEarModule(frontThickness = rackEarFrontThickness, sideThickness = rackEarSideThickness, frontWidth =
leftScrewDistToTray+rackMountScrewXDist+rackEarSideThickness, sideDepth = trayDepth-lipThickness, u = u);
translate(v = [rightScrewGlobalX, 0, rackMountScrewZDist])
mirror(v = [1, 0, 0])
rackEarModule(frontThickness = rackEarFrontThickness, sideThickness = rackEarSideThickness, frontWidth =
rightScrewGlobalX-trayWidth+rackMountScrewXDist+rackEarSideThickness, sideDepth = trayDepth-lipThickness, u = u);
}
module applyMountHoles(points) {
apply_pn() {
for (i = [0:len(points)-1]) {
p = points[i];
x = p[0];
y = p[1];
elevation = p[2];
hR = p[3];
hT = p[4];
translate(v=[x, y, 0])
cylinder(r=hR+hT, h=elevation);
}
for (i = [0:len(points)-1]) {
p = points[i];
x = p[0];
y = p[1];
hR = p[3];
hT = p[4];
translate(v=[x, y, 0])
cylinder(r=hR, h=inf50, center=true);
}
children(0);
}
}
}

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.