Skip to main content

Module geometry

Module geometry 

Source
Expand description

The geometry of a STEP file: points, placements, curves and surfaces as the file defines them — in millimetres, placed where the assembly puts them — and their conversion to the kernel’s NURBS.

What the file says is read into plain f64 definitions (CurveDef, SurfaceDef): it is data, decided on (where a face wraps around, which loop is outer) before anything exact is built from it. The NURBS built from it are exact for every analytic type — lines, circles, ellipses, planes, cylinders, cones, spheres, tori, surfaces of revolution and of extrusion — not approximations.

Structs§

Frame
A right-handed orthonormal frame: AXIS2_PLACEMENT_3D.
NurbsCurve
NurbsSurface
Placement
A rigid motion, as an assembly places a part: p -> origin + axes p.
Revolved
A surface swept by a profile turning about the z of frame: the profile lies in the half plane of frame.x at angle 0.
Scope
How the geometry of one representation is read: its units, its uncertainty, and where the assembly places it.
SurfaceDef
A surface as the file defines it, and whether the NURBS it is built as (see [SurfaceDef::natural_normal_flipped]) faces the other way.

Enums§

ConicKind
CurveDef
A curve as the file defines it.
Profile
What a Revolved surface’s profile is, as a function of its parameter v in the half plane at angle 0: (radius, height) along frame.x and frame.z.
Shape
Where a curve the file defines is a circle or a line, what tells whether it runs along a parallel or a meridian of a surface of revolution (see Revolved::iso_line).
SurfaceKind

Functions§

parameter_of
Where on curve the point p is: the parameter of its nearest point (NurbCurve3D::closest_point). A free choice of where to cut the curve, so sharp.
point_at
The point of curve at the parameter t, chosen in f64: at a domain end, the end itself, which t may miss by rounding.