120mm Fan Tray + 3 mini pc trays (#18)
Add 120mm Fan Tray + 3 mini pc trays NOT COMPATIBLE WITH NANO PROFILE The Fan tray and Mini PC trays in this pull request are only compatible with the Micro and Mini rackstack profiles.
This commit is contained in:
committed by
GitHub
parent
c1c93a3dd5
commit
3ea9bda2da
57
rack-mount/catalog/120mm-fan-tray_mod.scad
Normal file
57
rack-mount/catalog/120mm-fan-tray_mod.scad
Normal file
@ -0,0 +1,57 @@
|
||||
use <../tray/tray.scad>
|
||||
|
||||
/*
|
||||
Simple tray for a 120mm Case Fan.
|
||||
Not compatible with nano rack configuration.
|
||||
|
||||
Please make sure to configure the correct rack frame dimensions in rackFrame.scad.
|
||||
*/
|
||||
|
||||
|
||||
difference () {
|
||||
bottomScrewTray (
|
||||
u = 2,
|
||||
trayWidth = 140,
|
||||
trayDepth = 140,
|
||||
trayThickness = 3,
|
||||
frontLipHeight = 26,
|
||||
backLipHeight = 6,
|
||||
mountPoints = [[15, 15], [15+105, 15],[15, 15+105], [15+105, 15+105]],
|
||||
frontThickness = 3,
|
||||
sideThickness = 3,
|
||||
mountPointElevation = 1,
|
||||
mountPointType = "m4",
|
||||
sideSupport = true,
|
||||
trayLeftPadding = 15
|
||||
);
|
||||
|
||||
// Center Cutout
|
||||
translate(v=[67.5, 67.5, -50])
|
||||
rotate(a=[90,0,0])
|
||||
rotate(a=[0,90,90])
|
||||
cylinder(h=60, r1=60, r2=60, $fn=75);
|
||||
|
||||
// fan screw hole 1
|
||||
translate(v=[15, 15, -5])
|
||||
rotate(a=[90,0,0])
|
||||
rotate(a=[0,90,90])
|
||||
cylinder(h=15.5, r1=2.5, r2=2.5, $fn=25);
|
||||
|
||||
// fan screw hole 2
|
||||
translate(v=[15+105, 15, -5])
|
||||
rotate(a=[90,0,0])
|
||||
rotate(a=[0,90,90])
|
||||
cylinder(h=15.5, r1=2.5, r2=2.5, $fn=25);
|
||||
|
||||
// fan screw hole 3
|
||||
translate(v=[15+105, 15+105, -5])
|
||||
rotate(a=[90,0,0])
|
||||
rotate(a=[0,90,90])
|
||||
cylinder(h=15.5, r1=2.5, r2=2.5, $fn=25);
|
||||
|
||||
// fan screw hole 4
|
||||
translate(v=[15, 15+105, -5])
|
||||
rotate(a=[90,0,0])
|
||||
rotate(a=[0,90,90])
|
||||
cylinder(h=15.5, r1=2.5, r2=2.5, $fn=25);
|
||||
}
|
||||
143
rack-mount/catalog/Minisforum_NAB9-tray_mod.scad
Normal file
143
rack-mount/catalog/Minisforum_NAB9-tray_mod.scad
Normal file
@ -0,0 +1,143 @@
|
||||
use <../tray/tray.scad>
|
||||
|
||||
/*
|
||||
Simple tray for a MinisForum NAB9 mini PC.
|
||||
Not compatible with nano rack configuration.
|
||||
|
||||
Please make sure to configure the correct rack frame dimensions in rackFrame.scad.
|
||||
*/
|
||||
|
||||
difference () {
|
||||
bottomScrewTray (
|
||||
u = 5,
|
||||
trayWidth = 140,
|
||||
trayDepth = 140,
|
||||
trayThickness = 3,
|
||||
frontLipHeight = 3,
|
||||
backLipHeight = 5,
|
||||
mountPoints = [[20, 70], [20+95.25, 70]],
|
||||
frontThickness = 3,
|
||||
sideThickness = 3,
|
||||
mountPointElevation = 1,
|
||||
mountPointType = "m4",
|
||||
sideSupport = true,
|
||||
trayLeftPadding = 15
|
||||
);
|
||||
|
||||
// Side perforations for airflow
|
||||
translate(v=[-4, 5, 18]) {
|
||||
rotate(a=[0,90,0])
|
||||
rotate(a=[0,0,45])
|
||||
cube(size=[18, 18, 155]);
|
||||
|
||||
translate(v=[0, 28, -04])
|
||||
rotate(a=[0,90,0])
|
||||
rotate(a=[0,0,45])
|
||||
cube(size=[12,12,150]);
|
||||
|
||||
translate(v=[0, 48, -06.5])
|
||||
rotate(a=[0,90,0])
|
||||
rotate(a=[0,0,45])
|
||||
cube(size=[8,8,150]);
|
||||
|
||||
|
||||
// Bottom perforations for airflow
|
||||
// Front Right Cube
|
||||
translate(v=[60, 40, -50])
|
||||
rotate(a=[90,0,0])
|
||||
rotate(a=[0,90,90])
|
||||
cube(size=[12,12,135]);
|
||||
|
||||
// Front Center Cube
|
||||
translate(v=[80, 35, -50])
|
||||
rotate(a=[90,0,45])
|
||||
rotate(a=[0,90,90])
|
||||
cube(size=[12,12,135]);
|
||||
|
||||
// Front Left Cube
|
||||
translate(v=[95, 40, -50])
|
||||
rotate(a=[90,0,0])
|
||||
rotate(a=[0,90,90])
|
||||
cube(size=[12,12,135]);
|
||||
|
||||
// Center Right Cube
|
||||
translate(v=[50.5, 65, -50])
|
||||
rotate(a=[90,0,45])
|
||||
rotate(a=[0,90,90])
|
||||
cube(size=[12,12,135]);
|
||||
|
||||
// Center Left Cube
|
||||
translate(v=[110, 65, -50])
|
||||
rotate(a=[90,0,45])
|
||||
rotate(a=[0,90,90])
|
||||
cube(size=[12,12,135]);
|
||||
|
||||
// Rear Left Cube
|
||||
translate(v=[60, 75, -50])
|
||||
rotate(a=[90,0,0])
|
||||
rotate(a=[0,90,90])
|
||||
cube(size=[12,12,135]);
|
||||
|
||||
// Rear Center Cube
|
||||
translate(v=[80, 92, -50])
|
||||
rotate(a=[90,0,45])
|
||||
rotate(a=[0,90,90])
|
||||
cube(size=[12,12,135]);
|
||||
|
||||
// Rear Right Cube
|
||||
translate(v=[96, 75, -50])
|
||||
rotate(a=[90,0,0])
|
||||
rotate(a=[0,90,90])
|
||||
cube(size=[12,12,135]);
|
||||
|
||||
// Far Rear Right Cube
|
||||
translate(v=[100, 110, -50])
|
||||
rotate(a=[90,0,0])
|
||||
rotate(a=[0,90,90])
|
||||
cube(size=[12,25,135]);
|
||||
|
||||
// Far Rear Left Cube
|
||||
translate(v=[67.5, 110, -50])
|
||||
rotate(a=[90,0,0])
|
||||
rotate(a=[0,90,90])
|
||||
cube(size=[12,25,135]);
|
||||
|
||||
// Far Front Right Cube
|
||||
translate(v=[100, 3, -50])
|
||||
rotate(a=[90,0,0])
|
||||
rotate(a=[0,90,90])
|
||||
cube(size=[12,25,135]);
|
||||
|
||||
// Far Front Left Cube
|
||||
translate(v=[67.5, 3, -50])
|
||||
rotate(a=[90,0,0])
|
||||
rotate(a=[0,90,90])
|
||||
cube(size=[12,25,135]);
|
||||
|
||||
// Side Front Right Cube
|
||||
translate(v=[125, 25, -50])
|
||||
rotate(a=[90,0,0])
|
||||
rotate(a=[0,90,90])
|
||||
cube(size=[25,12,135]);
|
||||
|
||||
// Side Front Left Cube
|
||||
translate(v=[30, 25, -50])
|
||||
rotate(a=[90,0,0])
|
||||
rotate(a=[0,90,90])
|
||||
cube(size=[25,12,135]);
|
||||
|
||||
// Side Rear Right Cube
|
||||
translate(v=[125, 80, -50])
|
||||
rotate(a=[90,0,0])
|
||||
rotate(a=[0,90,90])
|
||||
cube(size=[25,12,135]);
|
||||
|
||||
// Side Rear Left Cube
|
||||
translate(v=[30, 80, -50])
|
||||
rotate(a=[90,0,0])
|
||||
rotate(a=[0,90,90])
|
||||
cube(size=[25,12,135]);
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
143
rack-mount/catalog/Minisforum_UM890PRO-tray_mod.scad
Normal file
143
rack-mount/catalog/Minisforum_UM890PRO-tray_mod.scad
Normal file
@ -0,0 +1,143 @@
|
||||
use <../tray/tray.scad>
|
||||
|
||||
/*
|
||||
Simple tray for a MinisForum UM890 PRO mini pc.
|
||||
Not compatible with nano rack configuration.
|
||||
|
||||
Please make sure to configure the correct rack frame dimensions in rackFrame.scad.
|
||||
*/
|
||||
|
||||
difference () {
|
||||
bottomScrewTray (
|
||||
u = 6,
|
||||
trayWidth = 140,
|
||||
trayDepth = 140,
|
||||
trayThickness = 3,
|
||||
frontLipHeight = 3,
|
||||
backLipHeight = 5,
|
||||
mountPoints = [[67.5, 115], [67.5, 115-95.25]],
|
||||
frontThickness = 3,
|
||||
sideThickness = 3,
|
||||
mountPointElevation = 1,
|
||||
mountPointType = "m4",
|
||||
sideSupport = true,
|
||||
trayLeftPadding = 15
|
||||
);
|
||||
|
||||
// Side perforations for airflow
|
||||
translate(v=[-4, 5, 25]) {
|
||||
rotate(a=[0,90,0])
|
||||
rotate(a=[0,0,45])
|
||||
cube(size=[25, 25, 155]);
|
||||
|
||||
|
||||
translate(v=[0, 38.25, -08])
|
||||
rotate(a=[0,90,0])
|
||||
rotate(a=[0,0,45])
|
||||
cube(size=[15,15,150]);
|
||||
|
||||
translate(v=[0, 65, -12])
|
||||
rotate(a=[0,90,0])
|
||||
rotate(a=[0,0,45])
|
||||
cube(size=[10,10,150]);
|
||||
|
||||
// Bottom perforations for airflow
|
||||
// Front Right Cube
|
||||
translate(v=[60, 40, -50])
|
||||
rotate(a=[90,0,0])
|
||||
rotate(a=[0,90,90])
|
||||
cube(size=[12,12,135]);
|
||||
|
||||
// Front Center Cube
|
||||
translate(v=[80, 35, -50])
|
||||
rotate(a=[90,0,45])
|
||||
rotate(a=[0,90,90])
|
||||
cube(size=[12,12,135]);
|
||||
|
||||
// Front Left Cube
|
||||
translate(v=[95, 40, -50])
|
||||
rotate(a=[90,0,0])
|
||||
rotate(a=[0,90,90])
|
||||
cube(size=[12,12,135]);
|
||||
|
||||
// Center Right Cube
|
||||
translate(v=[50.5, 65, -50])
|
||||
rotate(a=[90,0,45])
|
||||
rotate(a=[0,90,90])
|
||||
cube(size=[12,12,135]);
|
||||
|
||||
// Center Left Cube
|
||||
translate(v=[110, 65, -50])
|
||||
rotate(a=[90,0,45])
|
||||
rotate(a=[0,90,90])
|
||||
cube(size=[12,12,135]);
|
||||
|
||||
// Rear Left Cube
|
||||
translate(v=[60, 75, -50])
|
||||
rotate(a=[90,0,0])
|
||||
rotate(a=[0,90,90])
|
||||
cube(size=[12,12,135]);
|
||||
|
||||
// Rear Center Cube
|
||||
translate(v=[80, 92, -50])
|
||||
rotate(a=[90,0,45])
|
||||
rotate(a=[0,90,90])
|
||||
cube(size=[12,12,135]);
|
||||
|
||||
// Rear Right Cube
|
||||
translate(v=[96, 75, -50])
|
||||
rotate(a=[90,0,0])
|
||||
rotate(a=[0,90,90])
|
||||
cube(size=[12,12,135]);
|
||||
|
||||
// Far Rear Right Cube
|
||||
translate(v=[110, 110, -50])
|
||||
rotate(a=[90,0,0])
|
||||
rotate(a=[0,90,90])
|
||||
cube(size=[12,25,135]);
|
||||
|
||||
// Far Rear Left Cube
|
||||
translate(v=[57.5, 110, -50])
|
||||
rotate(a=[90,0,0])
|
||||
rotate(a=[0,90,90])
|
||||
cube(size=[12,25,135]);
|
||||
|
||||
// Far Front Right Cube
|
||||
translate(v=[110, 3, -50])
|
||||
rotate(a=[90,0,0])
|
||||
rotate(a=[0,90,90])
|
||||
cube(size=[12,25,135]);
|
||||
|
||||
// Far Front Left Cube
|
||||
translate(v=[57.5, 3, -50])
|
||||
rotate(a=[90,0,0])
|
||||
rotate(a=[0,90,90])
|
||||
cube(size=[12,25,135]);
|
||||
|
||||
// Side Front Right Cube
|
||||
translate(v=[125, 25, -50])
|
||||
rotate(a=[90,0,0])
|
||||
rotate(a=[0,90,90])
|
||||
cube(size=[25,12,135]);
|
||||
|
||||
// Side Front Left Cube
|
||||
translate(v=[30, 25, -50])
|
||||
rotate(a=[90,0,0])
|
||||
rotate(a=[0,90,90])
|
||||
cube(size=[25,12,135]);
|
||||
|
||||
// Side Rear Right Cube
|
||||
translate(v=[125, 80, -50])
|
||||
rotate(a=[90,0,0])
|
||||
rotate(a=[0,90,90])
|
||||
cube(size=[25,12,135]);
|
||||
|
||||
// Side Rear Left Cube
|
||||
translate(v=[30, 80, -50])
|
||||
rotate(a=[90,0,0])
|
||||
rotate(a=[0,90,90])
|
||||
cube(size=[25,12,135]);
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
@ -3,4 +3,3 @@
|
||||
A hodgepodge of various pre-configured rack mount parts.
|
||||
|
||||
Please feel free to submit a pull request for any new parts you end up creating! Code quality is no object here.
|
||||
|
||||
|
||||
142
rack-mount/catalog/beelink-EQi12-tray_mod.scad
Normal file
142
rack-mount/catalog/beelink-EQi12-tray_mod.scad
Normal file
@ -0,0 +1,142 @@
|
||||
use <../tray/tray.scad>
|
||||
|
||||
/*
|
||||
Simple tray for a beelink mini-s series mini pc.
|
||||
|
||||
Please make sure to configure the correct rack frame dimensions in rackFrame.scad.
|
||||
*/
|
||||
|
||||
difference () {
|
||||
bottomScrewTray (
|
||||
u = 5,
|
||||
trayWidth = 140,
|
||||
trayDepth = 140,
|
||||
trayThickness = 3,
|
||||
frontLipHeight = 3,
|
||||
backLipHeight = 5,
|
||||
frontThickness = 3,
|
||||
sideThickness = 3,
|
||||
mountPointElevation = 1,
|
||||
mountPointType = "m4",
|
||||
sideSupport = true,
|
||||
trayLeftPadding = 15
|
||||
);
|
||||
|
||||
|
||||
// Side perforations for airflow
|
||||
translate(v=[-4, 5, 18]) {
|
||||
rotate(a=[0,90,0])
|
||||
rotate(a=[0,0,45])
|
||||
cube(size=[18, 18, 155]);
|
||||
|
||||
translate(v=[0, 28, -04])
|
||||
rotate(a=[0,90,0])
|
||||
rotate(a=[0,0,45])
|
||||
cube(size=[12,12,150]);
|
||||
|
||||
translate(v=[0, 48, -06.5])
|
||||
rotate(a=[0,90,0])
|
||||
rotate(a=[0,0,45])
|
||||
cube(size=[8,8,150]);
|
||||
|
||||
|
||||
// Bottom perforations for airflow
|
||||
// Front Right Cube
|
||||
translate(v=[60, 40, -50])
|
||||
rotate(a=[90,0,0])
|
||||
rotate(a=[0,90,90])
|
||||
cube(size=[12,12,135]);
|
||||
|
||||
// Front Center Cube
|
||||
translate(v=[80, 35, -50])
|
||||
rotate(a=[90,0,45])
|
||||
rotate(a=[0,90,90])
|
||||
cube(size=[12,12,135]);
|
||||
|
||||
// Front Left Cube
|
||||
translate(v=[95, 40, -50])
|
||||
rotate(a=[90,0,0])
|
||||
rotate(a=[0,90,90])
|
||||
cube(size=[12,12,135]);
|
||||
|
||||
// Center Right Cube
|
||||
translate(v=[50.5, 65, -50])
|
||||
rotate(a=[90,0,45])
|
||||
rotate(a=[0,90,90])
|
||||
cube(size=[12,12,135]);
|
||||
|
||||
// Center Left Cube
|
||||
translate(v=[110, 65, -50])
|
||||
rotate(a=[90,0,45])
|
||||
rotate(a=[0,90,90])
|
||||
cube(size=[12,12,135]);
|
||||
|
||||
// Rear Left Cube
|
||||
translate(v=[60, 75, -50])
|
||||
rotate(a=[90,0,0])
|
||||
rotate(a=[0,90,90])
|
||||
cube(size=[12,12,135]);
|
||||
|
||||
// Rear Center Cube
|
||||
translate(v=[80, 92, -50])
|
||||
rotate(a=[90,0,45])
|
||||
rotate(a=[0,90,90])
|
||||
cube(size=[12,12,135]);
|
||||
|
||||
// Rear Right Cube
|
||||
translate(v=[96, 75, -50])
|
||||
rotate(a=[90,0,0])
|
||||
rotate(a=[0,90,90])
|
||||
cube(size=[12,12,135]);
|
||||
|
||||
// Far Rear Right Cube
|
||||
translate(v=[100, 110, -50])
|
||||
rotate(a=[90,0,0])
|
||||
rotate(a=[0,90,90])
|
||||
cube(size=[12,25,135]);
|
||||
|
||||
// Far Rear Left Cube
|
||||
translate(v=[67.5, 110, -50])
|
||||
rotate(a=[90,0,0])
|
||||
rotate(a=[0,90,90])
|
||||
cube(size=[12,25,135]);
|
||||
|
||||
// Far Front Right Cube
|
||||
translate(v=[100, 3, -50])
|
||||
rotate(a=[90,0,0])
|
||||
rotate(a=[0,90,90])
|
||||
cube(size=[12,25,135]);
|
||||
|
||||
// Far Front Left Cube
|
||||
translate(v=[67.5, 3, -50])
|
||||
rotate(a=[90,0,0])
|
||||
rotate(a=[0,90,90])
|
||||
cube(size=[12,25,135]);
|
||||
|
||||
// Side Front Right Cube
|
||||
translate(v=[125, 25, -50])
|
||||
rotate(a=[90,0,0])
|
||||
rotate(a=[0,90,90])
|
||||
cube(size=[25,12,135]);
|
||||
|
||||
// Side Front Left Cube
|
||||
translate(v=[30, 25, -50])
|
||||
rotate(a=[90,0,0])
|
||||
rotate(a=[0,90,90])
|
||||
cube(size=[25,12,135]);
|
||||
|
||||
// Side Rear Right Cube
|
||||
translate(v=[125, 80, -50])
|
||||
rotate(a=[90,0,0])
|
||||
rotate(a=[0,90,90])
|
||||
cube(size=[25,12,135]);
|
||||
|
||||
// Side Rear Left Cube
|
||||
translate(v=[30, 80, -50])
|
||||
rotate(a=[90,0,0])
|
||||
rotate(a=[0,90,90])
|
||||
cube(size=[25,12,135]);
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user