Parmi les systèmes de CAO tridimensionnels, les plus connus sont les programmes qui mettent en œuvre deux approches de conception principales: la modélisation directe et paramétrique.
De plus, il existe des systèmes de CAO procéduraux qui permettent la modélisation par programmation. Cette approche a gagné la reconnaissance parmi les amateurs de programmation et de conception d'appareils avec open source et design. Par exemple, OpenSCAD est bien connu, ce qui a été mentionné plus d'une fois.
Je suggère de regarder un autre système de CAO inhabituel appelé Antimony.
Fig. 1. Antimoine - CAD d'un monde parallèleAntimony est un logiciel de CAO open source qui fournit une approche de la modélisation solide à l'aide de graphiques acycliques dirigés.
Cette approche est utilisée dans divers packages pour la visualisation 3D, la texturation et la création de graphiques de jeu, et pour la modélisation à l'état solide, cette approche est probablement utilisée pour la première fois.
L'auteur Matt Keater lui-même décrit son idée originale comme «CAD d'un univers parallèle».
Antimony est constitué de trois composants principaux:
- Un cadre pour déplacer des données le long d'un graphique acyclique dirigé.
- Le noyau géométrique des opérations CSG (Constructive Solid Geometry) utilisant la représentation fonctionnelle (F-Rep) des solides.
- Bibliothèque de primitives et transformations "fab". La bibliothèque contient à la fois des opérations familières telles que le déplacement, la mise à l'échelle, la rotation, les opérations booléennes et plus inhabituelles pour les systèmes de CAO à l'état solide, telles que la déformation de l'attraction, de la répulsion, de la flexion.
Fig. 2. Déformation de répulsionLa modélisation solide d'antimoine se fait en connectant des nœuds de graphe.
Un nœud est une primitive ou une transformation.
Chaque nœud possède des champs dans lesquels des valeurs peuvent être saisies manuellement, définies en fonction des paramètres d'un autre nœud, y accédant par le nom du nœud et du champ, et connectant le nœud au précédent.
Fig. 3. Transfert de valeurs par la communication et par le nom du nœud et du paramètreÀ l'intérieur de chaque nœud se trouve un script Python qui peut être modifié, et vous pouvez également créer de nouveaux nœuds avec vos propres scripts.
Les relations au sein du graphique permettent une propagation automatique des modifications.
Fig. 4. Le nœud de script "cercle"Le principe de construction du modèle en termes généraux est le même que dans les systèmes de CAO les plus connus: nous prenons une figure plate, lui appliquons l'opération de construction d'un corps tridimensionnel (ou prenons immédiatement une primitive tridimensionnelle), puis combinons ce corps avec d'autres à l'aide d'opérations booléennes ou utilisons les opérations de déplacement et de déformation .
Les modèles peuvent être à corps unique ou à corps multiples, Antimony n'impose pas de connexion paramétrique rigide tant que l'utilisateur n'a pas défini la connexion. Le choix des figures planes est petit, mais toutes sont des zones fermées, donc les mêmes opérations logiques s'appliquent à elles qu'aux solides.
L'interface utilisateur est représentée par deux fenêtres principales: la fenêtre graphique et
fenêtre (fenêtre). Vous pouvez ouvrir une fenêtre d'affichage supplémentaire avec un ensemble de quatre projections.
Fig. 5. Le minimalisme en toutLe menu des opérations peut être appelé en cliquant avec le bouton droit de n'importe où dans la fenêtre graphique et la fenêtre d'affichage.
En plus des méthodes ci-dessus de modification des paramètres des nœuds, il est possible d'interagir avec les primitives et les opérations, en les faisant glisser avec des points de souris actifs.
Depuis que l'auteur du programme travaille dans Formlabs, il s'est occupé de la possibilité de matérialiser les modèles résultants. Par conséquent, Antimony prend en charge l'exportation de modèles sous forme de raster 2.5D (cartes de hauteur au format PNG) et sous forme de modèles au format STL pour l'impression 3D. La commande d'exportation est également un nœud de graphique.
Fig. 6. Le résultat de l'exportation vers STLEt un peu sur les défauts:
- Il n'y a pas d'importation de modèles à partir d'autres systèmes de CAO.
- L'incapacité de définir un contour plat arbitraire comme esquisse pour un corps tridimensionnel limite considérablement les possibilités de modélisation.
- La question de savoir comment faire rationnellement des chanfreins et des filets reste ouverte.
- Le niveau de stabilité du projet est estimé en version beta, cela ne vaut probablement pas la peine d'essayer quelque chose de sérieux à faire dans Antimony, mais ce sera intéressant à jouer.
Attendant l'indignation des ingénieurs de conception, je dois dire qu'un tel système de CAO a été créé principalement non à des fins pratiques, mais par intérêt personnel sportif ou scientifique de l'auteur. Il est clair que nous ne parlons ici d'aucun dessin, car Antimony est conçu exclusivement pour la modélisation de corps tridimensionnels.
Je vais exprimer mon impression personnelle que jouer avec la modélisation dans Antimony est assez inhabituel et intéressant, et l'absence presque complète d'éléments d'interface utilisateur contribue à l'immersion dans le processus de modélisation et à un passe-temps agréable.
L'auteur n'a pas choisi le nom de son système de CAO inhabituel par hasard. L'antimoine est traduit par l'antimoine - une substance qui combine les propriétés des métaux et des non-métaux, et se dilate lorsque la fusion se solidifie.
Il est intéressant de voir le programme en cours sur le screencast de Matt Keater:
GithubAntimony est écrit en C ++ et Python. Le référentiel contient des instructions d'assemblage de la source pour Linux et macOS, et des images DMG prêtes à l'emploi.