webours
Maker Débutant
Maker Débutant
Messages : 11
Inscription : 20 févr. 2017, 20:42
Imprimante(s) 3D : : EN RECHERCHE

Astuces OpenSCAD

15 mars 2017, 08:03

Après avoir cherché de partout, je n'ai trouvé que des solutions hypercomplexes pour dessiner des arcs de cercles sous openSCAD. J'ai donc créé mon propre module que je partage pour les utilisateurs d'openSCAD et j'espère que ce topic sera un lieu d'échange et amélioration d'astuces pour openSCAD.

Ce module fonctionne dans le cercle trigonométrique. Pour rappel et sans vouloir vous offenser, le cercle trigonométrique a son 0 qui correspond à l'axe des x et son sens de rotation est à l'inverse des aiguilles d'une montre. Donc pour commencer une ouverture de cercle avant le 0 (dans les y négatifs), il faut entrer une valeur négative.

Le code est donné avec un exemple pour une ouverture de -90° à 45°

Code : Tout sélectionner

/**
* module pour dessiner un arc de cercle
* auteur : webours
* paramètres :
* r : rayon extérieur du cercle
* ep : épaisseur du cercle par l'intérieur de la forme (r-ep)
* ht : valeur d'extrusion linéaire, valeur par défaut 1
* deb : début d'ouverture du cercle en degré dans le cercle trigonométrique
* fin : fin d'ouverture du cercle en degré dans le cercle trigonométrique
* fn : la fameuse variable spéciale pour affiner le tracé, valeur par défaut 100
**/
module arc(r,ep,ht=1,deb,fin,fn=100){
	linear_extrude(ht)
		difference(){
			circle(r,$fn=fn);
			circle(r-ep,$fn=fn);
			rp=r+1;
			for(i=[deb+2:fin]){
				polygon(points=[[0,0],[cos(i-2)*rp,sin(i-2)*rp],[cos(i)*rp,sin(i)*rp]]);
			}
		}
}
arc(10,2,1,-90,45);
En espérant que cela serve et si vous avez mieux ou autres je serai content de voir vos codes.

Revenir à « Modélisation 3D »

Qui est en ligne ?

Utilisateurs parcourant ce forum : Aucun utilisateur inscrit et 1 invité