Topological naming problem/it

Introduzione
Il problema di denominazione topologica in FreeCAD si riferisce al problema di una forma che cambia il suo nome interno dopo l'esecuzione di un'operazione di modellazione (pad, taglio, unione, smusso, raccordo, ecc.). Questo si riflette sulle altre funzioni parametriche che dipendono da quella forma e ha come conseguenze che le interrompe o le calcola in modo errato. Questo problema interessa tutti gli oggetti di FreeCAD, ma è particolarmente importante quando si costruiscono solidi con PartDesign e quando si dimensionano questi solidi con TechDraw.
 * In PartDesign, se una funzione è supportata su una faccia (o bordo o vertice), la funzione può interrompersi se il solido sottostante cambia dimensione o orientamento, in quanto la faccia originale (o il bordo o vertice) può essere rinominata internamente.
 * In TechDraw, se una dimensione misura la lunghezza di un bordo proiettato, la dimensione potrebbe interrompersi se il modello 3D viene modificato, poiché modificando il bordo misurato i vertici possono essere rinominati.

Il problema di denominazione topologica è un problema complesso nella modellazione CAD che deriva dal modo in cui le routine interne di FreeCAD gestiscono gli aggiornamenti delle forme geometriche create con il kernel OCCT. A partire da FreeCAD 0.18 ci sono sforzi in corso per migliorare la gestione di base delle forme al fine di ridurre o eliminare tali problemi.

Il problema di denominazione topologica influisce molto spesso e confonde i nuovi utenti di FreeCAD. In PartDesign, l'utente è invitato a seguire le migliori pratiche discusse nella pagina Editazione delle funzioni. Si consiglia vivamente l'uso di oggetti di riferimento come i piani ed i sistemi di coordinate locali per produrre modelli che non sono facilmente soggetti a tali errori topologici. In TechDraw, si consiglia all'utente di aggiungere le quote solo quando il modello 3D è completo e non sarà ulteriormente modificato.

Esempio
1. In PartDesign, creare un Corpo, poi usare Nuovo schizzo e selezionare il piano XY per disegnare lo schizzo di base; quindi eseguire un Pad per creare un primo solido.



2. Selezionare la faccia superiore del solido precedente, quindi usare Nuovo schizzo per disegnare un altro schizzo; quindi eseguire un secondo pad.

3. Selezionare la faccia superiore dell'estrusione precedente e creare nuovamente uno schizzo e un pad.



4. Ora, fare doppio clic sul secondo schizzo e modificarlo in modo che la sua lunghezza sia lungo la direzione X; facendo questo si rigenera il secondo pad. Il terzo schizzo e il pad rimangono nello stesso posto.



5. A questo punto, fare nuovamente doppio clic sul secondo schizzo e regolarne i punti in modo che una parte di esso sia fuori dai limiti definiti dal primo pad. In questo modo, il secondo pad viene ricalcolato correttamente, tuttavia, guardando nella vista ad albero, nel terzo pad viene indicato un errore.



6. Rendendo visibile il terzo schizzo e pad, è chiaro che il calcolo del nuovo solido non è stato eseguito correttamente. Il terzo schizzo, invece di essere supportato dalla faccia superiore del secondo pad, appare in un posto strano, con la sua normale orientata verso la direzione X. Ciò si traduce in un pad non valido, in quanto questo pad sarebbe scollegato dal resto del Corpo, che non è consentito.

Il problema sembra essere che quando il secondo schizzo è stato modificato, la faccia superiore del secondo pad è stata rinominata da  a. Il terzo schizzo è collegato a  come era in origine, ma poiché questa faccia è ora sul lato (e non più in alto), lo schizzo segue il suo orientamento e ora è posizionato in modo errato.

7. Per risolvere il problema, il terzo schizzo deve essere nuovamente associato alla faccia superiore. Selezionare lo schizzo, fare clic sui puntini di sospensione (tre punti) accanto alla proprietà e scegliere di nuovo la faccia superiore del secondo pad. Quindi lo schizzo si sposta in cima al solido esistente e il terzo pad viene generato senza problemi.



La rimappatura di uno schizzo in questo modo può essere eseguita ogni volta che si verifica un errore di denominazione topologica, ma questo può essere noioso se il modello è complicato e vi sono molti schizzi che devono essere modificati.

Soluzione
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.



Note finali
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.

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