New parts

This commit is contained in:
2025-08-04 11:08:25 +02:00
parent e66309cbf2
commit 2e094815a5
57 changed files with 491291 additions and 1 deletions

View File

@@ -0,0 +1,68 @@
$fn=60;
include <BOSL2/std.scad>
b_length=200;
b_height=42;
sb_height=5;
m_width=b_height+5;
m_length=b_length+5;
m_height=8;
wall=3;
blades=1;
sliders=4;
// board
module bladeboard() {
color("blue") difference() {
cuboid([200,2,42], rounding=2, edges=[TOP+LEFT,TOP+RIGHT,BOT+LEFT,BOT+RIGHT]);
// holes
translate([-97.5,2,18.5]) ycyl(l=m_width-wall, d=2.7);
translate([88,2,8.75]) ycyl(l=m_width-wall, d=2.7);
}
color("grey", alpha=0.5) translate([0,-9.5,0]) cuboid([200,17,40], rounding=2, edges=[TOP+LEFT,TOP+RIGHT,BOT+LEFT,BOT+RIGHT]);
}
module enclosure() {
difference() {
cuboid([m_length,m_width+2,m_height], rounding=1.5);
translate([0,0,sb_height]) rotate([-90,0,0]) cuboid([202,sb_height,m_width-2], rounding=2, edges=[TOP+LEFT,TOP+RIGHT,BOT+LEFT,BOT+RIGHT]);
translate([0,0,1]) rotate([-90,0,0]) cuboid([b_length-wall,sb_height,b_height-wall], rounding=2, edges=[TOP+LEFT,TOP+RIGHT,BOT+LEFT,BOT+RIGHT]);
translate([-97.5,18.5,0]) zcyl(l=m_height, d=2.7, rounding=-1);
translate([88,8.75,0]) zcyl(l=m_height, d=2.7, rounding=-1);
}
translate([-97.5,18.5,0]) tube(l=sb_height, od=6, id=2.7);
translate([88,8.75,0]) tube(l=sb_height, od=6, id=2.7);
/*[bladeboards]*/
* translate([0,0,6]) rotate([-90,0,0]) bladeboard();
}
difference() {
/*[rack]*/
for (i=[0:1:blades-1]) {
translate([0,i*m_width,0]) enclosure();
}
/*[sliding_base]*/
for (i=[0:50:50*(sliders-1)]) {
translate([i-90,m_width-60,-m_height-10]) rotate([90,0,90]) import("sliding_block_base.stl");
}
}
/*[quad_rack]*/
* color("blue", alpha=1) translate([0,-83.5,128]) rotate([0,90,0]) import("obj_1_Soquartz Blade 1 U Server Rack Mount Quad.stl");
color("red") {
difference() {
union() {
translate([0,0,23]) rotate([0,90,0]) rect_tube(h=m_length, size=m_width+5, wall=3, rounding=1.5, center=true);
translate([-m_length/2,0,23]) cuboid([3,m_width+5,m_width+5], rounding=1.5);
}
cuboid([m_length+2,m_width+2,m_height+1.5], rounding=1.5);
translate([-m_length/2,0,25]) xcyl(l=10, d=30);
for (i=[-2:1:2]) {
translate([i*40,0,47.5]) zcyl(l=3, d=30, rounding=-1.5);
translate([i*40,0,25]) ycyl(l=m_width+5, d=30, rounding=-1.5);
}
}
}

75
pine64/scad/io_board.scad Normal file
View File

@@ -0,0 +1,75 @@
$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();

View File

@@ -0,0 +1,15 @@
$fn=60;
include <BOSL2/std.scad>
items=2;
difference() {
cuboid([20,5,100], rounding=1);
translate([0,0,-40]) ycyl(l=5, d=5.5, rounding=-1);
translate([0,0,40]) ycyl(l=5, d=5.5, rounding=-1);
}
for (i=[0:50:50*(items-1)]) {
translate([-8,15.5,i-15]) rotate([0,180,180]) import("sliding_block_base.stl");
}