Guide du débutant à OpenSCAD : programmation de modèles imprimés en 3D

Guide du débutant à OpenSCAD : programmation de modèles imprimés en 3D

Vous avez toujours voulu concevoir vos propres modèles 3D ? Qu'en est-il de l'impression 3D d'une pièce que vous avez conçue ? Il existe de nombreux programmes de modélisation 3D, mais ceux-ci peuvent être difficiles à utiliser si vous n'êtes pas artistique (comme moi). OpenSCAD vous permet de concevoir des modèles spécifiquement pour l'impression 3D, en n'utilisant rien d'autre que code . Ne vous inquiétez pas si vous ne savez pas coder non plus, aujourd'hui je vais vous guider à travers les bases.





Qu'est-ce qu'OpenSCAD ?

OpenSCAD est un logiciel gratuit Conception assistée par ordinateur solide modeleur. Il est disponible pour Windows, Mac et Linux. Ce qui le rend différent de nombreux autres programmes, c'est que vous concevez des pièces en utilisant du code au lieu d'une souris. Cela rend très facile d'effectuer des calculs mathématiques, de stocker des dimensions dans des variables, de redimensionner des pièces, etc.





Il y a certains facteurs dont vous devez tenir compte lors de l'impression de modèles 3D, mais beaucoup d'entre eux s'appliquent aux modèles CAO d'impression 3D en général, pas seulement aux conceptions OpenSCAD. Si vous souhaitez en savoir plus sur l'impression 3D, consultez notre guide du débutant ultime. Si vous recherchez un modélisateur plus interactif, lisez le guide de création d'objets dans Sketchup .





Mise en place

Tout d'abord, dirigez-vous vers le téléchargements page et trouvez une version d'OpenSCAD adaptée à votre système d'exploitation. J'utilise Mac OS, mais ces principes OpenSCAD s'appliquent à tous les systèmes.

Une fois installé, allez-y et ouvrez-le. Ce menu de démarrage vous sera présenté :



Cela vous montre les derniers fichiers que vous avez ouverts et vous donne la possibilité de charger quelques exemples. N'hésitez pas à regarder certains des exemples, mais j'ai trouvé que cela rendait les choses plus confuses au début. Pour ce tutoriel, créez un nouveau fichier en cliquant sur le bouton Nouveau bouton.

Une fois ouvert, cette interface dénudée vous sera présentée :





Celui-ci est divisé en trois domaines principaux. Sur la gauche est votre éditeur et menu. C'est là que vous écrirez votre code. Il n'y aura pas encore de code, car vous créez un nouveau fichier. En haut, il y a des boutons de menu pour effectuer des tâches de base, telles que charger, enregistrer, annuler, etc.





En bas à droite se trouve le console . Cela vous montrera toutes les erreurs dans la construction du modèle.

La dernière section est la Interface principale en haut à droite. Ici, vous pouvez interagir avec votre modèle, mais vous ne pourrez pas le modifier ici (vous écrirez du code pour le faire).

meilleur moyen d'acheter un macbook

Il y a plusieurs boutons au bas de cette interface principale. Ceux-ci vous permettent principalement de visualiser votre conception de différentes manières.

Allez-y et enregistrez un nouveau fichier en appuyant sur le bouton enregistrer dans le menu de l'éditeur ou en allant à Déposer > sauvegarder .

Les bases

La façon dont OpenSCAD fonctionne la plupart du temps se fait par l'addition et la soustraction de formes simples. Vous pouvez créer des modèles très complexes de cette façon, alors commençons tout de suite.

Voici la première forme, une simple boîte :

Et voici le code pour produire ça :

cube(); // create a cube

Pour que votre code s'exécute et construise le modèle, vous devez le prévisualiser. OpenSCAD le fera par défaut chaque fois que vous enregistrez, ou vous pouvez appuyer sur F5 pour forcer un rafraîchissement. Essayez de vous déplacer dans l'espace 3D en maintenant enfoncés les boutons gauche ou droit de la souris.

Maintenant, cela produit un joli cube, mais ce n'est pas très utile sans aucune dimension. OpenSCAD ne fonctionne dans aucun système de mesure particulier, au lieu de cela, les unités sont toutes relatives les unes aux autres. Vous pouvez créer une boîte de 20 x 10, et c'est à n'importe quel autre programme (comme votre trancheuse d'impression 3D) de les interpréter, qu'il soit métrique ou impérial. Il offre en effet une grande flexibilité.

Ajoutons quelques dimensions à votre cube. Vous faites cela en passant des paramètres au cube méthode:

cube(size = [10, 20, 30]); // rectangle

Les valeurs dix , vingt , et 30 représente la taille du cube dans le X , ET , et AVEC axe. Remarquez comment cela a produit un rectangle beaucoup plus grand :

Par défaut, OpenSCAD dessine les composants en bas à gauche. Vous pouvez régler cela en réglant le centre paramètre à vrai . Voici le code pour faire cela au rectangle:

cube(size = [10, 20, 30], center = true); // rectangle centered

Et voici à quoi cela ressemble :

puis-je enregistrer un appel téléphonique sur mon iphone

Le centrage des objets fonctionne bien pour les formes simples, mais cela complique les choses pour les objets non symétriques. Vous devrez décider quelle méthode vous convient le mieux.

Passant à une forme plus complexe, voici un cylindre :

Voici le code pour le créer :

cylinder(d = 10, h = 10, center = true); // cylinder

contrairement à cubes , cylindres sont automatiquement dessinés au centre des axes X et Y. Les paramètre signifie diamètre (vous pouvez passer dans le rayon à la place si vous préférez). Les h paramètre est la hauteur. Quelque chose ne va pas ici cependant. Ce cylindre a l'air assez 'blocky'. Vous devez augmenter le nombre de visages dessinés sur la circonférence. C'est facile à faire -- ajoutez le paramètre suivant à votre code de cylindre.

$fn = 100

La définition du cylindre devient donc :

cylinder(d = 10, h = 10, center = true, $fn = 100);

Voici à quoi cela ressemble :

Cela augmente le nombre de faces nécessaires pour faire des cercles -- 100 est un bon point de départ. Gardez à l'esprit que cela augmentera considérablement les temps de rendu, en particulier sur les modèles complexes, il est donc généralement préférable de laisser cela de côté jusqu'à ce que vous ayez terminé la conception.

Il est facile d'appliquer des transformations sur des formes. Vous devez appeler des méthodes spéciales avant de créer vos formes. Voici comment faire tourner le cylindre en utilisant le tourner méthode:

rotate(a = [0, 90, 0]) cylinder(d = 10, h = 10, center = true); // rotated cylinder

Les valeurs transmises au à paramètre représente l'angle de rotation des axes X, Y et Z. Voici le résultat :

Une autre fonction très utile est Traduire . Cela vous permet de déplacer des objets dans l'espace 3D. Encore une fois, vous devrez passer la quantité de mouvement pour chaque axe. Voici le résultat :

Voici le code :

translate(v = [0, 25, 0]) cylinder(d = 10, h = 10, center = true); // translated cylinder

Comprendre le Traduire méthode est l'une des choses les plus importantes que vous puissiez faire. Il est requis pour la conception de conceptions les plus complexes.

Enfin, une autre forme utile est un sphère :

Voici le code :

quel est le meilleur site pour télécharger de la musique gratuite ?
sphere(d = 100);

Tout comme le cylindre, vous pouvez lisser cela en utilisant le $fn code ci-dessus.

Codage avancé

Maintenant que vous connaissez les bases, examinons quelques compétences plus avancées. Lors de la conception d'une pièce, il est utile de réfléchir à la façon dont elle pourrait être composée de formes et d'objets plus petits. Vous n'êtes pas obligé de faire cela et vous pouvez « inventer des choses » au fur et à mesure, mais cela aide d'avoir un plan approximatif, même si ce n'est que dans votre tête.

Créons une forme avancée : un cube avec un intérieur sphérique évidé. Créer un cube et un sphère avec centre mis à vrai. Soustraire l'un de l'autre à l'aide de différence méthode:

difference() {
// subtraction
cube(size = [50, 50, 50], center = true); // outer cube
sphere(d = 65, center = true); // inner sphere
}

Voici le résultat :

Expérimentez avec le diamètre ( paramètre) de la sphère et voir ce qui se passe.

Dans OpenSCAD, il existe généralement de nombreuses façons d'accomplir la même tâche. Si vous vouliez un groove dans un cube, vous pouvez en soustraire un autre cube ou en ajouter deux autres au-dessus. La façon dont les choses sont faites n'a généralement pas d'importance, mais selon la complexité de la pièce, il peut être plus facile de faire certaines manipulations en premier.

Voici comment créer un canal dans un cube. Au lieu d'utiliser un autre cube, l'utilisation d'un cylindre créera un canal arrondi. Remarquez comment le différence méthode est à nouveau utilisée, et comment le Traduire et tourner méthodes sont utilisées pour manipuler les formes. En utilisant le tourner La méthode rend souvent les transformations délicates, alors jouez avec les paramètres jusqu'à ce que vous obteniez le résultat souhaité. Voici le code :

difference() {
// subtraction
cube(size = [50, 150, 50]); // outer cube
translate(v = [25, 150, 50]) rotate(a = [90, 0, 0]) cylinder(d = 40, h = 150); // cylinder channel
}

Voici à quoi cela ressemble :

Vous vous demandez peut-être ce que sont toutes ces choses vertes. C'est ici parce que le modèle 3D n'est qu'un aperçu pour le moment. Pour résoudre ce problème, appuyez sur F6 pour restituer entièrement le modèle. Cela peut prendre un certain temps, selon la complexité. L'aperçu ( F5 ) est généralement suffisant pour travailler. Voici à quoi ressemble le rendu final (avec $fn mis à 100) :

Voici un autre exemple avancé. Supposons que vous vouliez monter quelque chose à l'aide d'un boulon. Créer un trou est assez simple en utilisant cylindre , mais que se passe-t-il si vous vouliez que la tête de boulon soit encastrée pour les boulons à tête fraisée ? Vous pouvez simplement créer un grand cylindre pour asseoir la tête de boulon, mais cela n'aurait pas l'air très joli. La solution est un chanfrein, que vous pouvez créer avec le cylindre méthode. L'astuce ici est de spécifier deux diamètres -- d1 et d2 . Faites ces différentes tailles, et OpenSCAD fera le reste.

Comme je suis britannique, j'utiliserai ici des dimensions métriques pour un boulon à tête fraisée M5. Vous pouvez facilement l'ajuster pour s'adapter aux fixations que vous souhaitez utiliser. Voici le code :

$fn = 100;
// bolt settings
m5_clearance_diameter = 5.5;
m5_head_clearance_diameter = 11;
m5_head_depth = 5;
difference() {
// subtract
cube(20, 20, 20);
bolt_hole(10, 10, 20);
bolt_bevel(10, 10, 15);
}
module bolt_hole(x, y, height) {
/* M5 hole at 90 deg. */
translate(v = [x, y, 0]) cylinder(d = m5_clearance_diameter, h = height);
}
module bolt_bevel(x, y, z) {
// M5 bevel
translate(v = [x, y, z]) cylinder(d2 = m5_head_clearance_diameter, d1 = m5_clearance_diameter, h = m5_head_depth);
}

Remarquez comment les dimensions des boulons sont stockées dans des variables ? Cela rend le codage et la maintenance beaucoup plus faciles. Une méthode que vous n'avez peut-être pas encore rencontrée est module . Cela vous permet de définir un bloc de code à exécuter quand vous le souhaitez. En réalité, il s'agit d'un fonction . Tu devrais utiliser modules et variables pour toute forme complexe, car ils facilitent la lecture et accélèrent les modifications. Voici à quoi ressemble le chanfrein :

Regardons un dernier exemple. Supposons que vous vouliez produire une série de trous autour d'un cercle. Vous pouvez mesurer, traduire et faire pivoter manuellement tout cela, mais même avec des modules, ce serait fastidieux. Voici le résultat final, 10 cylindres même répartis autour d'un cercle :

Voici le code :

$fn = 100;
number_of_holes = 10;
for(i = [1 : 360 / number_of_holes : 360]) {
// number_of_holes defines number of times this code runs
make_cylinder(i);
}
module make_cylinder(i) {
// make cylinder and even distribute
rotate([0, 0, i]) translate([10, 0, 0]) cylinder(h = 2, r = 2);
}

Ce code est plus simple que prévu. UNE pour boucle est utilisée pour appeler le faire_cylindre module dix fois. Comme il y a 360 degrés dans un cercle et 360 / 10 = 36, chaque cylindre doit être tourné par incréments de 36 degrés. Chaque itération de cette boucle incrémentera le je variable par 36. Cette boucle appelle le faire_cylindre module, qui dessine simplement un cylindre et le positionne selon les degrés qui lui sont passés par la boucle. Vous pouvez dessiner plus ou moins de cylindres en modifiant le nombre_de_trous variable -- bien que vous souhaitiez peut-être ajuster l'espacement si vous le faites. Voici à quoi ressemblent 100 cylindres, ils se chevauchent légèrement :

Exportation

Maintenant que vous savez coder dans OpenScad, il vous reste une dernière étape avant de pouvoir imprimer vos modèles en 3D. Vous devez exporter votre conception d'OpenSCAD dans la norme LIST format utilisé par la plupart des imprimantes 3D. heureusement, il y a un bouton d'exportation vers STL : Menu de l'éditeur > En haut à droite :

C'est tout pour aujourd'hui. Vous devriez maintenant avoir une excellente connaissance pratique d'OpenSCAD - tous les éléments complexes reposent sur ces fondations, et de nombreuses formes complexes sont en fait de nombreuses formes simples combinées.

Pour un défi, pourquoi ne pas regarder certains de nos projets d'impression 3D, et essayer de recréer les pièces dans OpenSCAD :

Avez-vous appris de nouvelles astuces aujourd'hui? Quelle est votre fonctionnalité OpenSCAD préférée ? Passerez-vous bientôt d'un autre outil de CAO ? Faites-nous savoir dans les commentaires ci-dessous!

Partager Partager Tweeter E-mail Comment accéder au niveau à bulle intégré de Google sur Android

Si vous avez déjà eu besoin de vous assurer que quelque chose est de niveau à la rigueur, vous pouvez désormais obtenir un niveau à bulle sur votre téléphone en quelques secondes.

Lire la suite
Rubriques connexes
  • DIY
  • La programmation
  • impression en 3D
  • modélisation 3D
A propos de l'auteur Joe Coburn(136 articles publiés)

Joe est diplômé en informatique de l'Université de Lincoln, au Royaume-Uni. C'est un développeur de logiciels professionnel, et lorsqu'il ne pilote pas de drones ou n'écrit pas de musique, on le trouve souvent en train de prendre des photos ou de produire des vidéos.

Plus de Joe Coburn

Abonnez-vous à notre newsletter

Rejoignez notre newsletter pour des conseils techniques, des critiques, des ebooks gratuits et des offres exclusives !

Cliquez ici pour vous abonner
Catégorie Diy