Skip to main content

Module part

Module part 

Source
Expand description

Part: the topology, sketches and datums of a part, each named, and the names themselves (NameRegistry, Namer) — changed only through Part’s own methods, so no entity is ever without a name.

Structs§

DatumId
A crate::Part’s own id for one of its datums.
EdgeDescription
FaceDescription
A face’s boundary loops, each as the coedges it runs through: +E / -E for edge E traversed forwards / backwards, @V for a degenerate coedge sitting at vertex V (a pole).
NameRegistry
A two-way RefId <-> String mapping. Every entity a crate::Part exposes — a vertex, edge, face, solid or sketch — has exactly one live entry here for as long as it exists.
Namer
Builds the names one run of one operation gives to what it creates: kind(operation,arg,...), see the crate docs.
Part
A complete, editable CAD part: its boundary-representation topology, the sketches and datums used to build it — starting with the frame ORIGIN — and a name for every one of those entities.
PartDescription
Everything about a part’s topology that its names can express, and the positions of its vertices — with no internal id anywhere, so two parts built by the same program describe identically however their ids came out, and a description diffs well as text. Loops start at their smallest entry and holes are sorted, since neither has a first element of its own.
PlacedSketch
A sketch together with the plane it lies on: plane.u/plane.v are the sketch’s x/y (unit, orthogonal), plane.w = u x v its unit normal.
SketchId
A crate::Part’s own id for one of its sketches.

Enums§

RefId
Every kind of entity a crate::Part names: the topology entities a user can pick in isolation (a coedge or shell never is), its sketches and its datums.

Constants§

ORIGIN
The name of the frame datum every part starts with: the world’s origin and axes, and the three planes between them (see geop_core_math::primitives::DatumComponent).

Functions§

validate_operation_id
Checks that id can be an operation id: non-empty, and only ASCII letters, digits, _, - and .. Nothing that could be mistaken for the (, ) and , that structure a name, so the names built from it stay unambiguous.