This commit is contained in:
jazhawang
2022-09-19 14:00:54 -04:00
parent 94c8c2116c
commit 2d0c1ecda9
4 changed files with 9626 additions and 2 deletions

132
cases/patch-panel.scad Normal file
View File

@ -0,0 +1,132 @@
include <./common.scad>
include <./rack/screws.scad>
vU = 2;
uHeight = 10;
plateScrewDiffV = uHeight*vU;
plateScrewDiffH = 180;
plateScrewToHEdge = 4.5;
plateScrewToVEdge = 5.5;
frontPlateThickness = 3;
frontPlateV = plateScrewDiffV + 2*plateScrewToHEdge;
frontPlateH = plateScrewDiffH + 2*plateScrewToVEdge;
plateScrewToBoxMin = 6;
module _frontPlateBody() {
translate(v=[-plateScrewToVEdge,0,-plateScrewToHEdge])
cube(size=[frontPlateH,frontPlateThickness,frontPlateV]);
}
module _plateHole() {
rotate(a=[90,0,0])
cylinder(r=m4RadiusSlacked, h=inf, center=true);
}
module frontPlate() {
difference() {
_frontPlateBody();
union() {
// TODO: introduce helper modules for this pattern
_plateHole();
translate(v=[plateScrewDiffH,0,0])
_plateHole();
translate(v=[0,0,plateScrewDiffV])
_plateHole();
translate(v=[plateScrewDiffH,0,plateScrewDiffV])
_plateHole();
}
}
}
// keystone stuff
// a lot of these variables are useless, after a couple of design iterations
keystoneMainBodyWidth = 15.0;
keystoneMainBodyHeight = 16.90;
keystoneMainBodyDepth = 32.90;
heightWithHookBody = 20.2;
heightWithHookCatch = 21.30;
widthWithSideLugs = 15.96;
sideLugWidth = (widthWithSideLugs - keystoneMainBodyWidth) / 2.0;
heightWithBottomLug = 17.5;
frontToHookCatch = 8.35; // not sure about this
frontToBottomLugBack = 8.23;
frontToSideLugFront = 10.63;
module keystoneSlot_N() {
// main keystone body (no hooks or lugs)
cube(size=[keystoneMainBodyWidth, keystoneMainBodyDepth, keystoneMainBodyHeight]);
// slot for top hook
translate(v=[0,frontToHookCatch,0])
cube(size=[keystoneMainBodyWidth, keystoneMainBodyDepth -frontToHookCatch, heightWithHookBody]);
cube(size=[keystoneMainBodyWidth, frontToHookCatch, heightWithHookCatch]);
// slots for side lugs
translate(v=[-sideLugWidth, frontToSideLugFront,0])
cube(size=[widthWithSideLugs, keystoneMainBodyDepth-frontToSideLugFront, keystoneMainBodyHeight]);
// slots for bottom lugs
translate(v=[0,0,-(heightWithBottomLug-keystoneMainBodyHeight)])
cube(size=[keystoneMainBodyWidth, frontToBottomLugBack, keystoneMainBodyHeight]);
}
module keystoneJack_N() {
translate(v=[0,-4,0.5])
intersection() {
translate(v=[-2.5,4,-4])
cube(size=[20,6,28]);
keystoneSlot_N();
}
}
//keystoneJack_N();
module patchPanel_P() {
frontPlate();
for (i = [0:7]) {
translate(v=[(i*20+12.5)-2.5,0,-3.5])
cube(size=[20,6,28]);
}
}
module patchPanel() {
difference() {
patchPanel_P();
for (i = [0:7]) {
translate(v=[i*20 + 12.5,0,0])
keystoneJack_N();
}
}
}
patchPanel();

9494
cases/patch-panel.stl Normal file

File diff suppressed because it is too large Load Diff

View File

@ -1 +0,0 @@
zhao@zhao-desktop.12132:1663410391

View File

@ -1 +0,0 @@
zhao@zhao-desktop.12132:1663410391