Problema de denominación topológica
Introducción
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.
- En
DiseñoPieza, si un rasgo se apoya en una cara (o borde o vértice), el rasgo puede romperse si el sólido subyacente cambia de tamaño u orientación, ya que la cara (o borde o vértice) original puede ser renombrada internamente.
- En
DibujoTécnico, si una dimensión está midiendo la longitud de un borde proyectado, la dimensión puede romperse si se cambia el modelo 3D, ya que los vértices pueden ser renombrados cambiando así el borde medido.
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.
- Hilo del foro: Denominación Topológica, Mi Toma
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.
Ejemplo
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.
Solución

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.
Notas finales
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.
Enlaces
- PartDesign Redondeo - Denominación topológica
- Topological Naming, My Take, a possible solution, by realthunder.
- Proyecto de denominación topológica: idea para resolver el problema, por ickby.
- Scripting de datos topológicos
- Edición de artículos: contiene consejos alternativos para las técnicas de modelado estable.
Vídeos
- Why do my FreeCAD models break? - "Topological Naming Problem": Una explicación en vídeo de los problemas subyacentes de Problema de denominación topológica
- ¡FreeCAD Está Fundamentalmente Roto! - ¿Ahora qué?... Ayudame a decidir...: Un video de Maker Tales

- Getting started
- Installation: Download, Windows, Linux, Mac, Additional components, Docker, AppImage, Ubuntu Snap
- Basics: About FreeCAD, Interface, Mouse navigation, Selection methods, Object name, Preferences, Workbenches, Document structure, Properties, Help FreeCAD, Donate
- Help: Tutorials, Video tutorials
- Workbenches: Std Base, Arch, Draft, FEM, Inspection, Mesh, OpenSCAD, Part, PartDesign, Path, Points, Reverse Engineering, Robot, Sketcher, Spreadsheet, Start, Surface, TechDraw, Test Framework, Web
- Hubs: User hub, Power users hub, Developer hub
- Pages: Insert Default Page, Insert Page using Template, Redraw Page, Print All Pages
- Views: Insert View, Insert Active View, Insert Projection Group, Insert Section View, Insert Complex Section View, Insert Detail View, Insert Draft Workbench Object, Insert Arch Workbench Object, Insert Spreadsheet View, Move View, Share View, Project Shape
- Stacking: Move view to top of stack, Move view to bottom of stack, Move view up one level, Move view down one level
- Clips: Insert Clip Group, Add View to Clip Group, Remove View from Clip Group
- Decorations: Hatch Face using Image File, Apply Geometric Hatch to Face, Insert SVG Symbol, Insert Bitmap Image, Turn View Frames On/Off
- Dimensions: Insert Length Dimension, Insert Horizontal Dimension, Insert Vertical Dimension, Insert Radius Dimension, Insert Diameter Dimension, Insert Angle Dimension, Insert 3-Point Angle Dimension, Insert Horizontal Extent Dimension, Insert Vertical Extent Dimension, Link Dimension to 3D Geometry, Insert Balloon Annotation, Insert Axonometric Length Dimension, Insert Landmark Dimension, Adjust Geometric References of Dimension
- Annotations: Insert Annotation, Add Leaderline to View, Insert Rich Text Annotation, Add Cosmetic Vertex, Add Midpoint Vertices, Add Quadrant Vertices, Add Centerline to Faces, Add Centerline between 2 Lines, Add Centerline between 2 Points, Add Cosmetic Line Through 2 points, Add Cosmetic Circle, Remove Cosmetic Object, Change Appearance of Lines, Show/Hide Invisible Edges, Add Welding Information to Leader, Add Surface Finish Symbol, Add Hole or Shaft Tolerances
- Extensions:
- Attributes and modifications: Select Line Attributes, Cascade Spacing and Delta Distance, Change Line Attributes, Extend Line, Shorten Line, Lock/Unlock View, Position Section View, Position Horizontal Chain Dimensions, Position Vertical Chain Dimensions, Position Oblique Chain Dimensions, Cascade Horizontal Dimensions, Cascade Vertical Dimensions, Cascade Oblique Dimensions, Calculate the area of selected faces, Calculate the arc length of selected edges, Customize format label
- Centerlines and threading: Add Circle Centerlines, Add Bolt Circle Centerlines, Add Cosmetic Thread Hole Side View, Add Cosmetic Thread Hole Bottom View, Add Cosmetic Thread Bolt Side View, Add Cosmetic Thread Bolt Bottom View, Add Cosmetic Intersection Vertex(es), Add Cosmetic Circle, Add Cosmetic Arc, Add Cosmetic Circle 3 Points, Add Cosmetic Parallel Line, Add Cosmetic Perpendicular Line
- Dimensions: Create Horizontal Chain Dimensions, Create Vertical Chain Dimensions, Create Oblique Chain Dimensions, Create Horizontal Coordinate Dimensions, Create Vertical Coordinate Dimensions, Create Oblique Coordinate Dimensions, Create Horizontal Chamfer Dimension, Create Vertical Chamfer Dimension, Create Arc Length Dimension, Insert '⌀' Prefix, Insert '〼' Prefix, Remove Prefix, Increase Decimal Places, Decrease Decimal Places
- Export: Export Page as SVG, Export Page as DXF
- Additional: Line Groups, Templates, Hatching, Geometric dimensioning and tolerancing, Preferences
- Structure tools: Part, Group
- Helper tools: Create body, Create sketch, Edit sketch, Map sketch to face
- Modeling tools
- Datum tools: Create a datum point, Create a datum line, Create a datum plane, Create a local coordinate system, Create a shape binder, Create a sub-object(s) shape binder, Create a clone
- Additive tools: Pad, Revolution, Additive loft, Additive pipe, Additive helix, Additive box, Additive cylinder, Additive sphere, Additive cone, Additive ellipsoid, Additive torus, Additive prism, Additive wedge
- Subtractive tools: Pocket, Hole, Groove, Subtractive loft, Subtractive pipe, Subtractive helix, Subtractive box, Subtractive cylinder, Subtractive sphere, Subtractive cone, Subtractive ellipsoid, Subtractive torus, Subtractive prism, Subtractive wedge
- Transformation tools: Mirrored, Linear Pattern, Polar Pattern, Create MultiTransform, Scaled
- Dress-up tools: Fillet, Chamfer, Draft, Thickness
- Boolean: Boolean operation
- Extras: Migrate, Sprocket, Involute gear, Shaft design wizard
- Context menu: Set tip, Move object to other body, Move object after other object, Appearance, Set colors
- Primitives: Box, Cylinder, Sphere, Cone, Torus, Tube, Create primitives, Shape builder
- Creation and modification: Extrude, Revolve, Mirror, Fillet, Chamfer, Make face from wires, Ruled Surface, Loft, Sweep, Section, Cross sections, 3D Offset, 2D Offset, Thickness, Projection on surface, Attachment
- Boolean: Make compound, Explode Compound, Compound Filter, Boolean, Cut, Fuse, Common, Connect, Embed, Cutout, Boolean fragments, Slice apart, Slice, XOR
- Measure: Measure Linear, Measure Angular, Measure Refresh, Clear All, Toggle All, Toggle 3D, Toggle Delta