25 lines
1.4 KiB
OpenSCAD
25 lines
1.4 KiB
OpenSCAD
// Space Cubion — le vaisseau (arete reelle 4 m = 2⁸ bions) : ossature + 6 faces d'amarrage androgynes (anneau soft-capture, 3 petales, 4 connecteurs) + hublots
|
|
// params: [{"k": "arete", "v": 40, "min": 24, "max": 96, "step": 4}, {"k": "detail", "v": 2, "min": 1, "max": 4, "step": 1}]
|
|
|
|
module space_cubion(arete,detail){
|
|
a=arete; f=a/16; fn=16*detail; p=a/5;
|
|
// ossature : les 12 aretes du cube (arete reelle 4 m = 2^8 bions de 16 mm)
|
|
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); }
|
|
// 6 faces d'amarrage identiques (androgynes : tout port s'amarre a tout port)
|
|
for(r=[[0,0,0],[90,0,0],[0,90,0]]) rotate(r) for(s=[-1,1]) translate([0,0,s*(a/2-f/2)]){
|
|
// panneau + passage central + couronne de hublots
|
|
difference(){ cube([a-2*f,a-2*f,f/2],center=true);
|
|
cylinder(h=f+2,d=p,center=true,$fn=fn);
|
|
for(i=[0:4*detail-1]) rotate([0,0,i*360/(4*detail)]) translate([a*0.34,0,0]) cylinder(h=f+2,d=a/14,center=true,$fn=fn); }
|
|
// anneau soft-capture
|
|
difference(){ cylinder(h=f,d=p*1.4,center=true,$fn=fn); cylinder(h=f+2,d=p*1.1,center=true,$fn=fn); }
|
|
// 3 petales de guidage a 120 deg
|
|
for(i=[0:2]) rotate([0,0,i*120]) translate([p*0.62,0,s*f*0.6]) cube([f*0.8,p/4,f*0.8],center=true);
|
|
// 4 connecteurs structurels
|
|
for(i=[0:3]) rotate([0,0,45+i*90]) translate([a*0.3,0,0]) cube([a/12,a/12,f],center=true);
|
|
}
|
|
}
|
|
space_cubion(arete,detail); |