Files
space-cubion/modeles-3d/cubion-agregat.scad
2026-08-12 00:34:50 +00:00

19 lines
997 B
OpenSCAD
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
// Agrégat de cubions — n×n×n space-cubions amarrés : le pavage de l'espace sans vide, joints lisibles, anneaux fusionnés aux interfaces
// params: [{"k": "n", "v": 2, "min": 1, "max": 4, "step": 1}, {"k": "arete", "v": 20, "min": 10, "max": 40, "step": 2}]
module cubion_agregat(n,arete){
a=arete; f=a/16; off=-(n-1)*a/2;
for(x=[0:n-1])for(y=[0:n-1])for(z=[0:n-1]) translate([off+x*a,off+y*a,off+z*a]){
// ossature de la cellule
difference(){ cube(a,center=true);
cube([a-2*f,a-2*f,a+2],center=true);
cube([a-2*f,a+2,a-2*f],center=true);
cube([a+2,a-2*f,a-2*f],center=true); }
// panneaux en leger retrait : le joint entre cubions reste lisible
cube(a-f,center=true);
// anneaux d'amarrage sur les 6 faces (fusionnent aux interfaces : pavage sans vide)
for(r=[[0,0,0],[90,0,0],[0,90,0]]) rotate(r) for(s=[-1,1]) translate([0,0,s*a/2])
difference(){ cylinder(h=f,d=a/3,center=true,$fn=24); cylinder(h=f+1,d=a/4,center=true,$fn=24); }
}
}
cubion_agregat(n,arete);