Geometry abstraction, polygon geometry, and convergent geometry > Polygon geometry and abstraction
How edges are represented in a solid model
The software uses two methods to represent edges in a solid model:
Precise edges
Tolerant edges
Most modeling operations result in precise edges, but when the software must approximate an edge, it uses a tolerant edge.
Precise edges
An edge is precise when it lies exactly on two adjacent faces to within floating-point tolerance. This implies an accuracy of approximately 0.00001 millimeters.
Most modeling functions produce precise edges. If two surfaces are fairly simple, then the precise edge where those surfaces intersect is represented by a simple curve. For example, the intersection of two planes can be represented by a line, or the intersection of a plane and a cylinder can be represented by an ellipse or a circle. For more complex types of surfaces, a special type of curve called a "procedural intersection curve" is used to represent a precise edge.
When two surfaces intersect during a Boolean operation or a feature attachment operation, the result is almost always a precise edge. If the surfaces involved are simple, an analytic curve is created; otherwise a procedural intersection curve is used. The edge of a constant radius rolling ball fillet is always a procedural intersection curve.
In principle, a procedural intersection curve can be represented by using pointers to the two surfaces on which it lies — a very small amount of data. In practice, however, additional information is stored to distinguish between curve branches and to speed up calculations. The topological data structure typically divides the edge into two half-edges, or "fins."
Tolerant edges
Tolerant edges are approximations of edges that are used by the software when precise edges would be unworkable. Sometimes referred to as "local tolerances," tolerant edges provide a way of assigning tolerances locally to specific edges of a model. This allows inaccuracies or approximations in one part of the model to be managed separately from the rest of the model.
The system represents a tolerant edge by combining spline curves on adjoining surface edges within a tolerance distance from one another. In effect, the two curves on the adjoining edges can be thought of as lying within a "tolerance tube." The typical tolerance used with a tolerant edge is somewhere between 0.01 mm and 0.001 mm.
The two curves can be represented by the following:
A spline curve (SP-curve1) defined in the parameter space of one surface (Surface1/Face1)
A spline curve (SP-curve2) defined in the parameter space of the other surface (Surface2/Face2)
Each of the spline curves (sp-curves) is associated with a fin (a directed edge) on the edge, as shown in the diagram below.
As the diagram above shows, SP-curve1 lies exactly on Surface1, SP-curve2 lies exactly on Surface2, and the two curves are usually thought of as lying within some tolerance of the true intersection, if this exists. The complexity of the SP-curves depends on the tolerances used. If the tolerances are very small, or tight, each of the curves will require many segments, thus increasing the model size.
Generation of tolerant edges
A number of modeling options and functions produce local tolerances:
The Sew option introduces local tolerances when it joins a collection of trimmed surfaces together to form a sheet or solid body.
Variable Radius Blend, Taper and Thicken operations introduce local tolerances, to avoid introducing large amounts of data that would be necessary if the geometry were to be represented precisely.
Boolean operations can introduce local tolerances to resolve misaligned geometry that would otherwise produce tiny entities.
Data imported from an external CAD system using a different standard may introduce local tolerances in order to account for misaligned geometry.
In free-form modeling when approximation is required to control the trade off between accuracy of the result and the amount of data required to describe the result.
Converting an edge to a curve can often cause an approximation to take place, thus introducing a local tolerance. The procedural intersection curve precise edge used on solid edges is not suitable for curve modeling operations, so it is converted to a B-spline curve when it is extracted to another body.
Converting a curve to an edge can often cause an approximation to take place, thus introducing a local tolerance. When a curve is projected onto a surface an approximation is required, to avoid unwanted, extra data.
If an exact edge is offset the result is usually a precise edge, but if there is a small angle between the faces, the edges will separate by a small distance, and a local tolerance may result.
Tolerances can be increased naturally by the software through repeated use of these options and functions. You can measure this natural increase with the Analysis→Examine Geometry command.
Learn more
Geometry abstraction and polygon geometry
Polygon geometry
Polygon geometry versus lightweight facet bodies
Understanding CAD issues reported during FEM creation
Modeling tolerance values
Comparing geometry idealization and geometry abstraction
Understanding the geometry abstraction process
Displaying suppressed edges in polygon geometry
Checking CAE model consistency
Naming of polygon bodies, meshes, and properties
Tools for identifying and repairing polygon body problems
Synchronizing polygon body names and attributes to the CAD geometry
Controlling polygon body tessellation
Polygon body update process
Quick links
Command reference
Pre/Post video examples
Bulk Entry Descriptions
Simcenter 3D tutorials
Browse Simcenter 3D help by product area
Related Topics
Generating surface wrap bodies and meshes
How edges are represented in a solid model, Simcenter 3D 2021.1 Series
© 2020 Siemens
window.mainLanguage="en_US"
window.delivId=""
window.projectId=""
MathJax.Hub.Config({ TeX: { extensions: ["autoload-all.js"] }, tex2jax: { displayMath: [ ] }, "SVG": { scale: 125 } });
Source: https://docs.sw.siemens.com/en-US/doc/289054037/PL20200601120302950.advanced/id700023 · retrieved 2026-07-17