Curved offset, curved shell, surfaces from points, mesh back to B-rep
Six bodies, each built live by the kernel: a cylinder and a cone offset along their own curved and planar faces, a sphere hollowed to a wall thickness, a torus offset past the point where its tube would swallow its own axis — refused, by name, rather than approximated — a NURBS surface fitted exactly through a 7×7 point grid, and a real STL file brought back as an analytic sphere, shown next to its input mesh in one x-ray view. Every volume, residual and watertight audit below is re-measured off the shipped STEP file — none of it is typed in. The full STL-to-solid scoreboard is on the Reconstruction page.
The cards
What these demonstrate
- Offset routes automatically.
ops/offset.js#offsetBodyreads the body BEFORE validating a distance or writing an entity; a wholly planar body still takes the v1 planar path byte for byte, and a body carrying a cylinder, cone, sphere, torus or B-spline face is routed, whole, toops/offsetCurved.js— same call, same signature, either way. - Correct-or-refuse, not correct-or-approximate. The torus card is a deliberate
failure: the requested offset would fold the tube through its own axis, and the kernel measures
that before authoring anything and refuses under
offset_torus_self_intersectrather than writing a self-intersecting surface. - A fit surface passes through its points, not near them.
NurbsSurface.fitGridis global INTERPOLATION (Piegl & Tiller §9.2), not a least-squares approximation — the residual the card reports is measured by evaluating the fitted surface back at every input parameter. - A mesh comes back as what it is. A triangle mesh with no declared kind — the only thing a real STL ever carries — comes back as a genuine analytic B-rep face when it really is one, never as a spline patch that merely looks round.
The same offset and shell calls are single ops on the MCP surface:
cad_offset { distance: 2.5 } and cad_shell { thickness: 2, openFaces: [...] }.
More demos
All demos →Declare the gap, name the weld
A seam that will not close at the model's tolerance welds shut once the edge carrying the gap declares it.
LOD exportOne solid, every triangle budget
The same solid exported at coarser and coarser detail, watertight at every level, ready for game engines.
5 detail levels per part glTF galleryCAD models any glTF viewer can run
Runtime-ready models with real materials, sharp creases and animation clips, ready to drop into any viewer.
19 models to download V12 engineA V12 engine you can run, slice and take apart
Every crank, rod, cam and valve is a real solid, turning in your browser from one dial: the crank angle.
361 parts · 2,850 placementsBuild your own part with NativeCAD
Free for education and makers with a registered key · $200 per seat per year · Kernel SDK for products.