Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
55 changes: 31 additions & 24 deletions rack-mount/angle-bracket/entry.scad
Original file line number Diff line number Diff line change
Expand Up @@ -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();
62 changes: 42 additions & 20 deletions rack-mount/enclosed-box/entry.scad
Original file line number Diff line number Diff line change
Expand Up @@ -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])
Expand Down
24 changes: 14 additions & 10 deletions rack-mount/patch-panel/entry.scad
Original file line number Diff line number Diff line change
Expand Up @@ -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);
Expand Down
86 changes: 60 additions & 26 deletions rack-mount/tray/entry.scad
Original file line number Diff line number Diff line change
Expand Up @@ -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,
Expand Down