freecad-heini-1 wrote: ↑Wed Oct 09, 2019 7:48 am
Das mit den Assembly-Containern für jedes Einzelteil habe ich nochmal hinterfragt und an Beispielen ausprobiert ... Warum Ceremcem das empfiehlt kann ich nicht sagen. Vielleicht übersehe ich etwas.
Realthunder empfiehlt das generelle Einkapseln in Assembly Container in seinen Anleitungen auf Github, deshalb vermutlich.
Die allgemeine Verwirrung bezüglich des Workflows und der Unübersichtlichkeit des Modell-Baumes entsteht beim Anwender höchstwahrscheinlich durch das intuitive "Ausprobieren" der Funktionsweise von ASM3, so wie man es von anderen Assembly Workbenches und/oder anderen CAD Programmen gewohnt ist - man selektiert 2 Geometrie-Elemente, wählt dann die Beziehung zwischen ihnen und definiert so einen Constraint.
Da dieser Constraint auf Geometrie-Elementen basiert, ist er anfällig gegen nachträgliche Änderungen der Geometrie. Das muss man dann reparieren, wie freecad_heini (Wilfried?) in seinem Eingangsvideo auch zeigt. (Danke dafür, wieder was Neues gelernt!)
Tatsächlich liegt ASM3 aber eine andere (geniale!) Idee zugrunde (dargelegt in seinem Github Wiki). Es hilft, wenn man die Rollen "Konstrukteur" (erstellt ein Bauelement) und "Monteur" (verwendet und verbindet Bauelemente zu einer Baugruppe) vorstellt.
Jedes Bauelement soll die "Montage-Schnittstellen" für das Ansetzen von Constraints /explizit definieren/. Diese Montage-Schnittstellen werden dann unter dem "Elements"-Knoten im Modellbaum "veröffentlicht". Der Konstrukteur legt dann in seinem Bauelement fest, welches interne Geometrie-Element (Fläche, Kante, Ecke,...) mit dieser Montageschnittstelle verbunden wird.
Der Monteur baut dann verschiedene Bauelemente zu einer Baugruppe zusammen, indem er Beziehungen zwischen den so von den Konstrukteuren vordefinierten Montage-Schnittstellen (den Knoten unter "Elements") formuliert. Man beachte, dass der Monteur /keine internen Geometrie-Elemente (Kanten, Flächen,...) des Bauelements/ verwenden soll. Die sind quasi tabu für einen Monteur!
Muss jetzt der Konstrukteur ein Bauelement ändern (was öfter mal vorkommt), und ist dabei eine Montageschnittstelle betroffen (was auch öfter mal vorkommt), so stellt er eine neue Beziehung zwischen Schnittstelle und Geometrie des Bauelements her. Da sich die "öffentliche" Schnittstelle des Bauelements dabei nicht ändert, wird auch die Arbeit des Monteurs nicht gebrochen, selbst wenn die Änderungen des Konstrukteurs sehr radikal sind: Das ist DER Vorteil gegenüber anderen Assembly Workbenches.
Aus diesem Ansatz ergibt sich die Empfehlung, auch einfache Bauelemente in Assemblies zu kapseln, quasi von selbst. Außerdem ergibt sich dadurch die Notwendigkeit für die zusätzlichen "verwirrenden" Knoten in einem Assembly Element. Man könnte Realthunder vielleicht dazu überreden, den "Parts" Node zu eliminieren und die Parts direkt unter die Assembly einhängen, etwa so wie man es von einem Datei-Explorer mit Dateien in einem Verzeichnis gewohnt ist. Das würde auf jeden Fall die Hierarchie deutlich flacher und übersichtlich machen.
Falls ein Bauelement noch keine Montageschnittstellen definiert, kann man sie auch "on-the-fly" erstellen, und auch bei Modelländerungen reparieren, so wie Wilfried es in seinem Eingangsvideo zeigt. Dabei vermischen sich die Rollen "Konstrukteur" und "Monteur". Wenn man aber Realthunder's Konzept aber noch nicht verinnerlicht hat, sind Workflow, Effekte und Darstellung sicherlich doch sehr verwirrend, aber wie gesagt, es macht alles wirklich Sinn.
Darstellung und vor allem Benennungen könnte man sicherlich noch verbessern - "Elements" z. B. war für mich bei der Einarbeitung zunächst ziemlich nichtssagend...
Ich hoffe, ich finde auch mal die Zeit, diese Vorgehensweise in ein Video zu packen. Oder mindestens in eine bebilderte Anleitung (hab noch keinen Screen Recorder...).
Schöne Grüße
Ulrich
Moment, ich lese gerade noch mal Korrektur, da kommen noch kleine Änderungen rein...