2026-11-10
3.0 is a new API. Code written for 2.0 does not run without changes. Follow Migrate from 2.0.
Check these when you upgrade
- Breaking: three body classes. Make bodies with
new Wire(kind, params),new Solid(kind, params)andnew Sheet(OG_OPERATION_SWEEP, params). The 2.0 classes such asCuboid,Polygon,SweepandAnalyticSolidare gone. - Breaking: arrays, not
Vector3. Points and vectors are[x, y, z]. - Breaking: move with
transform. Settingposition,rotationorscaleis reverted. - Breaking: start the kernel first. Await
OpenGeometry.create(input, options)once.workerURLgoes in the second argument. - Breaking: 2D calls are statics. Use
OpenGeometry.booleanRegions2D,OpenGeometry.offsetRingVariableand the others. Offsets return line and arc edges. - Breaking:
OpenGeometry.exportIfcBody(solid)replacessolid.prepareIfcExchange(). - Breaking:
OGError. Catch it and branch oncode. - Breaking: the shell hollows in place. Use
solid.operate(OG_OPERATION_SHELL, { thickness }). - Breaking: display follows drawing. A body gets its mesh when it is drawn or walked. Its
surfaceandoutlinemeshes are static: callupdateMatrix()after you move them yourself. - Smooth edges. Outlines leave out smooth edges, and faceted curves shade smooth. Set
appearance.smoothAngleto0for the 2.0 look. - Removed: IFC file text, STL and PDF export, projection, loft, public triangulation, and curves other than lines, circles, arcs and polylines, such as the elliptical arc. 3.0 has no spline, no ellipse and no elliptical arc. The wedge and the 2.0
Curveclass are gone too. Build a wedge as a five-faceOG_PRIMITIVE_POLYHEDRON, and a 2.0Curveas anOG_PRIMITIVE_POLYLINEwire through its points.
Added
- Solid primitives: cuboid, cylinder, cylinder sector, sphere, cone, torus and polyhedron. Wire primitives: rectangle, circle, polyline, profile and arc. See Primitives.
- Extrude, sweep and revolve, with exact arcs.
- Booleans with up to a hundred tools, and shell.
- Rebuild and mirror, assemblies, copies and instances, and marks and transactions.
- Queries: bounds, B-rep, face normals, point classification, measured volume and area, validity.
- Display for Three.js, picking and host-drawn layers.
- STEP export and the IFC exchange body.
- Exact curved insets:
OpenGeometry.insetCurvedRegion2DandOpenGeometry.offsetCurvedRingVariable. See Regions and offsets. - Solid primitives: slot prism, rounded box and pipe segment. See Primitives.
- Polysolid.
OG_PRIMITIVE_POLYSOLIDmakes a solid wall of constant width and height along a path of straight legs and tangent arcs, justified'centre','left'or'right', with mitred corners. A joint where an arc meets a segment at an angle throwsInvalidParameterthat names the joint. See Primitives. - Wire primitives: regular polygon, slot and rounded rectangle. See Primitives.
Fixed
- A circular hole away from the profile centre extrudes.
- Offset corners are exact arcs.
- A point inside one of two touching solids of a body is
Inside.

