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

59800
pine64/BLADE 1U Rack_3D.stp Normal file

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 31 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

BIN
pine64/images/io_board.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 27 KiB

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");
}

Binary file not shown.

Binary file not shown.

BIN
pine64/stl/blade_rack.stl Normal file

Binary file not shown.

Binary file not shown.

BIN
pine64/stl/io_board.stl Normal file

Binary file not shown.

BIN
pine64/stl/pilar.stl Normal file

Binary file not shown.

BIN
pine64/stl/router_board.stl Normal file

Binary file not shown.

Binary file not shown.

BIN
pine64/stl/test.stl Normal file

Binary file not shown.