Passer au contenu principal

Les primitives 3D de base

Cube

Nous allons donc commencer par les primitives 3D et le cube :

   cube([20,10,5]);

02.png

donnera comme résultat un cube de 20 sur 10 sur 5 "unités de mesure". C'est à dire que si vous ouvrez le fichier 3D dans un logiciel d'impression 3D et que votre unité de mesure est le millimètre, vous aurez une forme de 20*10*5 mm :

03.png

Sphère

Le deuxième objet auquel nous allons faire appel est la sphère.

Vous pouvez employer "r" pour indiquer le rayon de la sphère ou "d" si vous préférez indiquer le diamètre.

Nous allons voir ici un paramètre que nous pouvons retrouver pour toutes les primitives dans lesquelles il y a un sens qu'il s'y trouve : "$fn" qui permet de modifier la qualité de l'objet.

Nous pouvons voir que la sphère est beaucoup plus lisse. Mais il ne faut pas oublier que le résultat est orienté impression 3D. Est-il nécéssaire de détailler ainsi une courbure qui ne sera formé que de quelques couches de plastiques?

Le paramètre "$fn" sert donc à "forcer" la qualité. Si rien n'est indiqué, la qualité changera en fonction de la taille de la primitive ce qui assurera toujours une courbure cohérente et n'engendrant pas trop de faces, qu'elle que soit la taille de l'objet :

Cylindre

Nous allons enfin voir la dernière primitive 3D de base : le cylindre :

   cylinder(r=5,h=20);

Le paramètre "r" sert toujours à indiquer le rayon et peut également être remplacé par "d" si l'on souhaite indiquer un diamètre. "h" sert à indiquer la hauteur de l'objet.

Il est possible de faire appel à "r1" et "r2" ou "d1" et "d2" pour créer une figure conique :

   cylinder(r1=5,r2=0,h=20);

Plusieurs opérations sont réalisables sur un objet :

  • Le redimensionnement : opérations "scale" et "resize"
  • La translation : opération "translate"
  • La rotation : opération "rotate""
  • Le tout en même temps : "matrix"

Nous allons voir en détail chacune de ces opérations :

Redimensionnement

Scale

   scale([4,2,1])
   cube([10,10,10]);

Nous pouvons voir que la taille de notre cube de 10 au cube a été multipliée par 4 en X, 2 en Y et est restée la même en Z.

nous pouvons faire appel aussi bien à un nombre qu'à une fraction

   scale([400/100,200/100,100/100])

ou

   scale([8/2,4/2,2/2])

donneront donc le même résultat.

Resize

   resize([40,20,10])
   sphere(d=10,$fn=32);

Nous pouvons voir que resize force la taille de l'objet qui aura donc 40 unités de longueur en X, 20 en Y et 10 en Z.

L'utilisation des fractions n'est pas très utile car si nous indiquons, par exemple :

   resize([10,100/100,100/100])
   sphere(d=10,$fn=32);

il ne va pas prendre 100% de la taille mais réduire la taille à 100 divisé par 100 = 1 :