New parts

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

No files matched your search

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

Binary file not shown.

After

Width:  |  Height:  |  Size: 27 KiB

+68
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
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();
+15
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.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.