bulk
This commit is contained in:
132
cases/patch-panel.scad
Normal file
132
cases/patch-panel.scad
Normal 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
9494
cases/patch-panel.stl
Normal file
File diff suppressed because it is too large
Load Diff
@ -1 +0,0 @@
|
|||||||
zhao@zhao-desktop.12132:1663410391
|
|
||||||
@ -1 +0,0 @@
|
|||||||
zhao@zhao-desktop.12132:1663410391
|
|
||||||
Reference in New Issue
Block a user