Skip to main content

Crate geop_core_sketch

Crate geop_core_sketch 

Source
Expand description

Constraint sketches: 2-D ones — points, lines, arcs, circles and splines, the typical CAD constraints between them, a solver, and conversion of the solved sketch into closed profiles for extrude and revolve — and 3-D ones, the paths and rails sweeps run along.

  • sketch: the entities and constraints: design data.
  • solve: Sketch::solve / Sketch::solve_with_drag, and Sketch::enclose: the solution as the kernel builds on it.
  • profile: Sketch::regions and ProfileLoop::to_nurbs.
  • copies and offset: geometry made from geometry, tied to it by constraints — mirrored, patterned, offset.
  • plain: plane geometry in plain numbers, where tools place what they build before it is solved; dimension, how a dimension is drawn in a plane — a sketch’s and a drawing’s alike.
  • space: 3-D sketches — points, lines, arcs and splines in space, solved the same way, joined into chains of NURBS curves: paths and rails.
  • text: the glyph outlines a text in a sketch is drawn as.

Re-exports§

pub use profile::ProfileEdge;
pub use profile::ProfileJoint;
pub use profile::ProfileLoop;
pub use profile::ProfilePiece;
pub use profile::Region;
pub use profile::Shape;
pub use sketch::Constraint;
pub use sketch::ConstraintId;
pub use sketch::Curve;
pub use sketch::CurveId;
pub use sketch::CurveKind;
pub use sketch::Enclosure;
pub use sketch::Point;
pub use sketch::PointId;
pub use sketch::Positions;
pub use sketch::Sketch;
pub use sketch::SplineShape;
pub use solve::SolveReport;

Modules§

copies
Copies of sketch geometry that stay copies: mirrored across a line, or repeated along a line or round a center. Every copied point is tied to the point it copies by a constraint — Constraint::Symmetric for a mirror, Constraint::Moved for a pattern — and every copied arc’s sweep to the original’s (Constraint::EqualSweep), every circle’s radius (Constraint::Equal). So the copies follow whatever is done to the original: dragged, dimensioned, solved.
dimension
How a dimension is drawn in a plane, in plain numbers (Measure): the lines that show what it measures with its value at a label point, and where their arrowheads go. A sketch’s dimensions and a drawing’s are both drawn by it, so the two look alike and are placed alike: a value dragged anywhere, its lines following.
geometry
The geometry of sketch entities, generic over Number so every formula serves both the residuals (differentiated with geop_core_math::dual::Dual) and plain evaluation (profiles, rendering).
offset
Offsetting chains of lines, arcs and splines — or circles — by a distance, the offset tied to them by constraints so it follows them.
plain
Plane geometry in plain numbers: where a tool places what it builds, and where the pointer meets the sketch. Only ever a free choice — a position the solver then makes exact, a suggestion of which piece of a curve is meant — never a result the kernel reasons about: what the sketch is is its design data, and what that means comes from its solver.
profile
Turning a solved sketch into profiles: closed loops of curves grouped into regions (an outer loop with its holes), and those loops into the NURBS curves that extrude and revolve consume.
sketch
Sketch entities and constraints: design data, in any Scalar — the values a file holds, read as sharp scalars and written as their midpoints.
solve
Solving a sketch: every constraint contributes residuals that are zero exactly when it holds — a term of the sketch’s variables — and geop_core_math::solvers::system, on the driver every solve of the kernel shares ([geop_core_math::solvers::constrained]), holds them, pulls a dragged point, and encloses the exact solution.
space
3-D sketches: points in space, and the lines, arcs and splines through them — the paths sweeps, pipes, frames and wire routes run along, and the rails a sweep is guided by.
text
Text in a sketch: the outlines of a string’s glyphs, closed contours of exact NURBS (see crate::CurveKind::Text).