Guide du débutant sur OpenSCAD : modèles de programmation pour l’impression 3D
Vous avez toujours voulu concevoir vos propres modèles 3D ? Que diriez-vous d’imprimer en 3D la pièce que vous avez conçue ? Il existe de nombreux programmes de modélisation 3D, mais si vous n’êtes pas un amateur d’art (comme moi), ils peuvent être difficiles à utiliser. OpenSCAD vous permet de concevoir des modèles spécifiquement pour l’impression 3D, en utilisant uniquement codeSi vous ne savez pas non plus comment coder, ne vous inquiétez pas, aujourd’hui je vais vous guider à travers les bases.
Qu’est-ce qu’OpenSCAD ?
OpenSCAD est gratuit Conception solide assistée par ordinateur modeleur. Il est disponible pour Windows, Mac et Linux. Il diffère de nombreux autres programmes en ce sens que vous utilisez du code au lieu de la souris pour concevoir des pièces. Il est ainsi très facile de faire des calculs, de stocker des dimensions dans des variables, de redimensionner des pièces, etc.
Il y a quelques facteurs à prendre en compte lors de l’impression de modèles 3D, mais beaucoup d’entre eux s’appliquent généralement aux modèles CAO imprimés en 3D, 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 notre guide de création d’objets dans Sketchup.
démarrer la configuration
Tout d’abord, accédez à la page de téléchargement et recherchez la version d’OpenSCAD pour 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. Vous verrez ce menu de démarrage :
Cela vous montrera le dernier fichier que vous avez ouvert et vous donnera la possibilité de charger des exemples. N’hésitez pas à regarder quelques exemples, mais je trouve que ceux-ci rendent les choses plus confuses en premier lieu.Pour ce tutoriel, cliquez sur Nouveau bouton.
Faire une vidéo du jour
Une fois ouvert, vous verrez cette interface nue :
Celui-ci est divisé en trois domaines principaux.la gauche est à toi Éditer et menus. C’est ici que vous écrirez votre code. Puisque vous créez un nouveau fichier, il n’y a pas encore de code ici. En haut, il y a des boutons de menu pour les tâches de base telles que charger, enregistrer, annuler, etc.
en bas à droite est confortCela vous montrera toutes les erreurs de construction du modèle.
La dernière partie est Interface principale Dans le coin supérieur droit. Ici, vous pouvez interagir avec votre modèle, mais vous ne pourrez pas le modifier ici (vous écrirez du code pour le faire).
Il y a plusieurs boutons au bas de cette interface principale. Ceux-ci vous permettent principalement de visualiser vos conceptions de différentes manières.
allez-y et appuyez sur bouton enregistrer à l’intérieur Menu de l’éditeur ou aller document > sauvegarder.
Base
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.
Voici la première forme, une simple boîte :
Voici le code qui le produit :
cube(); // crée un cube
Pour que votre code s’exécute et crée le modèle, vous devez le prévisualiser.Par défaut, OpenSCAD le fait à chaque fois que vous enregistrez, ou vous pouvez appuyer sur F5 Forcer l’actualisation. Essayez de vous déplacer dans l’espace 3D en maintenant enfoncé le bouton 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 avec aucun système de mesure particulier, à la place, les unités sont liées les unes aux autres. Vous pouvez créer une boîte de 20 x 10, c’est à n’importe quel autre programme (comme votre trancheuse imprimée en 3D) de les interpréter, qu’elles soient métriques ou impériales. Il offre en fait beaucoup de flexibilité.
Ajoutons quelques dimensions à votre cube.Pour ce faire, passez des paramètres à cube méthode:
cube(taille = [10, 20, 30]); // rectangle
valeur dix, 20et 30 Indique la taille du cube X, Ouiet Z axe. Remarquez comment cela produit un rectangle plus grand :
Par défaut, OpenSCAD dessine les composants à partir du coin inférieur gauche.Vous pouvez définir central Les paramètres sont réelVoici le code pour faire cela pour le rectangle :
cube(taille = [10, 20, 30]center=true); // centre le rectangle
Voici à quoi cela ressemble :
Le centrage d’un objet fonctionne pour des formes simples, mais cela complique les choses avec des objets asymétriques. Vous devez décider quelle méthode vous convient le mieux.
Passons à des formes plus complexes, en voici une cylindre:
Voici le code pour le créer :
cylindre(d=10, h=10, center=true); // cylindre
contrairement à cube, cylindre Dessine automatiquement au centre des axes X et Y.cette ré représentation des paramètres diamètre (Vous pouvez passer le rayon à la place si vous le souhaitez).cette H Le paramètre est la hauteur. Mais il y a quelque chose qui ne va pas ici. Ce cylindre a l’air « bloc ». Vous devez augmenter le nombre de faces dessinées sur la circonférence. C’est facile à faire – ajoutez les paramètres suivants à votre code de cylindre.
$fn = 100
Ainsi la définition du cylindre devient :
cylindre(d=10, h=10, center=true, $fn=100);
Il ressemble à ceci :
Cela augmente le nombre de faces nécessaires pour faire le cercle – 100 est un bon point de départ. Gardez à l’esprit que cela augmentera considérablement le temps de rendu, en particulier sur les modèles complexes, il est donc généralement préférable de le laisser activé jusqu’à ce que vous ayez terminé la conception.
Appliquer des transformations aux formes est facile. Avant de créer la forme, vous devez appeler des méthodes spéciales.Voici comment le faire à l’aide d’un cylindre rotatif tourner méthode:
tourner(a= [0, 90, 0]) cylindre(d = 10, h = 10, centre = vrai); // tourne le cylindre
Passer au Une sorte de Le paramètre représente l’angle de rotation des axes X, Y et Z. Le résultat est le suivant :
Une autre fonctionnalité très utile est TraduireCela vous permet de déplacer des objets dans l’espace 3D. Encore une fois, vous devez transmettre la quantité de mouvement pour chaque axe. Le résultat est le suivant :
Voici le code :
traduire (v = [0, 25, 0]) cylinder(d = 10, h = 10, center = true); // translate le cylindre
apprendre Traduire Les méthodes sont l’une des choses les plus importantes que vous puissiez faire. Il est nécessaire pour concevoir les conceptions les plus complexes.
Enfin, une autre forme utile est domaine:
Voici le code :
sphère(d = 100);
Tout comme un cylindre, vous pouvez utiliser $fn le 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 manière dont elle sera composée de formes et d’objets plus petits. Vous n’êtes pas obligé, vous pouvez toujours « inventer », mais avoir un plan approximatif peut vraiment aider – même si c’est juste dans votre tête.
Créons une forme avancée : un cube avec une sphère évidée à l’intérieur.Créer cube et un domaine et central Définir sur vrai.utiliser la différence méthode:
la différence() {
// soustraire
cube(taille = [50, 50, 50]center=True); // cube extérieur
sphere(d = 65, center = true); // sphère intérieure
}
Le résultat est le suivant :
Diamètre d’essai (ré paramètres de la sphère) et voyez ce qui se passe.
Dans OpenSCAD, il existe généralement plusieurs façons d’accomplir la même tâche. Si vous voulez une rainure sur un cube, vous pouvez en soustraire un autre cube ou en ajouter deux autres. Peu importe généralement la manière dont cela est fait, mais selon la complexité de la pièce, il peut être plus facile de faire quelque chose 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 circulaire.Remarquez comment la différence méthode à utiliser à nouveau, et comment Traduire et tourner Des méthodes sont utilisées pour manipuler des formes.utiliser tourner Les méthodes rendent souvent la conversion délicate, alors jouez avec les paramètres jusqu’à ce que vous obteniez le résultat souhaité. Voici le code :
la différence() {
// soustraire
cube(taille = [50, 150, 50]); // cube extérieur
traduire (v = [25, 150, 50]) tourner (a = [90, 0, 0]) cylindre(d = 40, h = 150); // canal de cylindre
}
Il ressemble à ceci :
Vous vous demandez peut-être ce que sont tous ces trucs verts. En effet, le modèle 3D n’est plus qu’un aperçu.Pour résoudre ce problème, appuyez sur F6 Effectuez le rendu complet du modèle. Cela peut prendre un certain temps, selon la complexité. Aperçu (F5) est généralement suffisant lorsque vous travaillez.Voici à quoi ressemble le rendu final (en utilisant $fn mis à 100) :
Voici un autre exemple avancé. Disons que vous voulez monter quelque chose avec des boulons.Créer un trou est aussi simple que d’utiliser cylindre, mais que se passe-t-il si vous voulez un montage à tête affleurante pour un boulon à tête fraisée ? Vous pouvez simplement créer un gros cylindre pour la tête de boulon, mais cela n’a pas l’air bien.La solution est de chanfreiner, vous pouvez utiliser cylindre méthode. L’astuce ici est de spécifier deux diamètres – d1 et d2Faites ces différentes tailles et laissez le reste à OpenSCAD.
Puisque je suis britannique, j’utiliserai ici des tailles métriques, pour les boulons à tête fraisée M5. Vous pouvez facilement l’ajuster pour s’adapter à n’importe quel appareil que vous souhaitez utiliser. Voici le code :
$fn = 100 ;
// Paramètres des boulons
m5_clearance_diameter = 5,5 ;
m5_head_clearance_diameter = 11 ;
m5_head_depth = 5 ;
la différence() {
// soustraire
cube(20, 20, 20);
Trous de boulon (10, 10, 20);
boulon_biseau(10, 10, 15);
}
modulebolthole(x,y,hauteur){
/* Trou M5 à 90 degrés. */
traduire (v = [x, y, 0]) cylindre(d = m5_clearance_diameter, h = hauteur);
}
module bolt_bevel(x, y, z) {
// Biseau M5
traduire (v = [x, y, z]) cylindre(d2 = m5_head_clearance_diameter, d1 = m5_clearance_diameter, h = m5_head_depth);
}
Remarquez comment la taille du boulon est stockée dans la variable ? Cela rend le codage et la maintenance beaucoup plus faciles.Une façon que vous n’avez peut-être pas rencontrée est moduleCela vous permet de définir un bloc de code à exécuter quand vous le souhaitez.En fait, c’est un Caractéristiques. Tu devrais utiliser module et variable Pour toute forme complexe car ils facilitent la lecture et toute modification peut être effectuée plus rapidement. Voici à quoi ressemble le chanfrein :
Prenons un dernier exemple. Supposons que vous vouliez générer une série de trous autour d’un cercle. Vous pouvez mesurer, traduire et faire pivoter tout cela manuellement, 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 ;
nombre_de_trous = 10 ;
pour (je = [1 : 360 / number_of_holes : 360]) {
// number_of_holes définit le nombre de fois que ce code s’exécute
faire cylindre(i);
}
module make_cylindre(i) {
// Fabriquez des cylindres et répartissez-les uniformément
tourner ([0, 0, i]) Traduire([10, 0, 0]) cylindre(h = 2, r = 2);
}
Ce code est plus simple que vous ne le pensez.Une sorte de pour boucle pour appeler cylindre de fabrication Module dix fois. Puisqu’un cercle a 360 degrés et 360/10 = 36, chaque cylindre doit être tourné par incréments de 36 degrés.Chaque itération de cette boucle incrémente Une génération variables 36.Cette boucle appelle cylindre de fabrication module, qui dessine simplement un cylindre et le positionne en fonction des degrés qui lui sont passés par la boucle.Vous pouvez modifier nombre_de_trous Variables – bien que vous souhaitiez peut-être ajuster l’espacement si vous le faites. Voici à quoi ressemblent 100 cylindres, légèrement superposés :
sortie
Maintenant que vous savez comment…