Topological naming problem/de

Einleitung
Das topologische Benennungsproblem in FreeCAD bezieht sich auf die Frage, ob eine Form ihren internen Namen nach einer Modellierungsoperation (Polstern, Schnitt, Vereinigung, Fase, Verrundung, usw.) ändert. Dies führt dazu, dass andere parametrische Merkmale, die von dieser Form abhängen, brechen oder falsch berechnet werden. Dieser Sachverhalt betrifft alle Objekte in FreeCAD, ist aber besonders bemerkenswert, wenn Volumenkörper mit der Arbeitsbereich PartDesign erstellt  und diese mit der  TechDraw Arbeitsbereich dimensioniert werden.
 * Wenn in [[Image:Workbench_PartDesign.svg|24px]] PartDesign ein Merkmal auf einer Fläche (oder Kante oder Scheitelpunkt) unterstützt wird, kann das Merkmal brechen, wenn der zugrunde liegende Volumenkörper seine Größe oder Ausrichtung ändert, da die ursprüngliche Fläche (oder Kante oder Scheitelpunkt) intern umbenannt werden kann.
 * Wenn in [[Image:Workbench_TechDraw.svg|24px]] TechDraw eine Dimension die Länge einer projizierten Kante misst, kann die Dimension brechen, wenn das 3D-Modell geändert wird, da die Knoten umbenannt werden können, wodurch die gemessene Kante geändert wird.

Der Sachverhalt der topologischen Benennung ist ein komplexes Problem bei der CAD Modellierung, das daraus herrührt, wie die internen FreeCAD Routinen Aktualisierungen der mit dem OCCT Kernel erstellten geometrischen Formen handhaben. Ab FreeCAD 0.19 gibt es kontinuierliche Bemühungen, die Kernverarbeitung von Formen zu verbessern, um solche Probleme zu reduzieren oder zu beseitigen.


 * Forumsbeitrag: Topological Naming, My Take

Das Problem der topologischen Benennung betrifft und verwirrt neue Anwender von FreeCAD am häufigsten. In PartDesign wird dem Anwender empfohlen, die auf der Seite Funktionsbearbeitung beschriebenen optimalen Vorgehensweisen zu befolgen. Die Verwendung von unterstützenden Bezugsobjekten wie Ebenen und local coordinate systems wird dringend empfohlen, Modelle zu erstellen, die nicht leicht solchen topologischen Fehlern ausgesetzt sind. In TechDraw wird dem Anwender empfohlen, Bemaßungen nur dann hinzuzufügen, wenn das 3D-Modell vollständig ist und nicht mehr geändert wird.

Beispiel
1. Erstelle in der Arbeitsbereich PartDesign einen  PartDesign Körper, verwende dann  PartDesign Neue Skizze und wählen die XY-Ebene, um die Basisskizze zu zeichnen; führe dann ein  PartDesign Polster aus, um einen ersten Volumenkörper zu erstellen.



2. Wählen Sie die Oberseite des vorherigen Volumenkörpers aus und verwende dann PartDesign NewSketch, um eine weitere Skizze zu zeichnen; führe dann ein zweites Polster aus.

3. Wähle die Oberseite der vorherigen Extrusion aus und erstelle erneut eine Skizze und ein Polster.



4. Doppelklicke nun auf die zweite Skizze und ändere sie so, dass ihre Länge entlang der X-Richtung liegt; dadurch wird das zweite Pad neu erstellt. Die dritte Skizze und das Polster bleiben an der gleichen Stelle.



5. Doppelklicke nun erneut auf die zweite Skizze und passe Deine Punkte so an, dass ein Teil davon außerhalb der durch das erste Pad definierten Grenzen liegt. Dadurch wird das zweite Pad korrekt neu berechnet, aber beim Betrachten der Baumansicht wird im dritten Pad ein Fehler angezeigt.



6. Indem man die dritte Skizze und das Polster sichtbar macht, wird deutlich, dass die Berechnung des neuen Solids nicht korrekt durchgeführt wurde. Die dritte Skizze, anstatt von der Oberseite des zweiten Pads getragen zu werden, erscheint an einer seltsamen Stelle, mit ihrer Normalen, die in X Richtung ausgerichtet ist. Dies führt zu einem ungültigen Polster, da dieses Polster vom Rest des PartDesign Körper getrennt wird, was nicht erlaubt ist.

Das Problem scheint darin zu bestehen, dass bei der Änderung der zweiten Skizze die Oberseite des zweiten Polsters von in  umbenannt wurde. Die dritte Skizze ist wie ursprünglich an angehängt, aber da sich diese Fläche nun auf der Seite befindet (nicht oben), folgt die Skizze ihrer Ausrichtung und ist nun falsch positioniert.

7. Um das Problem zu beheben, sollte die dritte Skizze wieder auf die Oberseite abgebildet werden. Wähle die Skizze aus, klicke auf die Ellipse (drei Punkte) neben der Eigenschaft, und wähle erneut die Oberseite des zweiten Polsters. Dann geht die Skizze an die Spitze des vorhandenen Volumenkörpers, und das dritte Pad wird ohne Probleme erzeugt.



Die Umschlüsselung einer Skizze auf diese Weise kann bei jedem topologischen Benennungsfehler erfolgen, dies kann jedoch mühsam sein, wenn das Modell kompliziert ist und es viele solcher Skizzen gibt, die angepasst werden müssen.

Lösung


Der Abhängigkeitsgraph ist ein Werkzeug, das hilfreich ist, um die Beziehungen zwischen den verschiedenen Körpern im Dokument zu beobachten. Die Verwendung des ursprünglichen Modellierungs Arbeitsablaufs zeigt die direkte Beziehung, die zwischen den Skizzen und den Polstern besteht. Wie eine Kette ist es leicht zu erkennen, dass diese direkte Abhängigkeit mit topologischen Benennungsproblemen behaftet sein wird, wenn sich eines der Glieder in der Reihenfolge ändert.

Wie auf der Seite |Merkmals Bearbeitung erläutert, besteht eine Lösung für dieses Problem darin, Skizzen nicht auf Flächen, sondern auf Bezugsebenen zu stützen, die von den Hauptebenen der PartDesign Körper Ursprungs versetzt sind.

1. Wähle den Ursprung des PartDesign Body und stelle sicher, dass er sichtbar ist. Wähle dann die XY-Ebene aus und klicke auf PartDesign Fläche. Gib im Anhang des Dialogfelds für den Versatz einen Versatz in Z-Richtung an, so dass die Bezugsebene koplanar mit der Oberseite des ersten Polsters ist.

2. Wiederhole den Vorgang, füge aber diesmal einen größeren Versatz hinzu, so dass die zweite Bezugsebene koplanar mit der Oberseite der zweiten Auflage ist.

3. Wähle die zweite Skizze aus, klicke auf die Ellipse nahe der Eigenschaft und wähle dann die erste Bezugsebene. Die Bezugsebene ist bereits von der XY-Ebene des Körpers versetzt, so dass für die Skizze kein weiterer Z-Versatz erforderlich ist.

4. Wiederhole den Vorgang mit der dritten Skizze und wähle die zweite Bezugsebene als Auflage. Auch hier ist kein weiterer Z-Offset erforderlich.

5. Das Abhängigkeitsdiagramm zeigt nun, dass die Skizzen und Polster von den Bezugsebenen unterstützt werden. Dieses Modell ist stabiler, da jede Skizze im Wesentlichen unabhängig voneinander modifiziert werden kann.



6. Doppelklicke auf die zweite Skizze und ändere die Form. Das zweite Polster sollte sofort aktualisiert werden, ohne topologische Probleme mit der dritten Skizze und dem dritten Polster zu verursachen.



7. Tatsächlich kann jede Skizze geändert werden, ohne die Polster der anderen zu beeinträchtigen. Solange die Polster eine ausreichende Extrusionslänge haben, so dass sie sich berühren und einen zusammenhängenden Körper bilden, ist der gesamte Körper gültig.



Schlussbemerkungen
Das Hinzufügen von Bezugsobjekten ist mehr Arbeit für den Anwender, erzeugt aber letztlich stabilere Modelle, die weniger dem topologischen Benennungsproblem unterliegen.

Natürlich können Bezugsobjekte erstellt werden, bevor Skizzen gezeichnet werden, und es werden Polster erstellt. Dies kann hilfreich sein, um die ungefähre Form und Dimension des Endkörpers zu visualisieren.

Bezugsflächen können auch auf anderen Bezugsflächen basieren. Dies schafft eine Kette von Abhängigkeiten, die auch zu topologischen Problemen führen können; da es sich bei Bezugsebenen jedoch um sehr einfache Objekte handelt, ist das Risiko, dass diese Probleme auftreten, geringer, als wenn die Fläche eines festen Objekts als Träger verwendet wird.

Bezugsobjekte, Punkte, Linien, Flächen und Koordinatensysteme, können auch als Referenzgeometrie, d.h. als visuelle Hilfsmittel zur Darstellung der wichtigen Merkmale im Modell nützlich sein, auch wenn keine Skizze direkt an ihnen angebracht ist.

Verweise

 * PartDesign Verrundung - Topologische Benennung
 * Topological Naming, My Take, eine mögliche Lösung, von realthunder.
 * Benennungsprojekt: Bemühung, eine robuste topologische Benennung in FreeCAD zu implementieren.
 * Topologisches Benennungsprojekt: Idee um das Problem zu lösen, von ickby.
 * Topologisches Datenskripten