BREP Model and Classes
This page is the compact conceptual summary of the BREP data model. It is intentionally shorter than the API reference and kernel architecture pages.
Overview
- BREP combines a triangle mesh with per-triangle face labels. Labels map to globally unique IDs in Manifold so selections survive boolean operations.
- During manifoldization, triangle windings are made consistent, outward orientation is enforced, and an optional weld epsilon deduplicates vertices.
- Visualization builds one mesh per face label and edge polylines for label boundaries, enabling semantic selection in the UI and PMI tooling.
Solid
Solidis aTHREE.Groupsubclass that handles authoring, CSG, queries, and export.- Geometry storage uses
_vertProperties(flat positions),_triVerts(triangle indices), and_triIDs(face IDs) plus name-to-ID maps. - Full
SolidAPI details live in the Solid Developer Guide and Solid API index.
Face
Faceis aTHREE.Meshrepresenting all triangles that share a label.- Provides
getAverageNormal()andsurfaceArea()helpers for inspection and downstream logic. - Provides
thicken(distance, options)to build a new closed solid from an open face by offsetting along face normals and stitching side walls. - Full
Facemethod docs live in the Face API index.
Edge
Edgeinstances represent boundary polylines between two face labels and expose metadata describing the adjacent faces.- Use edges for PMI dimension snapping, measurement, and preview visualization.
- Full
Edgemethod docs live in the Edge API index.
Use This Page Vs Others
- Use this page for the conceptual model.
- Use brep-kernel.md for source-level architecture.
- Use docs/api/ for exact method behavior.