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.
|
- [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.
|
- [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.
|
- [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
|
## 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"]
|
zOrientation = "middle", // ["middle" | "bottom"]
|
||||||
recessSideRail = false,
|
recessSideRail = false,
|
||||||
|
|
||||||
boxWidth = 200,
|
boxWidth = 160,
|
||||||
boxHeight = 27,
|
boxHeight = 27,
|
||||||
boxDepth = 120,
|
boxDepth = 120,
|
||||||
|
|
||||||
|
|||||||
@ -4,7 +4,7 @@ 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;
|
mountBlockDepth = 10;
|
||||||
screwMountGlobalDz = screwDiff / 2.0; // vertical distance between local origin and main rail screw mount
|
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]);
|
cube(size = [sideRailBaseWidth, railLength, railBaseThickness]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if (sideVent) {
|
||||||
union() {
|
union() {
|
||||||
distanceFromSeparator = 3;
|
distanceFromSeparator = 3;
|
||||||
r = 4;
|
r = 4;
|
||||||
@ -138,6 +138,7 @@ module sideSupportRailBase(top=true, recess=false, supportedZ, supportedY, suppo
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||