tutoriel OpenSCAD

tutoriel OpenSCAD
Faire une partie mécanique nécessite un dessin. Cela a commencé avec du papier, et les premiers programmes de CAO ont utilisé exactement le même style. Il y a même des carrés standard sur les dessins afin que chaque dessin soit identifié. Tout cela est utile lorsque vous commencez à entrer en production dans les grandes entreprises. Cependant, lorsque vous commencez à créer une nouvelle pièce mécanique, vous voudrez peut-être d'autres méthodes.

Les méthodes de CAO 3D vous permettent de voir toute la pièce telle qu'elle est. Vous pouvez également le tordre et le tourner. Dans un logiciel avancé, vous pouvez également simuler le mouvement. Dans tous les cas, vous dessinez les pièces à l'aide d'une interface graphique. C'est idéal pour faire des boîtes et des cylindres, mais lorsque vous voulez faire des formes plus complexes, vous aurez peut-être besoin de méthodes mathématiques.

Entrez un moyen standard de décrire tout matériel avec des commandes.

Ce qui rend OpenSCAD si spécial?

Dans OpenScad, vous ne dessinez rien avec votre pointeur ou votre stylo. Vous codez la pièce entière avec des commandes et des fonctions. C'est gênant pour les ingénieurs mécaniques, mais pour les programmeurs, vous avez une autre situation. Outre les préférences personnelles, vous avez également l'avantage de la précision. Lorsque vous le concevez avec du code, vous y avez la précision dans le code.

La caractéristique la plus puissante d'OpenSCAD est les opérations binaires. Vous pouvez utiliser des opérateurs binaires pour rassembler des pièces ou couper du matériel. Il est facile de faire un cube avec un trou au centre en rétractant le cylindre du cube. Certaines de ces opérations sont disponibles dans d'autres logiciels CAO, mais il tombe naturellement pour les utiliser dans OpenSCAD.

Quels sont vos besoins de projet?

Après avoir mis votre design sur une serviette, vous pouvez penser que vous devez voir ce qui se passe lorsque vous essayez d'en faire un design complet. Ne t'inquiète pas; Il y a une fenêtre d'aperçu à regarder pendant que vous codez. Une fois que vous comprenez les idées de base, vous saurez si c'est le meilleur ajustement pour votre projet.

Bref, si vous voulez créer de petits morceaux qui ont des formes complexes, vous devriez essayer OpenSCAD. Pour l'équipement complet et les systèmes mécaniques, vous souhaitez utiliser des applications graphiques plus avancées. Cela dit, tout est une question de goût. Vous pouvez faire des formes compliquées avec juste du code, envisageriez-vous de coder une voiture entière?

Installation

OpenSCAD, disponible dans vos référentiels standard pour la plupart des distributions, peut également être installé à l'aide d'un snap et applimage. Il est intéressant de noter que vous avez également un deuxième paquet qui comprend des vis, des engrenages et des formes génériques. Le nouveau package est dans le snap OpenScad-Nightly.

Sudo Apt Install OpenSCAD
Sudo Snap Install OpenCad-Nightly

Si vous souhaitez utiliser les vis inclus qui viennent comme un package séparé, utilisez les référentiels de votre distribution.

Sudo Apt Install OpenSCAD-MCAD

L'utilisation des pièces incluses est une autre affaire, couverte plus bas.

Plusieurs formes standard

Les principes de la CAO de script sont que vous avez quelques formes géométriques standard. Vous utilisez ces formes et les combinez en formes plus complexes. Les formes standard sont du cercle, du carré et du polygone pour 2D. Pour la 3D, vous avez une sphère, un cube, un cylindre et un polyèdre. En utilisant certains d'entre eux pour construire et d'autres à couper, vous pouvez créer des formes très complexes.

Il existe également une fonction texte qui crée un texte 2D. Lorsque vous devez créer des dessins pour un traitement ultérieur, vous pouvez utiliser la commande de projection. Cette commande coupe une forme 3D le long d'un avion afin que vous puissiez le transférer dans un dessin. Vous pouvez également ajouter des formes d'autres programmes ou même des images, en utilisant la commande d'importation. Cela fonctionne également avec des formes 3D.

De plus, vous pouvez extruder des formes à partir d'objets existants.

Transformations

Par défaut, vous créez toutes les pièces au point central de la grille dans toutes les dimensions. Cela les fait se chevaucher. Une fois que vous avez un certain nombre de formes, vous voulez les faire placer au bon endroit et tourner. Ces fonctions sont les simples, tradlate met l'objet dans un autre endroit. La commande rotative fait pivoter l'objet ou les objets enfants. Vous avez également la fonction miroir, qui crée une copie de l'objet reflété autour de l'essieu donné.

Les autres transformations ont besoin d'exemples pour expliquer. Bref, Hull crée les lignes extérieures de nombreuses formes. Essayez avec deux cercles et combinez-les avec Hull (). Ou le code ci-dessous.

traduire ([- 10,0,0])
coque()
cylindre (30, 5, 1);
cube (9);
sphère (12);

L'opération Minkowski est généralement utilisée pour créer des bords; Si vous les voulez arrondi, utilisez une sphère.

Opérations booléennes

De nombreuses pièces ne peuvent pas être créées avec seulement des carrés, des cylindres et des sphères. La première chose que vous pouvez faire est de combiner et de couper de nombreuses formes en une seule forme. Vous utilisez des opérateurs booléens pour le faire. Ils sont l'union, la différence et l'intersection.

syndicat()
cube ([35, 5, 2], centre = true);
cylindre (h = 2, r = 5, centre = true);

Dans le code ci-dessus, vous obtenez une seule pièce qui a une ampoule au centre. Pour faire un tube, vous prenez la différence entre un cylindre et un autre.

différence()
cylindre (h = 15, r1 = 30, r2 = 30, centre = vrai);
cylindre (h = 15, r1 = 25, r2 = 25, centre = true);

Au fur et à mesure que nous allons, vous les utiliserez et plus. Voici un exemple d'intersection.

intersection()

tourner ([45,0.0])
cylindre (h = 40, r = 4, centre = true);
traduire (5,5,5)
cylindre (h = 40, r = 6, centre = true);

L'intersection ne laisse que les trucs qui se chevauchent; Vous pouvez créer de nombreuses formes en utilisant cette méthode.

Pour boucles

Beaucoup de vos créations auront la même pièce plusieurs fois, considéreront un patio. Ils sont généralement composés de plusieurs planches avec des lacunes entre eux. Dans ce cas, vous faites une planche et il vous suffit de les itérer avec une boucle pour une boucle.

écart = 8;
PLANK_WIDTH = (bed_width / 4) - GAP;
num_planks = 4;
pour (Plank_x_pos = [0: 1: num_planks - 1])

traduire ([Plank_width * PLANK_X_POS + GAP * PLANK_X_POS, 0,0])
cube ([Plank_width, 4 200]);

Sans la boucle FOR, vous auriez écrit le cube et traduire les déclarations quatre fois. Vous auriez également dû calculer à quel point la prochaine planche irait. Même avec seulement quatre pièces, cette solution semble beaucoup plus facile. Dans l'exemple, vous pouvez également voir des variables qui doivent être définies. Toutes les variables sont définies au moment de la compilation, cela est important car vous pouvez rencontrer des problèmes de débogage si vous les considérez comme des valeurs dans d'autres langages de programmation. Comme vous le verrez plus tard, vous pouvez également faire du patio entier un module.

Mathématiques

Inclus dans OpenSCAD, vous avez quelques fonctions mathématiques disponibles. Les fonctionnalités prises en charge sont les fonctions les plus trigonométriques, arrondies de différentes manières et fonction logarithmique. Vous pouvez voir un exemple ci-dessous.

pour (i = [0:36])
traduire ([i * 10,0,0])
cylindre (r = 5, h = cos (i * 10) * 50 + 60);

La fonction ci-dessus crée une longue rangée droite de cylindres d'une hauteur différente. Les fonctions principales sont connectées à la trigonométrie. Cependant, avec des fonctions d'arrondi aléatoires et les opérateurs standard, vous pouvez créer à peu près tout. Il y a également une prise en charge des vecteurs, des matrices et de la racine carrée. Même avec ces fonctions, vous pouvez aller très loin. Cependant, ils ne couvrent pas tout ce que vous pouvez imaginer; Au lieu de cela, vous pouvez créer des fonctions.

Modules et fonctions

Vous avez de nombreux modules inclus dans l'installation d'OpenSCAD. Cependant, vous pouvez également télécharger d'autres bibliothèques. Dans votre distribution, vous trouvez probablement MCAD, également appelé OpenSCAD-MCAD. Pour installer sous Ubuntu.

$ sudo apt install opencad-mcad

À l'intérieur de ce package, vous trouvez à la fois des modules et des fonctions. Avant de commencer tout projet, recherchez les bibliothèques et les modules. Il y a déjà une bibliothèque de vis, et ce n'est que le début. Manquer une partie de votre conception? Faites vos propres modules; vous les utilisez pour faire de nouvelles pièces. Lorsque vous utilisez des paramètres, vous pouvez en faire de nombreuses versions. La meilleure façon de créer un module est de faire la conception en tant que fichier séparé, de déterminer ce qui doit être dynamique et d'ajouter le «module» autour de la pièce.

Pour utiliser un module, vous l'appelez par son nom. Étant donné que de nombreux modules sont disponibles dans des fichiers séparés, vous devez mettre une instruction inclue en haut de votre fichier. Faites attention à la différence entre la déclaration «inclure» et la déclaration «Utiliser». Si vous voulez que tout dans un fichier s'exécute, vous «incluez», si vous voulez des modules et des fonctions définis uniquement, «utilisez» le fichier. Pour vous assurer que vous pouvez utiliser les modules, vous devez les mettre dans le répertoire actuel de votre modèle ou l'un des chemins de recherche.

Tout d'abord, regardons quelques-uns que vous pouvez télécharger et utiliser.

Des vis

Dans le package de la section précédente, vous pouvez trouver beaucoup de choses. Un groupe est des vis! Vous pouvez les essayer en les chargeant dans l'application et en appelant le module. Dans la bibliothèque MCAD, vous pouvez trouver de nombreuses vis. Il existe de nombreuses autres collections d'autres sources. Pour utiliser une vis, créez un fichier qui contient l'instruction inclue pour le module dont vous avez besoin. Maintenant, partout où vous souhaitez utiliser le module, vous pouvez utiliser le nom du module pour créer votre vis.

inclure ;
ball_groove (12, 40, 2);

C'est une vis qui peut s'adapter à une balle. Vous pouvez également trouver nuts_and_bolts_scad, qui définit les vis et boulons métriques. Les concepteurs ont utilisé un site Web où vous pouvez trouver des boulons et créer une méthode à utiliser. Un autre exemple est un trou pour un boulon.

inclure
différence()
cube ([12,16,20], centre = true);
traduire ([0,0, -3])
Bolthole (8, longueur = 300);

Le code ci-dessus crée un trou suffisamment grand pour le boulon M8, cet exemple crée un cube et coupe deux cylindres de deux tailles. Ce n'est pas très compliqué, mais la complexité augmente rapidement lorsque vous utilisez d'autres composants. Ajouter les vis aux boîtes paramétriques, et vous pouvez voir comment une bibliothèque aide.

Faire un chariot

Pour faire toute construction de toute complexité, vous devrez faire une pièce à la fois. Plus tard, vous les combinez les uns avec les autres. Comme nous l'avons mentionné plus tôt, vous pouvez utiliser des modules et des fonctions. La meilleure façon de commencer est de décider où vous devez définir des variables. Pour un chariot simple, vous avez besoin de hauteur, d'empattement et de longueur. Vous devez définir les valeurs en un seul endroit et les utiliser pour faire en sorte que les pièces s'adaptent autour de la conception. Vous pouvez avoir besoin de plus de valeurs, mais ne les mettez pas tous lorsque vous commencez. Lorsque vous démarrez un nouveau projet, vous n'aurez pas toutes les pièces prêtes, alors soyez prêt à changer les choses.

empattement = 150;
cartLength = empattement * 1.2;
cartwidth = 50;
WheelDameter = 25;
SuspensionHeight = (WheelDameter / 2) + 5;
traduire ([empattement / 2, cartwidth, 0])
rotation ([90,0,0])
cylindre (r = wheelradius, 10, centre = true);
traduire ([empattement / 2, - (cartwidth), 0])
rotation ([90,0,0])
cylindre (r = wheelradius, 10, centre = true);

Le code montre le code des deux premières roues. Si vous y pensez un peu, vous pouvez probablement faire les roues arrière. Pour ajouter la flak, la surface où va tout ce qui va, vous ajoutez simplement un cube. Utilisez les variables que vous mettez dans le code.

traduire ([0, 0, SuspensionHeight])
cube ([CartLength, cartwidth, 10], centre = true);

Cette flak est sur la même hauteur que les roues, nous en avons donc pris soin avec la valeur de la hauteur de la suspension. La déclaration traduite affecte ce qui est directement après. Notez qu'il n'y a pas de demi-colon à la fin d'une ligne. Lorsque les déclarations à l'intérieur deviennent longues, vous utilisez des accolades bouclées autour.

Maintenant, vous devez ajouter des essieux et de la suspension. Les essieux peuvent être de simples cylindres qui vont entre les roues. Vous les placez de la même manière que vous avez fait les roues en utilisant et traduisez. En fait, le meilleur est d'utiliser les mêmes valeurs.

traduire ([empattement / 2,0,0])
rotation ([90,0,0])
cylindre (r = wheelradius * 0.25, h = (cartwidth * 2) + 15, centre = true);

Le code ici met l'essieu avant en place. L'essieu arrière, je vous laisse le lecteur pour comprendre. Nous pouvons résoudre la suspension à bien des égards. Dans ce cas, nous resterons simples.

// Suspension
traduire ([empattement / 2, 0, SuspensionHeight])
rotation ([90,0,0])

différence()
cylindre (r = SuspensionHeight, 10, centre = true);
cylindre (r = SuspensionHeight - 5, 11, centre = true);
Cube ([102, SuspensionHeight / 6, 12], centre = true);

traduire ([SuspensionHeight, 0, 0])
cylindre (r = SuspensionHeight / 3, h = 12, centre = true);
traduire ([- SuspensionHeight, 0, 0])
cylindre (r = SuspensionHeight / 3, h = 12, centre = true);

Ce code crée une suspension très brute; Il n'utilise que des cylindres, donc ce ne sera pas le meilleur lorsque vous commencerez à l'utiliser. Il illustre une façon de créer des conceptions forment les primitives; cylindre, cube et bien, c'est tout pour ce modèle. Au fur et à mesure que vous progressez, vous ferez chaque pièce un module et placerez ces pièces.

Bibliothèques

Dans la partie précédente, vous n'avez utilisé que des cercles. Toutes les conceptions utilisant uniquement ces primitives ne seront pas les meilleures pour toutes les applications. Vous devez créer de beaux conceptions et efficaces. La solution est les mathématiques! Pour ajouter cela, vous devriez commencer par utiliser les bibliothèques d'autres personnes.

Il y a un grand nombre de bibliothèques construites par des personnes intelligentes dans la communauté. Les personnes qui construisent sont des utilisateurs qui résolvent leurs problèmes, puis le partagent gracieusement avec tout le monde. Merci à tous! Un bon exemple est Dotscad; Pour l'exemple de suspension, vous pouvez trouver une courbe Bézier.

Exportation vers d'autres logiciels

Une fois que vous avez une conception décente, vous voudrez peut-être l'utiliser dans un autre logiciel. Vous pouvez exporter vers STL, DWG et une foule d'autres formats. Vos amateurs d'impression 3D peuvent utiliser les fichiers STL directement dans vos programmes Sliner.

Alternatives

Une autre alternative passionnante est implicite. Ce logiciel est très en développement. Vous devez exécuter sa ligne de commande et cela nécessite Haskell sur votre système. La plupart des installations standard n'ont pas Haskell!

Conclusion

Au début, un coup d'œil, l'utilisation d'OpenSCAD est très difficile. Dépasser la courbe d'apprentissage est un peu difficile, mais cela en vaut la peine pour de nombreux utilisateurs. Grâce aux projets pour contribuer au projet. Vous avez de nombreuses fonctionnalités disponibles à la fin d'une commande git. Il suffit de parcourir les bases de la création de conceptions mécaniques à travers le code change votre façon de penser les formes. Ceci est bénéfique même si vous continuerez à utiliser Point et cliquez pour faire vos autres projets.

  • https: // www.ouvrir.org / documentation.html?Version = 2019.05
  • http: // edutechwiki.unifier.ch / en / openscad_beginners_tutorial
  • https: // www.ouvrir.org / trichetheet / index.html