diff --git a/rack-mount/patch-panel/entry.scad b/rack-mount/patch-panel/entry.scad index 5750caa..b164dce 100644 --- a/rack-mount/patch-panel/entry.scad +++ b/rack-mount/patch-panel/entry.scad @@ -14,13 +14,14 @@ module patchPanelSystem ( numSlots = 8, plateThickness = 3, -keystoneSpacing = 19 +keystoneSpacing = 19, +center = false // end config ////////////////////////////////////////////////////////////////////////////////////////////////////////// ) { mirror(v = [0, 0, 1]) - patchPanel(slots = numSlots); + patchPanel(slots = numSlots, center=center); } -patchPanelSystem(); \ No newline at end of file +patchPanelSystem(); diff --git a/rack-mount/patch-panel/patchPanel.scad b/rack-mount/patch-panel/patchPanel.scad index 1ab7d85..6932006 100644 --- a/rack-mount/patch-panel/patchPanel.scad +++ b/rack-mount/patch-panel/patchPanel.scad @@ -8,15 +8,21 @@ use <../plateBase.scad> Please also make sure that the correct rack frame preset is set in rackFrame.scad. */ -module patchPanel (slots=8, plateThickness=3, keystoneSpacing=19) { +module patchPanel (slots=8, plateThickness=3, keystoneSpacing=19, center=false) { difference() { supportPlateThickness = 5.9; supportPlateHeight = 29; supportPlateEdgeSpacing = 3; supportPlateWidth = slots * keystoneSpacing + supportPlateEdgeSpacing; + supportPlateMinPadding = railScrewHoleToInnerEdge+4; - leftRailScrewToSupportDx = railScrewHoleToInnerEdge+4; + // TODO: these values should belong somewhere closer to plateBase.scad railScrewToEdge = 4.5; + plateLength = rackMountScrewWidth + 2*railScrewToEdge; + + leftRailScrewToSupportDx = center + ? (plateLength-(supportPlateWidth+supportPlateMinPadding))/2 + : supportPlateMinPadding; union() { plateBase(U = 2, plateThickness = plateThickness, screwType = mainRailScrewType, screwToXEdge=railScrewToEdge, screwToYEdge=railScrewToEdge, filletR = 2); @@ -24,6 +30,7 @@ module patchPanel (slots=8, plateThickness=3, keystoneSpacing=19) { cube(size = [supportPlateWidth, supportPlateHeight, supportPlateThickness]); } + render() union() { for (i = [0:slots-1]) { translate(v = [leftRailScrewToSupportDx+supportPlateEdgeSpacing + i*keystoneSpacing, 0, eps]) @@ -32,4 +39,4 @@ module patchPanel (slots=8, plateThickness=3, keystoneSpacing=19) { } } } -} \ No newline at end of file +} diff --git a/rack-mount/plateBase.scad b/rack-mount/plateBase.scad index 6209349..fef3c10 100644 --- a/rack-mount/plateBase.scad +++ b/rack-mount/plateBase.scad @@ -31,4 +31,4 @@ module plateBase(U, plateThickness, screwType, screwToXEdge=4.5, screwToYEdge=4. } } -} \ No newline at end of file +}