add angle bracket mounting system
@ -95,6 +95,7 @@ are currently supported:
|
||||
- [Enclosed Box](./rack-mount/enclosed-box): For mounting box-shaped objects, without the need for any mounting holes on the box.
|
||||
- [Tray](./rack-mount/tray): Simple tray mounted using only the front rails. Can be configured to have screw mounts at the bottom of the tray.
|
||||
- [Patch Panel](./rack-mount/patch-panel): Linear patch panel array. Number of keystone slots can be configured.
|
||||
- [Angle Brackets](./rack-mount/angle-bracket): Simple Angle Bracket mounting system. Derived from the Enclosed Box system.
|
||||
|
||||
## Rack Mount Catalog
|
||||
|
||||
|
||||
|
Before Width: | Height: | Size: 16 KiB After Width: | Height: | Size: 16 KiB |
|
Before Width: | Height: | Size: 166 KiB After Width: | Height: | Size: 166 KiB |
|
Before Width: | Height: | Size: 111 KiB After Width: | Height: | Size: 111 KiB |
|
Before Width: | Height: | Size: 112 KiB After Width: | Height: | Size: 112 KiB |
|
Before Width: | Height: | Size: 116 KiB After Width: | Height: | Size: 116 KiB |
|
Before Width: | Height: | Size: 108 KiB After Width: | Height: | Size: 108 KiB |
|
Before Width: | Height: | Size: 155 KiB After Width: | Height: | Size: 155 KiB |
|
Before Width: | Height: | Size: 46 KiB After Width: | Height: | Size: 46 KiB |
|
Before Width: | Height: | Size: 31 KiB After Width: | Height: | Size: 32 KiB |
|
Before Width: | Height: | Size: 73 KiB After Width: | Height: | Size: 73 KiB |
7
rack-mount/angle-bracket/README.md
Normal file
@ -0,0 +1,7 @@
|
||||
|
||||
# Angle Bracket System
|
||||
|
||||
|
||||

|
||||
|
||||
Please see [entry.scad](./entry.scad) for config and building. Make sure the correct rack profile is configured in [rackFrame.scad](../../config/rackFrame.scad).
|
||||
BIN
rack-mount/angle-bracket/animate.gif
Normal file
|
After Width: | Height: | Size: 94 KiB |
24
rack-mount/angle-bracket/animate.scad
Normal file
@ -0,0 +1,24 @@
|
||||
use <./entry.scad>
|
||||
|
||||
$vpt = [120,-30,63];
|
||||
$vpr = [74,0,25];
|
||||
$vpd = 550;
|
||||
$vpf = 22.50;
|
||||
|
||||
animateAngleBrackets(at=$t);
|
||||
|
||||
|
||||
module animateAngleBrackets(at=$t) {
|
||||
|
||||
x = 150;
|
||||
y = 70;
|
||||
dx = abs(lerp(a=-20, b=20, t=at));
|
||||
dy = abs(lerp(a=-50, b=50, t=at));
|
||||
|
||||
u = abs(at - 0.5) > 0.25 ? 3 : 4;
|
||||
|
||||
angleBrackets(visualize=true, boxWidth=x+dx, boxDepth=y+dy, u=u);
|
||||
|
||||
}
|
||||
|
||||
|
||||
36
rack-mount/angle-bracket/entry.scad
Normal file
@ -0,0 +1,36 @@
|
||||
include <../common.scad>
|
||||
|
||||
use <../enclosed-box/sideRail.scad>
|
||||
|
||||
|
||||
/*
|
||||
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,
|
||||
|
||||
|
||||
thickness = 3,
|
||||
boxWidth = 160,
|
||||
boxDepth = 120,
|
||||
sideVent = false,
|
||||
u = 3
|
||||
|
||||
// end config //////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
) {
|
||||
|
||||
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();
|
||||
|
Before Width: | Height: | Size: 173 KiB After Width: | Height: | Size: 173 KiB |
@ -21,7 +21,7 @@ visualize = false,
|
||||
zOrientation = "middle", // ["middle" | "bottom"]
|
||||
recessSideRail = false,
|
||||
|
||||
boxWidth = 200,
|
||||
boxWidth = 160,
|
||||
boxHeight = 27,
|
||||
boxDepth = 120,
|
||||
|
||||
|
||||
@ -1,10 +1,10 @@
|
||||
include <../common.scad>
|
||||
include <./helper.scad>
|
||||
|
||||
//sideSupportRailBase(top=true, defaultThickness=1.5, supportedZ=27.2, supportedY=101.5, supportedX=159);
|
||||
// sideSupportRailBase(top=true, defaultThickness=1.5, supportedZ=27.2, supportedY=101.5, supportedX=159);
|
||||
|
||||
|
||||
module sideSupportRailBase(top=true, recess=false, supportedZ, supportedY, supportedX, zOrientation="middle", defaultThickness=2, railSideThickness=4) {
|
||||
module sideSupportRailBase(top=true, recess=false, supportedZ, supportedY, supportedX, zOrientation="middle", defaultThickness=2, railSideThickness=4, sideVent=true) {
|
||||
|
||||
mountBlockDepth = 10;
|
||||
screwMountGlobalDz = screwDiff / 2.0; // vertical distance between local origin and main rail screw mount
|
||||
@ -99,7 +99,7 @@ module sideSupportRailBase(top=true, recess=false, supportedZ, supportedY, suppo
|
||||
cube(size = [sideRailBaseWidth, railLength, railBaseThickness]);
|
||||
}
|
||||
}
|
||||
|
||||
if (sideVent) {
|
||||
union() {
|
||||
distanceFromSeparator = 3;
|
||||
r = 4;
|
||||
@ -138,6 +138,7 @@ module sideSupportRailBase(top=true, recess=false, supportedZ, supportedY, suppo
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||