OpenSCAD : LOL-SCAD

De Vanlindt Marc
Version datée du 1 octobre 2025 à 17:25 par VanlindtMarc (discussion | contributions) (Page créée avec « Le but de LOLScad est de permettre l'utilisation de formes en tant que variable afin de permettre de nouvelles formes et transformations. Cela change en profondeur la manière d'utiliser OpenSCAD. Par exemple, pour faire un carré : '''Avant''' square([3,4],center=true); '''Après''' moncarre = square([3,4],center=true); 2D(moncarre); '''La différence ?''' Si vous réalisez un '''echo''' de la variable '''moncarre''', la console affichera : [[-1.5,-2],[... »)
(diff) ← Version précédente | Voir la version actuelle (diff) | Version suivante → (diff)
Aller à la navigation Aller à la recherche

Le but de LOLScad est de permettre l'utilisation de formes en tant que variable afin de permettre de nouvelles formes et transformations.

Cela change en profondeur la manière d'utiliser OpenSCAD. Par exemple, pour faire un carré :

Avant

square([3,4],center=true);

Après

moncarre = square([3,4],center=true);

2D(moncarre);

La différence ?

Si vous réalisez un echo de la variable moncarre, la console affichera : [[-1.5,-2],[-1.5,2],[1.5,2],[-1.5,2]]


Objets 2D

Tous les objets (y compris ceux d'origine d'OpenSCAD) peuvent être utilisés à la fois en tant que variable qu'en tant

Teardrop

Paramètres

  • d : diamètre
  • a : angle
  • fn : qualité

Code de la fonction

function teardrop(d,a,fn)=let (
  d=d==undef?10:d,
  a=a==undef?30:a,
  h=d*tan(90-a),
  fn=fn==undef?16:fn,
  courbe= [for(i=[0:fn]) [sin(90-a+(360-(90-a)*2)/fn*i)*d/2,cos(90-a+(360-(90-a)*2)/fn*i)*d/2]],
  aa=concat(courbe,[[0,(cos(90-a)*d/2)+h*sin(90-a)/2]],[[sin(90-a)*d/2,cos(90-a)*d/2]])
)
aa;
OpenSCAD - Teardrop

Exemple

teardrop(d=5,a=45,fn=32);
tear= teardrop(d=3,a=20,fn=32);
translate([5,0,0]) 2D(tear);
echo(tear);