diff --git a/rack-mount/angle-bracket/entry.scad b/rack-mount/angle-bracket/entry.scad index 1904b92..2994dd8 100644 --- a/rack-mount/angle-bracket/entry.scad +++ b/rack-mount/angle-bracket/entry.scad @@ -2,35 +2,42 @@ include <../common.scad> use <../enclosed-box/sideRail.scad> - /* - Simple angle bracket mounting system. Mainly derived the enclosed box system. + Simple angle bracket mounting system. Mainly derived the enclosed box system. */ -module angleBrackets ( - // begin config //////////////////////////////////////////////////////////////////////////////////////////////////////// - - // Does not affect any part dimensions. Set this to true to visualize how a box would be mounted. - visualize = false, +/* [Visualization] */ +// Show box mounting preview +visualize = false; + +/* [Dimensions] */ +// Thickness of the bracket material (mm) +thickness = 3; // [1:0.5:10] +// Width of the supported box (mm) +boxWidth = 160; // [80:10:300] +// Depth of the supported box (mm) +boxDepth = 120; // [80:10:300] +// Enable ventilation holes on sides +sideVent = false; +// Rack units (U) height +u = 3; // [1:1:8] - thickness = 3, - boxWidth = 160, - boxDepth = 120, - sideVent = false, - u = 3 - - // end config ////////////////////////////////////////////////////////////////////////////////////////////////////////// +module angleBrackets ( + visualize = visualize, + thickness = thickness, + boxWidth = boxWidth, + boxDepth = boxDepth, + sideVent = sideVent, + u = u ) { - - sideSupportRailBase(top=false, defaultThickness=thickness, railSideThickness=thickness, supportedZ=10*u-2*thickness, supportedY=boxDepth, supportedX=boxWidth, sideVent=sideVent); - - rightRailTrans = visualize - ? translate(v=[boxWidth,0,0]) * mirror(v=[1,0,0]) - : translate(v=[30,0,0]) * mirror(v=[1,0,0]); - - multmatrix(rightRailTrans) - sideSupportRailBase(top=false, defaultThickness=thickness, railSideThickness=thickness, supportedZ=10*u-2*thickness, supportedY=boxDepth, supportedX=boxWidth, sideVent=sideVent); + sideSupportRailBase(top=false, defaultThickness=thickness, railSideThickness=thickness, supportedZ=10*u-2*thickness, supportedY=boxDepth, supportedX=boxWidth, sideVent=sideVent); + + rightRailTrans = visualize + ? translate(v=[boxWidth,0,0]) * mirror(v=[1,0,0]) + : translate(v=[30,0,0]) * mirror(v=[1,0,0]); + + multmatrix(rightRailTrans) + sideSupportRailBase(top=false, defaultThickness=thickness, railSideThickness=thickness, supportedZ=10*u-2*thickness, supportedY=boxDepth, supportedX=boxWidth, sideVent=sideVent); } - angleBrackets(); diff --git a/rack-mount/enclosed-box/entry.scad b/rack-mount/enclosed-box/entry.scad index b19ba71..b40e7e9 100644 --- a/rack-mount/enclosed-box/entry.scad +++ b/rack-mount/enclosed-box/entry.scad @@ -12,29 +12,51 @@ use <./frontBoxHolder.scad> !!! Please also make sure that the correct rack frame preset is set in rackFrame.scad !!! */ -module enclosedBoxSystem ( - -// begin config //////////////////////////////////////////////////////////////////////////////////////////////////////// - -// Does not affect any part dimensions. Set this to true to visualize how a box would be mounted. -visualize = false, -zOrientation = "middle", // ["middle" | "bottom"] -recessSideRail = false, - -boxWidth = 160, -boxHeight = 27, -boxDepth = 120, -railDefaultThickness = 1.5, -railSideThickness = 3, - -frontPlateThickness = 3, -frontPlateCutoutYSpace = 3, -frontPlateCutoutXSpace = 5, - -// end config ////////////////////////////////////////////////////////////////////////////////////////////////////////// +/* [Visualization] */ +// Show box preview +visualize = false; +// Vertical position of the box +zOrientation = "middle"; // [middle,bottom] +// Recess the side rails +recessSideRail = false; + +/* [Box Dimensions] */ +// Width of the box in mm +boxWidth = 160; // [100:1:300] +// Height of the box in mm +boxHeight = 27; // [20:1:100] +// Depth of the box in mm +boxDepth = 120; // [80:1:250] + +/* [Rail Settings] */ +// Default thickness of the rails +railDefaultThickness = 1.5; // [1:0.5:5] +// Thickness of rail sides +railSideThickness = 3; // [2:0.5:6] + +/* [Front Plate Settings] */ +// Thickness of the front plate +frontPlateThickness = 3; // [2:0.5:6] +// Vertical space between box and cutout +frontPlateCutoutYSpace = 3; // [1:0.5:10] +// Horizontal space between box and cutout +frontPlateCutoutXSpace = 5; // [1:0.5:15] +module enclosedBoxSystem ( + visualize = visualize, + zOrientation = zOrientation, + recessSideRail = recessSideRail, + boxWidth = boxWidth, + boxHeight = boxHeight, + boxDepth = boxDepth, + railDefaultThickness = railDefaultThickness, + railSideThickness = railSideThickness, + frontPlateThickness = frontPlateThickness, + frontPlateCutoutYSpace = frontPlateCutoutYSpace, + frontPlateCutoutXSpace = frontPlateCutoutXSpace ) { + // Rest of your code remains the same leftRailTrans = identity; rightRailTrans = visualize ? translate(v = [boxWidth, 0, 0])*mirror(v = [1, 0, 0]) diff --git a/rack-mount/patch-panel/entry.scad b/rack-mount/patch-panel/entry.scad index b164dce..ffa5818 100644 --- a/rack-mount/patch-panel/entry.scad +++ b/rack-mount/patch-panel/entry.scad @@ -8,17 +8,21 @@ use <./patchPanel.scad> TODO add support for 2d arrays */ -module patchPanelSystem ( - -// begin config //////////////////////////////////////////////////////////////////////////////////////////////////////// - -numSlots = 8, -plateThickness = 3, -keystoneSpacing = 19, -center = false - -// end config ////////////////////////////////////////////////////////////////////////////////////////////////////////// +/* [Patch Panel Settings] */ +// Number of keystone slots +numSlots = 8; // [1:1:24] +// Thickness of the panel plate +plateThickness = 3; // [1:0.5:5] +// Spacing between keystones +keystoneSpacing = 19; // [15:0.5:25] +// Center the panel +center = false; // [true,false] +module patchPanelSystem ( + numSlots = numSlots, + plateThickness = plateThickness, + keystoneSpacing = keystoneSpacing, + center = center ) { mirror(v = [0, 0, 1]) patchPanel(slots = numSlots, center=center); diff --git a/rack-mount/tray/entry.scad b/rack-mount/tray/entry.scad index e8f90a2..51fd36b 100644 --- a/rack-mount/tray/entry.scad +++ b/rack-mount/tray/entry.scad @@ -8,43 +8,77 @@ use <./tray.scad> !!! Please also make sure that the correct rack frame preset is set in rackFrame.scad !!! */ -module traySystem ( +/* [Tray Basic Dimensions] */ +// Height of the tray in rack units (U) +trayU = 2; // [1:0.5:4] -// begin config //////////////////////////////////////////////////////////////////////////////////////////////////////// +// Total base width including padding (mm) +baseWidth = 145; // [100:1:200] -trayU = 2, +// Total depth of the tray (mm) +baseDepth = 100; // [50:1:300] -// these dimensions are the total base width including padding not usable space. -// e.g. 145 baseWidth and 3 sideThickness = 145-(3*2) = 139mm useable space. -baseWidth = 145, -baseDepth = 100, +/* [Thickness Settings] */ +// Thickness of tray bottom (mm) +baseThickness = 3; // [1:0.5:5] -baseThickness = 3, // tray bottom thickness -frontThickness = 3, // front plate thickness -sideThickness = 3, +// Thickness of front plate (mm) +frontThickness = 3; // [1:0.5:5] -backLipHeight = 2, -frontLipHeight = 2, +// Thickness of side walls (mm) +sideThickness = 3; // [1:0.5:5] -sideSupport = true, -trayLeftPadding = 10, // extra space between the left rail and tray. configure this to move the tray left/right. +/* [Lip Settings] */ +// Height of back lip (mm) +backLipHeight = 2; // [0:0.5:10] -mountPointType = "m3", -mountPointElevation = 1, // basically standoff height +// Height of front lip (mm) +frontLipHeight = 2; // [0:0.5:10] -// add/config standoff coordinates here. Format is [[x,y]] -mountPoints = [ - [30,10], - [30+75,10], - [30,10+75], - [30+75,10+75], -] +/* [Support Settings] */ +// Enable side support +sideSupport = true; -// end config ////////////////////////////////////////////////////////////////////////////////////////////////////////// +// Extra space between left rail and tray (mm) +trayLeftPadding = 10; // [0:1:50] -) { +/* [Mount Point Settings] */ +// Type of mounting holes +mountPointType = "m3"; // [m3:M3, m4:M4, m5:M5] - bottomScrewTray ( +// Standoff height for mounting points (mm) +mountPointElevation = 1; // [0:0.5:5] + +/* [Mount Points] */ +// Enable mount points +enableMountPoints = true; +// First mount point X coordinate +mp1x = 30; // [0:1:200] +// First mount point Y coordinate +mp1y = 10; // [0:1:200] +// Second mount point X coordinate +mp2x = 105; // [0:1:200] +// Second mount point Y coordinate +mp2y = 10; // [0:1:200] +// Third mount point X coordinate +mp3x = 30; // [0:1:200] +// Third mount point Y coordinate +mp3y = 85; // [0:1:200] +// Fourth mount point X coordinate +mp4x = 105; // [0:1:200] +// Fourth mount point Y coordinate +mp4y = 85; // [0:1:200] + +// Mount point coordinates +mountPoints = enableMountPoints ? [ + [mp1x, mp1y], + [mp2x, mp2y], + [mp3x, mp3y], + [mp4x, mp4y], +] : []; + +module traySystem() { + bottomScrewTray( u = trayU, trayWidth = baseWidth, trayDepth = baseDepth,