Outils pour utilisateurs

Outils du site


outilsit:fablab:laser:lol:code

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Prochaine révision Les deux révisions suivantes
outilsit:fablab:laser:lol:code [2022/02/07 19:40]
vanlindtmarc créée
outilsit:fablab:laser:lol:code [2022/02/08 13:40]
vanlindtmarc
Ligne 1: Ligne 1:
 <code OpenSCAD LOLscad.scad> <code OpenSCAD LOLscad.scad>
-abc=ngon(d=40,fn=3); 
-//def=fract(abc,in=false); 
-def=chaincurve(koch(abc,maxit=1),fn=4); 
-ghi=koch(abc,maxit=2); 
- 
-2Dto3D(abc,def,segment=4,quality=2); 
- 
-echo(def); 
-   
 /*═══════════════════════════════════════════════════════════════════════╕ /*═══════════════════════════════════════════════════════════════════════╕
 │                         Liège Openscad Library                         | │                         Liège Openscad Library                         |
 │           Module de déformation et modification pour OpenSCAD          │ │           Module de déformation et modification pour OpenSCAD          │
 ╞══════════════════╤════════════════════════════════════╤════════════════╡ ╞══════════════════╤════════════════════════════════════╤════════════════╡
-│ marc@vanlindt.be │   LGPL 2.1 marc@vanlindt.be 2022   │ v0.98 ---- wip |+│ marc@vanlindt.be │   LGPL 2.1 marc@vanlindt.be 2022   │ v0.99 ---- wip |
 ╞══════════════════╧═══════════════════════╤════════════╧════════════════╛ ╞══════════════════╧═══════════════════════╤════════════╧════════════════╛
 │          Variables générales            / │          Variables générales            /
Ligne 974: Ligne 965:
   )   )
 [clean(aa),clean(ee)]; [clean(aa),clean(ee)];
-  + 
 +function simple3D(a,b,h,bottom,top,angle,correct) = let ( 
 +    angle=angle==undef?0:angle, 
 +    correct=correct==undef?0:correct, 
 +    bottom=true, 
 +    top=true, 
 +    c=2Drot(interpolate(L1,L2,maxstep=1,step=0,correct=correct,q=1),angle), 
 +    d=2Drot(interpolate(L1,L2,maxstep=1,step=1,correct=correct,q=1),angle), 
 +    aa=[    for(i=[0:len(c)]) each[[c[i][0],c[i][1],0],[d[i][0],d[i][1],h]]  ], 
 +    bb=[    for(i=[0:1:len(aa)]) each [[i,i+1,i+2],[i+1,i+3,i+2]]    ],  
 +    cc=bottom==true?   for(i=[0:2:len(aa)]) each [i]   ]:[], 
 +    dd=top==true?   for(i=[0:2:len(aa)]) each [len(aa)-1-i]   ]:[], 
 +    ee=concat(bb,[cc],[dd]) 
 +  ) 
 +[clean(aa),clean(ee)];  
  
 function vectranslate(a,n,it)=let( function vectranslate(a,n,it)=let(
Ligne 983: Ligne 988:
   it==n+len(a)-2?aa:vectranslate(a=aa,n=n,it=it+1);   it==n+len(a)-2?aa:vectranslate(a=aa,n=n,it=it+1);
    
 +
  
 module 2Dto3D(a,b,h,segment,correct,quality,rotation){ module 2Dto3D(a,b,h,segment,correct,quality,rotation){
-angle=rotation==undef?0:rotation/segment; 
-quality=quality==undef?1:quality; 
-he=h==undef?64:h; 
-mm=segment==undef?8:segment; 
-aabc=a==undef?ngon(d=50,fn=3):a; 
-adef=b==undef?chaincurve(koch(ngon(d=50,fn=3),maxit=1),fn=4):b; 
-correct=correct==undef?0:correct;   
- 
- 
-    for(i=[0:mm-1]){ 
-      my3Dobject=to3D( 
-        2Drot(interpolate(aabc,adef,maxstep=mm,step=i,correct=correct,q=quality),i*angle), 
-        2Drot(interpolate(aabc,adef,maxstep=mm,step=i+1,correct=correct,q=quality),(i+1)*angle), 
-        h=he/mm, 
-        top=i==mm-1?true:true, 
-        bottom=i==0?true:true); 
-       
-      translate([0,0,(i)*he/mm]) 
-      color([1/mm*i,1-(1/mm*i),1,1]) 
-      union() 
-      { 
-      polyhedron(my3Dobject[0],my3Dobject[1]); 
-      polyhedron(my3Dobject[0],my3Dobject[1]);} 
-     
-  } 
-} 
-module 2Dto3D2(a,b,h,segment,correct,quality,rotation){ 
 angle=rotation==undef?0:rotation/segment; angle=rotation==undef?0:rotation/segment;
 quality=quality==undef?1:quality; quality=quality==undef?1:quality;
Ligne 1031: Ligne 1010:
       translate([0,0,i*he/mm])       translate([0,0,i*he/mm])
       color([1/mm*i,1-(1/mm*i),1,1])       color([1/mm*i,1-(1/mm*i),1,1])
-      //union()+      union()
       {       {
-      polyhedron(my3Dobject[0],my3Dobject[1]); +        polyhedron(my3Dobject[0],my3Dobject[1]); 
-      polyhedron(my3Dobject[0],my3Dobject[1]);}+        polyhedron(my3Dobject[0],my3Dobject[1]); 
 +      }
     }     }
   }   }
Ligne 1263: Ligne 1243:
   
 } }
 +
 </code> </code>
  
  
outilsit/fablab/laser/lol/code.txt · Dernière modification: 2022/02/09 02:35 de vanlindtmarc