./features/topology killer
Download Features Source code Terminology References

Modification of a B-Rep model employs operation at two levels of the shape's data structure: topology and geometry. The topology represents a "syntaxis" of a model, i.e., how the boundary elements are connected and nested into each other. Some modeling operators can perform at purely topological level (e.g., defeaturing of isolated holes). Basically, the pure topological operators are 100% robust as they do not delve into the geometric imprecision. In contrast, the geometric modifications are error-prone and never 100% robust (regardless of the marketing team's opinion).

Topology killer is a basic tool for removal and replacement of topological entities in the topology graph of the B-Rep model. In the modeling kernel which we use (OpenCascade), the modification of a nested entity requires rebuilding its owning entities. E.g., to remove or replace a vertex in a model, it is necessary to build new data containers for the edges, loops, faces, shells, and solids involved. The following animation illustrates how a new topology graph is constructed. It should be noted that the entities which are not affected by a modeling operator remain intact in the topology graph.

To run topological killer, use commands kill-vertex, kill-edge, and kill-face. Be aware that unlike Euler operators, the killer does not preserve the topological integrity of the model, i.e., the command check-euler will return "false".