El problema de denominación topológica en FreeCAD se refiere a la cuestión de que una forma cambie su nombre interno después de que se realice una operación de modelado (almohadilla, corte, unión, chaflán, filete, etc.). Esto dará lugar a que se rompan o se calculen incorrectamente otras características paramétricas que dependen de esa forma.
Este problema afecta a todos los objetos de FreeCAD, pero es especialmente notable cuando se construyen sólidos con el
Ambiente de trabajo DiseñoPieza, y al dimensionar esos sólidos con el
Ambiente de trabajo DibujoTécnico.
El problema de la denominación topológica es un problema complejo en el modelado CAD que se deriva de la forma en que las rutinas internas de FreeCAD manejan las actualizaciones de las formas geométricas creadas con el OCCT kernel. A partir de FreeCAD 0.19 se están realizando esfuerzos para mejorar el manejo del núcleo de las formas con el fin de reducir o eliminar tales problemas.
Starting with FreeCAD 0.19 there are ongoing development efforts to improve the core handling of shapes by adding heuristics that reduce the impact of these issues. The naming algorithm is designed to reduce manual effort, sometimes by automatically fixing up problems, and other times presenting a likely solution, and otherwise at least clearly showing what caused the problem. The first stable release of FreeCAD to feature this new naming algorithm is 1.0. Over time, this algorithm will be applied to more parts of FreeCAD, and more automatic and assisted repair will be added in later versions.
El problema de la denominación topológica afecta y confunde con mayor frecuencia a los nuevos usuarios de FreeCAD. En DiseñoPieza, se aconseja al usuario que siga las mejores prácticas discutidas en la página edición de características. Se recomienda encarecidamente el uso de objetos de referencia de apoyo como planos y sistemas de coordenadas locales para producir modelos que no estén fácilmente sujetos a tales errores topológicos. En DibujoTécnico, se aconseja al usuario que añada dimensiones sólo cuando el modelo 3D esté completo y no se modificará más.
1. En la Ambiente de trabajo DiseñoPieza, crear un
DiseñoPieza Cuerpo, luego use
DiseñoPieza NuevoBoceto y seleccionar el plano XY para dibujar el boceto base; luego realizar un
DiseñoPieza Pad para crear un primer sólido.
2. Seleccione la cara superior del sólido anterior y, a continuación, utilice DiseñoPieza NuevoBoceto para dibujar otro boceto; a continuación, realice una segunda almohadilla.
![]() |
![]() |
3. Selecciona la cara superior de la extrusión anterior, y una vez más crea un boceto, y un pad.
4. Ahora, haz doble clic en el segundo croquis, y modifícalo para que su longitud sea a lo largo de la dirección X; haciendo esto se recreará el segundo pad. El tercer croquis y la almohadilla permanecerán en el mismo lugar.
![]() |
![]() |
5. Ahora, haz doble clic en el segundo croquis de nuevo, y ajusta sus puntos para que una parte de él esté fuera de los límites definidos por el primer pad. Al hacer esto, el segundo pad volverá a calcular correctamente, sin embargo, al mirar la vista de árbol, se indicará un error en el tercer pad.
![]() |
![]() |
6. Al hacer visibles el tercer croquis y la pastilla, queda claro que el cálculo del nuevo sólido no se ha realizado correctamente. El tercer croquis, en lugar de apoyarse en la cara superior del segundo pastilla, aparece en un lugar extraño, con su normal orientada hacia la dirección X. Esto da lugar a un pastilla no válido, ya que este pastilla estaría desconectado del resto del DiseñoPieza Cuerpo, lo que no está permitido.
El problema parece ser que cuando se modificó el segundo croquis, la cara superior de la segunda pastilla pasó de llamarse Face13
a Face14
. El tercer croquis está unido a Face13
como lo estaba originalmente, pero como esta cara está ahora en el lateral (no en la parte superior), el croquis sigue su orientación y ahora está colocado incorrectamente.
![]() |
![]() |
7. Para solucionar el problema, el tercer croquis debe ser mapeado a la cara superior de nuevo. Seleccione el croquis, haga clic en la elipsis (tres puntos) junto a la propiedad DatosMap Mode y vuelva a elegir la cara superior del segundo pastilla. Entonces el croquis se mueve a la parte superior del sólido existente, y el tercer pastilla se genera sin problemas.
![]() |
![]() |
Reasignar un boceto de esta manera puede hacerse cada vez que haya un error de denominación topológica, sin embargo, esto puede ser tedioso si el modelo es complicado y hay muchos bocetos de este tipo que necesitan ser ajustados.
El grafo de dependencia es una herramienta útil para observar las relaciones entre los distintos cuerpos del documento. El uso del flujo de trabajo de modelado original revela la relación directa que existe entre los bocetos y las almohadillas. Al igual que una cadena, es fácil ver que esta dependencia directa estará sujeta a problemas de nomenclatura topológica si cambia alguno de los eslabones de la secuencia.
Como se explica en la página edición de características, una solución a este problema es admitir bocetos no en las caras sino en los planos de referencia que están desplazados de los planos principales del DiseñoPieza cuerpo Origen.
1. Seleccione el origen del DiseñoPieza Cuerpo y asegúrese de que es visible. A continuación, seleccione el plano XY y haga clic en DiseñoPieza Plano. En el cuadro de diálogo de desplazamiento del accesorio, dele un desplazamiento en la dirección Z para que el plano de referencia sea coplanario con la cara superior del primer pad.
2. Repita el proceso pero esta vez añada un desplazamiento mayor para que el segundo plano de referencia sea coplanario con la cara superior de la segunda almohadilla.
![]() |
![]() |
3. Seleccione el segundo croquis, haga clic en la elipsis junto a la propiedad DatosModo mapa y, a continuación, seleccione el primer plano de referencia. El plano de referencia ya está desplazado desde el plano XY del cuerpo, por lo que no es necesario un desplazamiento Z adicional para el croquis.
4. Repita el proceso con el tercer croquis y seleccione el segundo plano de referencia como soporte. De nuevo, no es necesario ningún otro desplazamiento Z.
5. El gráfico de dependencia muestra ahora que los croquis y los pads se apoyan en los planos de referencia. Este modelo es más estable, ya que cada croquis puede modificarse de forma esencialmente independiente de los demás.
6. Haz doble clic en el segundo croquis y modifica la forma. El segundo pad debería actualizarse inmediatamente sin causar problemas topológicos con el tercer croquis y el tercer pad.
7. De hecho, cada boceto puede ser modificado sin interferir con los pads de los demás. Siempre que los pads tengan una longitud de extrusión suficiente, de modo que se toquen y formen un sólido contiguo, todo el cuerpo será válido.
Añadir objetos de datos supone más trabajo para el usuario, pero en última instancia produce modelos más estables que están menos sujetos al problema de los nombres topológicos.
Naturalmente, los objetos de referencia pueden crearse antes de dibujar los bocetos y producir las almohadillas. Esto puede ser útil para visualizar la forma y las dimensiones aproximadas del cuerpo final.
Los planos de referencia también pueden basarse en otros planos de referencia. Esto crea una cadena de dependencias que también podría dar lugar a problemas topológicos; sin embargo, como los planos de referencia son objetos muy simples, los riesgos de tener estos problemas son menores que si se utiliza la cara de un objeto sólido como soporte.
Los objetos Datum, puntos, líneas, planos, y sistemas de coordenadas, también pueden ser útiles como geometría de referencia, es decir, como ayudas visuales para mostrar las características importantes en el modelo, incluso si no se adjunta ningún croquis directamente a ellos.
Realthunder's topological naming algorithm, described in forum thread Topological Naming, My Take, which was selected to reduce the impact of this problem, has been widely described as "fixing the topological naming problem." This has unintentionally misled many users into thinking that it will no longer be helpful to use techniques like datums, explicit sketch placement, and Feature editing to make models more stable. The algorithm is not intended to fix every failure introduced by topological naming ambiguity. Rather, it has three purposes.
In FreeCAD 1.0, the implementation of this algorithm in the official FreeCAD release reached feature parity with Realthunder's "Linkstage 3" fork, where he originally developed the algorithm, as of the time the integration work started. There are new FreeCAD features that could use the algorithm but do not yet, and there will always be more opportunities to add candidate fixes and automatic repair. The initial work has provided a framework to use for these additional improvements over time, both in core FreeCAD and in Addons.