Presentation openscad : Etape 3

De Wiki du ThiLab

Retour a la presentation

Etape 3 : la fonction de minkowski

Pour cette etape, nous allons ajouter l'element suivant aux elements deja crees (notez les arretes arrondies) :

Pour pouvoir realiser cet objet, nous allons utiliser la fonction minkowski() de openscad. Cette fonction correspond a une somme de minkowski entre 2 objets.

A quoi correspond une somme de minkowski ? Elle correspond a la trace d'un balayage du premier objet par le second.

Prenons un cas simple en deux dimensions pour illustrer visuellement cette somme. Supposons que le premier objet soit :

et que le second objet soit :

Le second objet va balayer la surface du premier objet :

ce qui va entrainer une surface de balayage pour chaque point, qui misent bout a bout, vont entrainer une surface de balayage globale :

C'est l'union de ces surfaces de balayage qui ca donner l'objet correspondant a la somme de minkowski des 2 objets de depart :

Revenons a la generalisation en 3D de la somme de minkowski qui nous interesse. Nous avons simplement besoin d'un cube et d'un cylindre qui ira balayer le volume du cube.

Telle l'union ou l'intersection, le code va comprendre la mentino de la fonction minkowski() suivi d'accolades contenant les 2 objets utilises pour la somme :

Resultat de l'etape 3

Le code apres l'etape 3 est donc le suivant :

$fn=60;

union()
{
		intersection()
		{
			translate([-10,-10,-10]) cube([20,20,20]);
			sphere(r=12);
		}

		cylinder(r=7.5, h=20);

		minkowski()
		{
			translate([-10,-10,-25]) cube([20,20,20]);
			cylinder(r=2,h=1);
		}
}

Ce qui nous donne cet objet :

Retour a la presentation