Files
rackstack/rack-mount/catalog/Unifi-8-PoE-Switch_Tray+Adapter.scad
George Luetkemeyer caa7073d2f Add new catalog items (#39)
120mm Rear Case Fan - Designed to be mounted on the rear face of the rack, with the case holding the fan on the exterior of the rack rather than the interior.

Beelink EQi12 Box - I originally created a Tray for the EQi12, but with it's lack of mounting points the device would shift. This box is the same as the enclosed box, however with the specific measurements of the EQi12.

Unifi 8 port PoE Switch - I originally intended to use the Enclosed Box for this, however due to the bevels on every corner of this device, the box was unable to secure the switch. Instead, I created a custom mounting adapter to latch the switch to a tray, which is much easier to print and with less filament overall.
2025-03-17 23:20:47 -04:00

169 lines
4.4 KiB
OpenSCAD

use <../tray/tray.scad>
/*
Simple tray for a Unifi Lite 8PoE Switch.
Included mounting adapter, mounting adapter seats two M3 Hex nuts using two M3x8 screws.
DO NOT USE INCLUDED SCREWS FROM UNIFI, this will damage the switch.
Please make sure to configure the correct rack frame dimensions in rackFrame.scad.
*/
///////////////////////////////////////
/////////// MOUNTING TRAY ////////////
/////////////////////////////////////
difference () {
bottomScrewTray (
u = 3,
trayWidth = 175,
trayDepth = 110,
trayThickness = 3,
frontLipHeight = 7.5,
backLipHeight = 7.5,
mountPoints = [[54, 40], [54+60.325, 40]],
frontThickness = 3,
sideThickness = 3,
mountPointElevation = 1,
mountPointType = "m3",
sideSupport = true,
trayLeftPadding = 2.5
);
// Front Center Cube
translate(v=[87.5, 20, -50])
rotate(a=[90,0,45])
rotate(a=[0,90,90])
cube(size=[12,12,135]);
// Center Right Cube
translate(v=[58, 50, -50])
rotate(a=[90,0,45])
rotate(a=[0,90,90])
cube(size=[12,12,135]);
// Center Left Cube
translate(v=[117.5, 50, -50])
rotate(a=[90,0,45])
rotate(a=[0,90,90])
cube(size=[12,12,135]);
// Rear Left Cube
translate(v=[67.5, 60, -50])
rotate(a=[90,0,0])
rotate(a=[0,90,90])
cube(size=[12,12,135]);
// Rear Center Cube
translate(v=[87.5, 77, -50])
rotate(a=[90,0,45])
rotate(a=[0,90,90])
cube(size=[12,12,135]);
// Rear Right Cube
translate(v=[103.5, 60, -50])
rotate(a=[90,0,0])
rotate(a=[0,90,90])
cube(size=[12,12,135]);
// Side Front Right Cube
translate(v=[132.5, 10, -50])
rotate(a=[90,0,0])
rotate(a=[0,90,90])
cube(size=[25,12,135]);
// Side Front Left Cube
translate(v=[37.5, 10, -50])
rotate(a=[90,0,0])
rotate(a=[0,90,90])
cube(size=[25,12,135]);
// Side Rear Right Cube
translate(v=[132.5, 65, -50])
rotate(a=[90,0,0])
rotate(a=[0,90,90])
cube(size=[25,12,135]);
// Side Rear Left Cube
translate(v=[38.5, 65, -50])
rotate(a=[90,0,0])
rotate(a=[0,90,90])
cube(size=[25,12,135]);
}
///////////////////////////////////////
////////// MOUNTING ADAPTER //////////
/////////////////////////////////////
// Seat Teeth
translate (v= [0,1.5,0.1,]){
translate(v=[54.25 + 15 -1.25, 5.5 + 13.51875, 10+2.25]) {
cube(size=[1.5875, 6.5, 1.5875]);
}
translate(v=[54.25 + 20 -1.25, 5.5 + 13.51875, 10+2.25]) {
cube(size=[1.5875, 6.5, 1.5875]);
}
translate(v=[54.25 + 25 -1.25, 5.5 + 13.51875, 10+2.25]) {
cube(size=[1.5875, 6.5, 1.5875]);
}
translate(v=[54.25 + 15 -1.25 + 22, 5.5 + 13.51875, 10+2.25]) {
cube(size=[1.5875, 6.5, 1.5875]);
}
translate(v=[54.25 + 20 -1.25 + 22, 5.5 + 13.51875, 10+2.25]) {
cube(size=[1.5875, 6.5, 1.5875]);
}
translate(v=[54.25 + 25 -1.25 + 22, 5.5 + 13.51875, 10+2.25]) {
cube(size=[1.5875, 6.5, 1.5875]);
}
}
// Seat Key
difference () {
translate(v=[54.25, 5.5 + 13.51875, 10+3.175]) {
cube(size=[59.53125, 9.5, 1.5875]);
}
translate(v=[45 + 38.89375, 19, 12]) {
cube(size=[1.5875, 10, 4.7625]);
}
}
// Body
difference () {
translate(v=[45, 28.5, 9 + 0.5125]) {
cube(size=[77.7875, 23.01875, 5.7625 - 0.5125]);
}
// Cut aways
translate(v=[45, 22, 0]) {
rotate(a=[0,0,45]){
translate(v=[-.25, -.25, 9]) {
cube(size=[9.7525, 9.7525, 10]);
}
}
}
translate(v=[45+ 77.7875, 22, 0]) {
rotate(a=[0,0,45]){
translate(v=[-.25, -.25, 9]) {
cube(size=[9.7525, 9.7525, 10]);
}
}
}
// Screw holes
translate(v=[54, 40, -10]) {
cylinder(h=65, r1=1.65, r2=1.65, $fn=25);
}
translate(v=[54+60.325, 40, -10]) {
cylinder(h=65, r1=1.65, r2=1.65, $fn=25);
}
translate(v=[54+60.325, 40, 12]) {
cylinder(h=65, r1=3.25, r2=3.25, $fn=6);
}
translate(v=[54, 40, 12]) {
cylinder(h=65, r1=3.25, r2=3.25, $fn=6);
}
}