Shape Editing#

Modify and simplify CAD models by removing geometric features (defeaturing). This module enables you to remove fillets, chamfers, holes, and pockets from BRep models while maintaining topological validity.

Note

Prerequisites: Basic understanding of CAD terminology (faces, edges, solids). For advanced history tracking, familiarity with Attributed Adjacency Graph (AAG) is helpful.

Getting Started

Understand why and when to use defeaturing. Learn the core concepts before diving into the API.

Defeaturer

The high-level API for most defeaturing tasks. Simple, chainable methods for removing features.

History Tracking

Track what happened to faces through operations. Query the evolution of shapes in the model.

Developer Guide

Internal architecture and extension patterns. For developers building on the module.

Learning Path#

For new users, we recommend following this order:

  1. Start with Concepts - Understand why defeaturing matters, learn about soft vs hard features, and grasp the two-stage removal strategy.

  2. Use the Defeaturer - Most users only need this high-level API. It handles cavities, blends, and arbitrary features with a simple chainable interface.

  3. Track History (optional) - If your application needs to trace face correspondence through operations, learn about the HistoryGraph.

  4. Developer Guide (optional) - For extending the module or understanding the internal algorithms.

Key Classes#

High-Level API

  • Defeaturer: Main entry point with fluent interface for chaining operations

  • DefeaturingStep: Record of each removal operation with statistics

  • HistoryGraph: DAG-based shape evolution tracking

Low-Level Removers (for advanced use)

  • FeatureRemover: Unified interface with automatic soft/hard fallback

  • IsolatedFeatureRemover: Soft feature removal via face deletion

  • ComplexFeatureRemover: Hard feature removal via surface extension

  • BlendChainRemover: Blend-specific removal with chain detection