Files
3D/server_rack/scad/dual_cm4_io_board_mount.scad
2025-08-04 11:08:25 +02:00

41 lines
1.4 KiB
OpenSCAD

$fn=60;
include <BOSL2/std.scad>
include <nutsnbolts/cyl_head_bolt.scad>
include <mini_itx_board.scad>
frame_l=180;
frame_e=3;
p_height=5;
module pilar() {
difference() {
zcyl(l=p_height, d=8, rounding1=-2);
zcyl(l=p_height, d=3, rounding=-1);
}
}
//
module io_board() {
cuboid([110,80,frame_e], rounding=3, edges=[FWD+RIGHT,FWD+LEFT,BACK+RIGHT,BACK+LEFT]);
translate([-39,-24.5,p_height-1]) pilar();
translate([-39,24.5,p_height-1]) pilar();
translate([19,-24.5,p_height-1]) pilar();
translate([19,24.5,p_height-1]) pilar();
}
// io_mount
difference() {
union() {
//base
cuboid([frame_l,frame_l,frame_e], rounding=5, edges=[FWD+RIGHT,FWD+LEFT,BACK+RIGHT,BACK+LEFT]);
// io_boards
translate([-25,40,0]) io_board();
translate([-25,-40,0]) io_board();
}
translate([-35,40,0]) cuboid([60,40,frame_e+1], rounding=3, edges=[FWD+RIGHT,FWD+LEFT,BACK+RIGHT,BACK+LEFT]);
translate([-35,-40,0]) cuboid([60,40,frame_e+1], rounding=3, edges=[FWD+RIGHT,FWD+LEFT,BACK+RIGHT,BACK+LEFT]);
translate([frame_l/4+5,frame_l/4-2.5,0]) cuboid([frame_l/2-30,frame_l/2-17.5,frame_e+1], rounding=5, edges=[FWD+RIGHT,FWD+LEFT,BACK+RIGHT,BACK+LEFT]);
translate([frame_l/4+5,-frame_l/4+2.5,0]) cuboid([frame_l/2-30,frame_l/2-17.5,frame_e+1], rounding=5, edges=[FWD+RIGHT,FWD+LEFT,BACK+RIGHT,BACK+LEFT]);
}