Import de .stl dans OpenSCAD et modification

OpenSCAD

OpenSCAD est un logiciel libre et gratuit de modélisation 3D. Il est dit paramétrique en ligne de commande, car les formes et les mesures sont données sous forme de texte et le logiciel interprète ces commandes pour modéliser l’objet. Cela est donc un peu moins fun à utiliser que d’autres logiciels plus ‘visuels‘ comme Google Sketchup notamment, mais OpenSCAD à l’avantage être libre, gratuit et léger (fonctionne bien sur des petits ordinateurs), de plus son approche à le mérite d’être assez pédagogique et le langage de modélisation peut être enregistré sous forme de texte (léger et facilitant la gestion de versions sous Git). Comme un langage de programmation, OpenSCAD peut utiliser des valeurs stockées sous forme de variables (x=5 par exemple). Ainsi, si l’on cherche à adapter certains éléments de la pièce (agrandir le diamètre des trous pour le passage de vis par exemple), il faut juste modifier la variable de paramètre : en modifiant x=5 en x=3, c’est toutes les formes qui utilise le paramètre ‘x’ dans l’objet qui seront redimensionnées, sans toucher à la pièce principale.

Cela dit, OpenSCAD est parfait pour modéliser des pièces aux formes assez simples, ou pour ajouter/modifier des éléments à un objet déjà modélisé (ce que nous allons voir ici!)

Allons-y!

Pour télécharger OpenSCAD, c’est ici : http://www.openscad.org/

A l’ouverture du logiciel, on à un projet vierge. La fenetre de gauche contient les instructions texte à écrire. En haut à droit, c’est la visualisation de l’objet modélisé et en bas à droite, c’est le retour console (messages d’erreurs par exemple).

Une première approche d’OpenSCAD reste incontournablement ce site.

Nous allons importer et modifier ce fichier. Pour l’importer :

  • Ouvrir un nouveau projet vierge avec OpenSCAD
  • L’enregistrer dans le même dossier contenant le fichier .stl à importer
  • Importer l’objet avec la commande import(“nom-du-fichier.stl”);import(« bike_mount_upload_top_fixed.stl »);

Toutes les instructions doivent être terminées avec un ; (comme les codes Arduino)

  • Pour le moment, on ne voit rien à l’écran, car il faut envoyer les commandes avec la touche F5, tada, la pièce apparait dans la fenêtre en haut à droite.

Il faut faire F5 à chaque fois que l’on veut voir l’apperçu du résultat dans la fenêtre graphique!

On va maintenant chercher à faire trois passages de colliers de serrage, pour y fixer une housse de GPS. Les trous seront de forme rectangulaire sur toute la longueur de la pièce. Pour faire, il faut modéliser la forme que l’on veut soustraire à la pièce déjà existante. On va donc modéliser un rectangle de taille 5.5mm x 2mm x 50mm avec la fonction cube ([x,y,z]).

cube ([5.5,2,50]);
color([1,0,0]) cube ([5.5,2,50]); // Pour mieux le voir on peut le mettre en rouge.


On va ensuite le positionner à l’endroit où l’on souhaite les trous avec la fonction translate ([x,y,z]).

translate ([12,25,-5]) color([1,0,0]) cube ([5.5,2,50]);


On copie coller la ligne trois fois pour faire trois passage de collier, en ne modifiant que la position sur la longueur.

color ([1,0,0]) translate ([12,25,-5]) cube ([7,3,50]);
color ([1,0,0]) translate ([30,25,-5]) cube ([7,3,50]);
color ([1,0,0]) translate ([21,25,-5]) cube ([7,3,50]);


Il faut remarquer que sur l’axe z, les rectangle sont positionner en négatif, cela est indispensable lorsque l’on fait des soustraction ou des unions de pièces. Ici c’est -5 mais -1 aurait suffit, c’est simplement pour bien faire comprendre au logiciel qu’il devra soustraire la face positionnée au 0 de l’axe z. Visuellement, les pièces qui seront soustraites doivent dépasser de la pièce principale.

Maintenant que nos futurs trous sont positionnés, on va faire une soustraction toute simple avec la fonction difference(). Le premier élément se verra amputé des éléments qui le succède sur les lignes suivantes. Les accolades permettent d’indiquer le début et la fin des éléments à prendre en compte.

difference(){
import("bike_mount_upload_top_fixed.stl");
color ([1,0,0]) translate ([12,25,-5]) cube ([7,3,50]);
color ([1,0,0]) translate ([30,25,-5]) cube ([7,3,50]);
color ([1,0,0]) translate ([21,25,-5]) cube ([7,3,50]);
}

Maintenant que nos trous sont bien là, il ne reste plus qu’à compiler l’objet en faisant F6 puis en l’exportant en .stl (Fichier > Exporter)

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *