Geometry · Backend foundation

Building a CAD application

What must stay true when a sketch changes and every dependent feature rebuilds?

  1. Constrained sketch
  2. Extrude
  3. Through hole
  4. Edit & rebuild
  5. Save / STEP
A simplified view of the workflow described below.

The foundation

I’m building a CAD application around an original C++20 backend, using OCCT/OCAF for geometry and document operations and planeGCS for sketch constraints. The tested workflow creates a line sketch, extrudes it, adds a centered through hole, changes a dimension, and saves and reopens the result.

More than a viewport

The work includes stable feature IDs, dependency recomputation, undo/redo, revision snapshots, STEP interchange, and a JSON-lines command supervisor. Disposable previews keep incomplete edits separate from committed document state.

What has been checked

The foundation passed 11 native test groups and the sketch/edit/reopen/STEP fixture in Linux CI. The fixture’s maximum volume error was approximately 1.09 × 10⁻¹¹ mm³ against its reference values. These checks cover specific supported operations.

Still to build

This milestone is a bounded headless backend. The browser modeling workflow, general topology repair, and full assemblies remain ahead. It is separate from my original-kernel experiments.