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

75 lines
2.7 KiB
OpenSCAD

$fn=60;
include <BOSL2/std.scad>
// board
module board() {
color("blue") difference() {
cuboid([85,56,1], rounding=3, edges=[FWD+RIGHT,FWD+LEFT,BACK+RIGHT,BACK+LEFT]);
translate([-39,-24.5,0]) zcyl(l=2, d=3);
translate([-39,24.5,0]) zcyl(l=2, d=3);
translate([19,-24.5,0]) zcyl(l=2, d=3);
translate([19,24.5,0]) zcyl(l=2, d=3);
}
}
// fan
module fan() {
color("orange", alpha=.5) difference() {
cuboid([120,120,25], rounding=3, edges=[FWD+RIGHT,FWD+LEFT,BACK+RIGHT,BACK+LEFT]);
translate([-52.75,-52.75,0]) zcyl(l=25, d=4.5, rounding=-1);
translate([-52.75,52.75,0]) zcyl(l=25, d=4.5, rounding=-1);
translate([52.75,-52.75,0]) zcyl(l=25, d=4.5, rounding=-1);
translate([52.75,52.75,0]) zcyl(l=25, d=4.5, rounding=-1);
}
}
/*[sliding_base]*/
rotate([90,0,0]) {
translate([-72,-15,40]) import("sliding_block_base.stl");
translate([-72,-15,-60]) import("sliding_block_base.stl");
}
difference() {
translate([-5,0,0]) cuboid([140,130,3], rounding=3, edges=[FWD+RIGHT,FWD+LEFT,BACK+RIGHT,BACK+LEFT]);
translate([-10,0,0]) cuboid([60,40,3], rounding=3, edges=[FWD+RIGHT,FWD+LEFT,BACK+RIGHT,BACK+LEFT]);
translate([-39,-24.5,0]) zcyl(l=3, d=2.8);
translate([-39,24.5,0]) zcyl(l=3, d=2.8);
translate([19,-24.5,0]) zcyl(l=3, d=2.8);
translate([19,24.5,0]) zcyl(l=3, d=2.8);translate([-52.75,-52.75,0]) zcyl(l=3, d=2.8);
translate([-52.75,52.75,0]) zcyl(l=3, d=2.8);
translate([52.75,-52.75,0]) zcyl(l=3, d=2.8);
translate([52.75,52.75,0]) zcyl(l=3, d=2.8);
}
// pilars
color("cyan") {
difference() {
union() {
// tubes
translate([0,0,13]) {
translate([-52.75,-52.75,0]) tube(l=25, od=10, id=2.8);
translate([-52.75,52.75,0]) tube(l=25, od=10, id=2.8);
translate([52.75,-52.75,0]) tube(l=25, od=10, id=2.8);
translate([52.75,52.75,0]) tube(l=25, od=10, id=2.8);
}
// arches
translate([0,0,36.5]) {
translate([0,52.75,0]) cuboid([126,10,33], rounding=1);
translate([0,-52.75,0]) cuboid([126,10,33], rounding=1);
}
}
// holes
translate([0,0,36.5]) {
translate([52.75,52.75,0]) zcyl(l=33, d=4.5, rounding=-1);
translate([-52.75,52.75,0]) zcyl(l=33, d=4.5, rounding=-1);
translate([52.75,-52.75,0]) zcyl(l=33, d=4.5, rounding=-1);
translate([-52.75,-52.75,0]) zcyl(l=33, d=4.5, rounding=-1);
}
// fan
translate([0,0,37]) cuboid([122,122,27]);
}
}
translate([0,0,7]) board();
translate([0,0,37]) fan();