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 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 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 in der CAD-Modellierung, das sich aus der Art und Weise ergibt, wie die internen FreeCAD Routinen mit der Aktualisierung der mit dem OCCT-Kernel erstellten geometrischen Formen umgehen. Ab FreeCAD 0.18 gibt es kontinuierliche Bemühungen, die Kernbehandlung von Formen zu verbessern, um solche Probleme zu reduzieren oder zu beseitigen.

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, verwenden dann PartDesign NewSketch und wählen die XY-Ebene, um die Basisskizze zu zeichnen; führe dann ein PartDesign Pad 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 Polster 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.

The problem appears to be that when the second sketch was modified, the top face of the second pad was renamed from to. The third sketch is attached to as it originally was, but since this face is now on the side (not at the top), the sketch follows its orientation and now is incorrectly positioned.

7. To fix the issue, the third sketch should be mapped to the top face again. Select the sketch, click on the ellipsis (three dots) next to the property, and choose the top face of the second pad again. Then the sketch moves to the top of the existing solid, and the third pad is generated without issues.



Remapping a sketch in this way can be done every time there is a topological naming error, however, this may be tedious if the model is complicated and there are many such sketches that need to be adjusted.

Lösung
The dependency graph is a tool that is helpful to observe the relationships between the different bodies in the document. Using the original modelling workflow reveals the direct relationship that exists between the sketches and the pads. Like a chain, it is easy to see that this direct dependence will be subject to topological naming problems if any of the links in the sequence changes.



As explained in the feature editing page, a solution to this problem is to support sketches not on faces but on datum planes which are offset from the main planes of the PartDesign Body's Origin.

1. Select the origin of the PartDesign Body and make sure that it is visible. Then select the XY plane, and click on PartDesign Plane. In the attachment offset dialog, give it an offset in the Z direction so that the datum plane is coplanar with the top face of the first pad.

2. Repeat the process but this time add a larger offset so that the second datum plane is coplanar with the top face of the second pad.

3. Select the second sketch, click on the ellipsis next to the property, and then select the first datum plane. The datum plane is already offset from the body's XY plane, so no further Z offset is required for the sketch.

4. Repeat the process with the third sketch, and select the second datum plane as support. Again, no further Z offset is necessary.

5. The dependency graph now shows that the sketches and pads are supported by the datum planes. This model is more stable as each sketch can be modified essentially independently from each other.



6. Double click the second sketch and modify the shape. The second pad should update immediately without causing topological problems with the third sketch and the third pad.



7. In fact, every sketch can be modified without interfering with each other's pads. As long as the pads have sufficient extrusion length, so that they touch and form a contiguous solid, the entire body will be valid.



Schlussbemerkungen
Adding datum objects is more work for the user but ultimately produces more stable models that are less subject to the topological naming problem.

Naturally, datum objects can be created before any sketches are drawn, and pads are produced. This may be helpful to visualize the approximate shape and dimensions of the final body.

Datum planes can also be based on other datum planes. This creates a chain of dependencies that could also result in topological problems; however, since datum planes are very simple objects, the risks of having these issues is less than if the face of a solid object is used as support.

Datum objects, points, lines, planes, and coordinate systems, may also be useful as reference geometry, that is, as visual aids to show the important features in the model, even if no sketch is directly attached to them.

Verweise
Naming project: Effort to implement a robust topological naming in FreeCAD