Native B-Rep objects

With the OCCT-enabled build, CORE holds analytic/topological B-Rep objects alongside triangle meshes. Programmatic constructors include boxes and cylinders. B-Rep objects can be diagnosed, validated, clipped, Boolean-combined, healed and tessellated into independent mesh objects.

OperationPublic APISemantics
Construct primitivesgx3de_object_create_brep_box, gx3de_object_create_brep_cylinderPublishes immutable source shape in a scene.
Properties / topologygx3de_brep_diagnose, gx3de_brep_topology_countsArea/volume diagnostics and exact source topology counts.
Validationgx3de_brep_validateOCCT topology validity, closed-oriented-solid qualification and solid/shell/face counts.
Curve/surface metadatagx3de_brep_edge_geometry_get, gx3de_brep_face_geometry_getAnalytic curve/surface classification and parameter domains for exact immutable shape.
Booleangx3de_brep_booleanUnion/intersection/difference. Nonuniform placements are currently rejected.
Solid clipgx3de_brep_clipHalf-space style clipping; publishes only validated closed oriented finite-volume result.
Conservative healgx3de_brep_healShapeFix-backed copy with explicit tolerance and conservative publication checks.
Tessellategx3de_object_brep_mesh_createUses the STEP mesh-quality/budget descriptor and returns an independent mesh object.

B-Rep topology anchors

Vertex, edge and face anchors resolve against one exact immutable B-Rep. Edge fractions are curve-parameter fractions, not arc-length fractions; face fractions map into the OCCT UV domain and may be rejected outside trimming. Anchor positions, face normals and edge tangents follow object transforms without modifying the underlying topology.

Persistence rule
Topology indices may survive transforms and duplication of the same immutable shape. Do not persist them across Boolean operations, clipping, repair/rebuild or reimport. Persist source identity plus a higher-level logical reference when a Session needs long-lived meaning.

STEP/XDE assembly import

gx3de_step_open imports an OCCT XDE structure into an engine-owned document. Summary/node/text queries expose the assembly tree and prototype relationships. gx3de_step_instance_create materializes an occurrence as a scene B-Rep object with its captured placement; gx3de_step_instance_mesh_create directly publishes a tessellated mesh occurrence using explicit quality and output limits.

STEP file→gx3de_step_document→ queryassembly / occurrence nodes→B-Rep instanceormesh instance

STEP mesh quality and budgets

gx3de_step_mesh_spec (aliased as gx3de_brep_mesh_spec) requires positive linear/angular deflection, nonnegative weld tolerance, a triangle limit and an output-byte limit. The API intentionally exposes these knobs so tessellation quality/resource policy is explicit rather than hidden in a viewer.

Asynchronous STEP import

gx3de_job_prepare_step_import creates an engine-owned job. STEP jobs compare source size and SHA-256 before and after transfer, emit state/progress events, and honor cancellation between OCCT stages. OCCT ReadFile and Transfer themselves are blocking calls and cannot be interrupted from inside the library.