85 lines
3.4 KiB
OpenSCAD
85 lines
3.4 KiB
OpenSCAD
$fn=60;
|
|
|
|
include <BOSL2/std.scad>;
|
|
include <honeycomb.scad>;
|
|
include <nutsnbolts/cyl_head_bolt.scad>;
|
|
include <fan_holder_v2.scad>
|
|
|
|
base_length=100;
|
|
base_width=20;
|
|
base_height=15;
|
|
|
|
module screw() {
|
|
nutcatch_parallel("M3", clh=0.1);
|
|
translate([0,0,23]) hole_through(name="M3", l=16, cld=0.1, h=10, hcld=0.4);
|
|
*nutcatch_sidecut("M3", l=20, clk=0.1, clh=0.1, clsl=0.1);
|
|
}
|
|
|
|
module pcie_mount() {
|
|
color("cyan") difference() {
|
|
union() {
|
|
// Base
|
|
cuboid([base_length,base_width,base_height], rounding=2, edges=[FWD+RIGHT,FWD+LEFT,BACK+RIGHT,BACK+LEFT], anchor=TOP);
|
|
translate([0,-10,-5]) cuboid([80,4,50], rounding=40, edges=[TOP+RIGHT,TOP+LEFT,], anchor=BOT+FRONT);
|
|
// Front support
|
|
*translate([-65,0,0]) cuboid([10,20,80.5], rounding=2, edges=[FWD+LEFT,BACK+LEFT, TOP+RIGHT], anchor=BOT+RIGHT);
|
|
}
|
|
// riser_screwholes
|
|
translate([29,-8,-7.25]) rotate([0,-90,-90]) screw();
|
|
translate([-29,-8,-7.25]) rotate([0,-90,-90]) screw();
|
|
// cage_screwholes
|
|
translate([0,-20,35]) rotate([0,-90,-90]) screw();
|
|
translate([0,-20,5]) rotate([0,-90,-90]) screw();
|
|
// riser_nest
|
|
cuboid([68,2,base_height], rounding=-1, edges=[TOP+RIGHT,TOP+LEFT,TOP+BACK,TOP+FRONT], anchor=TOP+FRONT);
|
|
translate([0,-3,0]) cuboid([44,14,base_height], rounding=-1, edges=[TOP+RIGHT,TOP+LEFT,TOP+FRONT], anchor=TOP+FRONT);
|
|
}
|
|
}
|
|
|
|
module riser() {
|
|
color("grey") {
|
|
difference() {
|
|
union() {
|
|
cuboid([67.45,1.65,14.25], rounding=1, edges=[TOP+RIGHT,TOP+LEFT,BOT+RIGHT,BOT+LEFT], anchor=TOP);
|
|
cuboid([39,7.125,10.55], rounding=.5, anchor=BOT);
|
|
translate([0,0,-7.5]) cuboid([42,7,7.5], rounding=1, edges=[TOP+RIGHT,TOP+LEFT,BOT+RIGHT,BOT+LEFT], anchor=TOP);
|
|
}
|
|
translate([29,0,-7.25]) ycyl(l=5, d=3.25);
|
|
translate([-29,0,-7.25]) ycyl(l=5, d=3.25);
|
|
}
|
|
translate([-63.2,11,2]) difference() {
|
|
cuboid([12.75,18.25,80], rounding=2, anchor=BOT+BACK+RIGHT);
|
|
translate([-1,2,-1]) cuboid([15,25,80], rounding=2, anchor=BOT+BACK+RIGHT);
|
|
}
|
|
}
|
|
}
|
|
|
|
translate([0,65.5,-40]) {
|
|
pcie_mount();
|
|
translate([0,1,0]) riser();
|
|
}
|
|
|
|
// 2_bays_stand
|
|
color("blue", alpha=0.9) {
|
|
difference() {
|
|
rotate([0,90,0]) translate([0,0,-75]) rect_tube(150, 110, 105, rounding=10);
|
|
translate([0,0,45]) cuboid([130,120,50], rounding=5, edges=[BOT+LEFT,BOT+RIGHT]);
|
|
translate([0,0,-54]) cuboid([130,120,20], rounding=5, edges=[TOP+LEFT,TOP+RIGHT]);
|
|
// holes
|
|
translate([0,0,-5]) cuboid([125,120,4], rounding=2, edges=[TOP+LEFT,TOP+RIGHT,BOT+LEFT,BOT+RIGHT]);
|
|
translate([0,0,-35]) cuboid([125,120,4], rounding=2, edges=[TOP+LEFT,TOP+RIGHT,BOT+LEFT,BOT+RIGHT]);
|
|
}
|
|
translate([-75,-55,17]) linear_extrude(2.5) {
|
|
honeycomb(150, 110, 15, 4, whole_only=true);
|
|
}
|
|
translate([0,51,-13]) cuboid([150,5,2], rounding=3, edges=[FRONT+LEFT,FRONT+RIGHT]);
|
|
translate([0,51,-43]) cuboid([150,5,2], rounding=3, edges=[FRONT+LEFT,FRONT+RIGHT]);
|
|
translate([0,-51,-13]) cuboid([150,5,2], rounding=3, edges=[BACK+LEFT,BACK+RIGHT]);
|
|
translate([0,-51,-43]) cuboid([150,5,2], rounding=3, edges=[BACK+LEFT,BACK+RIGHT]);
|
|
}
|
|
|
|
// fan_mount
|
|
rotate([0,-90,0]) {
|
|
translate([0,0,75]) rect_tube(size1=[110,110], size2=[60,60], wall=2.5, h=30, rounding1=10, rounding2=3);
|
|
translate([-30,-30,103]) fan_mount(size=60,thick=3);
|
|
} |