Outils pour utilisateurs

Outils du site


outilsit:fablab:laser:lol

Différences

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

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
Prochaine révision Les deux révisions suivantes
outilsit:fablab:laser:lol [2022/02/08 23:47]
vanlindtmarc
outilsit:fablab:laser:lol [2022/02/09 00:39]
vanlindtmarc
Ligne 64: Ligne 64:
 pi        = 3.141592654; pi        = 3.141592654;
 tau       = pi*2; tau       = pi*2;
 +</code>
 +
 +----
 +===== Fonctions de base =====
 +
 +==== 2D(a) et 3D(a) ====
 +{{ :outilsit:fablab:openscad:lolscad:2022-02-09_00_08_39-lol2022-wip.scad_-_openscad.png?400|}}
 +<code>abc=square();
 +def=cube();
 +2D(abc);
 +translate([11,0,0]) 3D(def);
 +</code>
 +<code>
 +module 2D(a){
 +  polygon(a);
 +}
 +module 3D(a){
 + if(a[1]!=undef)
 + {
 + polyhedron(a[0],a[1]);
 + }
 +}
 </code> </code>
  
Ligne 883: Ligne 905:
 aa; aa;
 </code> </code>
 +
 +----
 +
 +==== RVB(a,b,c,d) ====
 +{{ :outilsit:fablab:openscad:lolscad:2022-02-09_00_03_38-lol2022-wip.scad_-_openscad.png?400|}}
 +<code>
 +color(RVB(192,64,128)) cube();
 +translate([1.1,0,0]) color(RVB(12,64,255,128)) cube();
 +translate([2.2,0,0]) color(RVB(255,255,0,64)) cube();
 +</code>
 +<code>
 +function RVB(a,b,c,d)= let( a=a==undef?0.5:1/255*a,
 +b=b==undef?0.5:1/255*b,
 +c=c==undef?0.5:1/255*c,
 +d=d==undef?1:1/255*d,
 +aa=[a,b,c,d]
 +)aa;
 +</code>
 +
  
 ---- ----
Ligne 1413: Ligne 1454:
   }   }
 } }
 +</code>
 +
 +----
 +
 +==== mirror(a,x,y) ====
 +{{ :outilsit:fablab:openscad:lolscad:2022-02-09_00_18_42-lol2022-wip.scad_-_openscad.png?400|}}
 +<code>
 +abc=chaincurve(center(LetterL),3);
 +2D(abc);
 +translate([60,0,0]) 2D(mirror(abc,x=true));
 +translate([0,-80,0]) 2D(mirror(abc,y=true));
 +translate([60,-80,0]) 2D(mirror(abc,x=true,y=true));
 +</code>
 +<code>
 +function mirror(a,x,y)=let(
 +  xx=x==undef?1:x==true?-1:1,
 +  yy=y==undef?1:y==true?-1:1,
 +  aa=[
 +    for(i=[0:len(a)-1])
 +      each
 +      [
 +        [a[i][0]*xx,a[i][1]*yy]
 +      ]
 +  ]
 +)aa;
 +</code>
 +
 +----
 +
 +==== translate3D(a,b) & rescale3D(a,b) ====
 +{{ :outilsit:fablab:openscad:lolscad:2022-02-09_00_38_15-lol2022-wip.scad_-_openscad.png?400|}}
 +<code>
 +abc=cube([10,10,10],center=true);
 +def=translate3D(rescale3D(abc,2),[10,20,30]);
 +3D(abc);
 +3D(def);
 +</code>
 +<code>
 +function translate3D(a,b)=[[for(i=[0:len(a[0])-1]) a[0][i]+b],a[1]];
 +function rescale3D(a,s)=  [[for(i=[0:len(a[0])-1]) a[0][i]*s],a[1]];
 </code> </code>
  
outilsit/fablab/laser/lol.txt · Dernière modification: 2022/02/09 02:27 de vanlindtmarc