Skip to main content

Module space

Module space 

Source
Expand description

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.

The same principles as the planar crate::Sketch:

  • Points carry all positions. Curves refer to points by PointId, so curves sharing a point stay connected by construction; Constraint3d::Coincident joins separately drawn points into one.
  • What is given from outside is fixed. A point at a vertex of the part or at a datum point is a fixed point, put where that is by whoever owns the sketch; an edge of the part a point is constrained onto is a CurveKind3d::Reference curve, its geometry handed in (Sketch3d::references). The solver never moves either.
  • Directions are given. An axis or a straight edge a line is parallel to, or a tangent a spline leaves along, is a direction vector in the constraint, brought up to date by the sketch’s owner.

Curves:

  • a line between two points;
  • a circular arc from a point, through a second, to a third — the arc lies in their plane;
  • a spline through points: the natural cubic spline through them (see geop_core_geometry::nurb_curve::NurbCurve::cubic_spline), whose ends are free unless a Constraint3d::TangentTo gives them a direction or a Constraint3d::Tangent joins them smoothly to the curve before or after. Either is how the spline is built, not something the solver moves points for: a spline end tangent to a line leaves along the line.

solve moves the points so the constraints hold, enclose encloses the exact solution, and chains / Chain3d::to_nurbs turn the curves into NURBS in space, chain by chain. wire_edges / wire_edge_nurbs turn them into the edges of a wire, cut where curves share a point, and check_wire refuses curves meeting anywhere else.

Structs§

Arc3
The circular arc from s through m to e.
Chain3d
Curves of a 3-D sketch joined end to end: an open chain, or a closed one whose last curve ends where the first starts. Each curve runs forwards or, reversed, backwards along the chain.
Curve3d
Enclosure3d
A 3-D sketch’s geometry as the kernel builds on it: every point, solved (see Sketch3d::enclose) or as drawn (Enclosure3d::as_drawn).
Helix3
The helix round the axis from base to top from start, as far up the axis as top is from base, in turns turns (see super::CurveKind3d::Helix).
Point3d
A point of a 3-D sketch.
Sketch3d
A 3-D constraint sketch (see the module docs). Ids are handed out once and never reused, as in a planar crate::Sketch.
Solve3dReport
The outcome of solving a 3-D sketch.
WireEdge
An edge of the wire a 3-D sketch is built as: the drawn curve curve from its point start to its point end — the whole curve, or, cut, one of the pieces it is cut into at the points it shares with other drawn curves. Points are the lowest id of their class (see Sketch3d::point_classes).

Enums§

Constraint3d
The constraints of a 3-D sketch. Lengths are in sketch units.
Coordinate
A coordinate axis.
CurveKind3d
What a curve of a 3-D sketch is.
End
An end of a curve.

Type Aliases§

Piece3d
One NURBS piece of a chain, on [0, 1], named as a planar sketch’s pieces are (see crate::profile::Piece).