Antimon - CAD aus einer Parallelwelt

    Unter den dreidimensionalen CAD-Systemen sind Programme, die zwei grundlegende Konstruktionsansätze implementieren, am bekanntesten: direkte Modellierung und parametrische.

    Darüber hinaus gibt es prozedurale CAD-Systeme, die eine Modellierung durch Programmierung ermöglichen. Dieser Ansatz hat unter Fans von Programmierung und Design von Geräten mit Open Source Code und Konstruktion Anerkennung gefunden. Zum Beispiel das bekannte OpenSCAD, das hier mehr als einmal erwähnt wird.

    Ich schlage vor, ein anderes ungewöhnliches CAD-System namens Antimon zu betrachten.

    Bild
    Abb. 1. Antimon - CAD aus einer Parallelwelt

    Antimon ist ein Open-Source-CAD-System, das einen Ansatz für die Volumenmodellierung mithilfe gerichteter azyklischer Diagramme bietet.

    Dieser Ansatz wird in verschiedenen Paketen zur 3D-Visualisierung, zum Texturieren und Erstellen von Spielgrafiken verwendet, und für die Festkörpermodellierung wird dieser Ansatz wahrscheinlich zum ersten Mal verwendet.

    Der Autor selbst, Matt Keater, beschreibt sein Geisteszeug als "CAD aus einem Paralleluniversum".
    Antimon besteht aus drei Hauptkomponenten:

    • Der Rahmen für die Bewegung von Daten in einer gerichteten azyklischen Grafik.
    • Ein geometrischer Kern für CSG-Operationen (Constructive Solid Geometry), bei dem eine funktionale Darstellung (F-Rep) von Festkörpern verwendet wird.
    • Bibliothek von Primitiven und Transformationen "fab". Die Bibliothek enthält sowohl übliche Operationen wie Verschiebung, Skalierung, Rotation, boolesche Operationen als auch ungewöhnlichere für Solid-State-CAD-Systeme, wie Verformung der Anziehungskraft, Abstoßung, Biegung.

    Bild
    Abb. 2. Abstoßungsdeformation Die Volumenmodellierung

    in Antimon wird durch Verbinden von Graphenknoten durchgeführt.
    Ein Knoten ist ein Primitiv oder eine Transformation.

    Jeder Knoten verfügt über Felder, in die Werte manuell eingegeben werden können. Sie können in Abhängigkeit von den Parametern eines anderen Knotens festgelegt werden, indem sie sich auf den Namen des Knotens und des Feldes beziehen und den Knoten mit dem vorherigen Knoten verbinden.

    Bild
    Abb. 3. Werte durch Kommunikation und durch Knotennamen und Parameter übergeben

    In jedem Knoten befindet sich ein Python-Skript, das bearbeitet werden kann. Sie können auch neue Knoten mit eigenen Skripts erstellen.

    Verknüpfungen innerhalb des Diagramms ermöglichen die automatische Weitergabe von Änderungen.

    Bild
    Abb. 4. Skriptknoten "Kreis"

    Das Prinzip des Modellbaus ist im Grunde dasselbe wie in den bekannteren CAD-Systemen: Wir nehmen eine flache Figur, wenden die dreidimensionale Körperkonstruktion darauf an (oder nehmen sofort ein dreidimensionales Grundelement), kombinieren diesen Körper mit anderen über Boolesche Operationen oder wenden Verschiebungs- und Verformungsoperationen an .

    Modelle können entweder aus einem oder mehreren Körpern bestehen. Antimony erzwingt keine feste parametrische Verbindung, es sei denn, der Benutzer gibt eine Verbindung an. Die Auswahl an flachen Zahlen ist gering, aber es sind alles geschlossene Bereiche, daher gelten für sie dieselben logischen Operationen wie für Körper.

    Die Benutzeroberfläche wird durch zwei
    Hauptfenster dargestellt : ein Diagrammfenster und ein Ansichtsfenster (Viewport). Sie können ein zusätzliches Ansichtsfenster mit einem Komplex aus vier Projektionen öffnen.

    Bild
    Abb. 5. Minimalismus im gesamten

    Bedienungsmenü kann durch Klicken mit der rechten Maustaste an einer beliebigen Stelle im Diagrammfenster und im Ansichtsfenster aufgerufen werden.

    Zusätzlich zu den oben genannten Methoden zum Ändern der Parameter von Knoten ist es möglich, mit Grundelementen und Operationen zu interagieren, indem sie mit der Maus über die aktiven Punkte gezogen werden.

    Da der Autor des Programms in Formlabs arbeitet, kümmerte er sich um die Möglichkeit, die erhaltenen Modelle zu materialisieren. Daher unterstützt Antimon das Exportieren von Modellen in Form eines 2.5D-Rasters (Höhenkarten im PNG-Format) und in Form von Modellen im STL-Format für den 3D-Druck. Der Exportbefehl ist auch ein Diagrammknoten.

    Bild
    Abb. 6. Export nach STL

    Und einige der Mängel:

    • Es werden keine Modelle aus anderen CAD-Systemen importiert.
    • Die Unmöglichkeit, eine beliebige flache Kontur als Skizze für einen dreidimensionalen Körper festzulegen, begrenzt die Modellierungsmöglichkeiten erheblich.
    • Die Frage, wie Fasen und Rundungen sinnvoll erstellt werden können, bleibt offen.
    • Die Stabilität des Projekts wird als Beta-Version eingeschätzt. Es lohnt sich vielleicht nicht, etwas ernsthaftes in Antimon zu machen, aber es wird interessant sein, es zu spielen.

    In Erwartung der Empörung von Konstrukteuren sollte ich festhalten, dass ein solches CAD-System in erster Linie nicht für praktische Zwecke, sondern aus persönlichen sportlichen oder wissenschaftlichen Interessen des Autors erstellt wurde. Es ist klar, dass wir hier nicht über Zeichnungen sprechen, da Antimon ausschließlich für die Modellierung dreidimensionaler Körper entwickelt wurde.

    Ich werde den persönlichen Eindruck erwecken, dass das Spielen mit dem Modellieren in Antimon recht ungewöhnlich und interessant ist und das fast vollständige Fehlen von Elementen der Benutzeroberfläche dabei hilft, sich in den Modellierungsprozess zu vertiefen und eine gute Zeit zu haben.

    Der Autor hat den Namen für sein ungewöhnliches CAD-System nicht zufällig gewählt. Antimon wird als Antimon übersetzt - eine Substanz, die die Eigenschaften von Metallen und Nichtmetallen kombiniert und sich ausdehnt, wenn sich die Schmelze verfestigt.

    Es ist interessant, das Programm in der Arbeit im Screencast von Matt Keater zu sehen:


    GitHub

    Antimon ist in C ++ und Python geschrieben. Im Repository finden Sie Anweisungen zum Erstellen von Quellcode für Linux und macOS sowie fertige DMG-Images.

    Jetzt auch beliebt: