modèles 3D : les 3 recettes OpenSCAD (vaisseau, face d'amarrage, agrégat)
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
19
modeles-3d/cubion-agregat.scad
Normal file
19
modeles-3d/cubion-agregat.scad
Normal file
@@ -0,0 +1,19 @@
|
||||
// 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);
|
||||
Reference in New Issue
Block a user