Tool Open source

smlibpy

smlibpy is a Python library for 3D solid and surface modeling on the SMLib NURBS kernel. Its value-based API follows build123d's algebra mode: primitives and sketches produce parts, operations return new parts, and Boolean operations can be written with +, - and &. Sketches can be extruded, revolved, lofted or swept, while features include holes, pockets, fillets, chamfers, shelling, sheet-metal bends, deformation and draft operations. Parts use exact B-rep surfaces, including planes, cylinders, cones, spheres, tori and NURBS; volumes, areas and mass properties are computed from those surfaces, and the library supports geometry-aware selection of faces and edges.

View repository Visit site Mentioned in 1 video ↓

Overview

It reads and writes formats including STEP, USD BrepArray bodies, DXF, STL, glTF/GLB and OBJ, and provides rendering, technical drawings, sections and model inspection. The package includes an MCP server for agent-driven modeling, with function guides, scripted modeling steps, snapshots and validation loops. The same API is available in the browser and Node through the related smlibwasm WebAssembly package.

smlibpy is distributed through pip with compiled wheels for common platforms and Python 3.10–3.14; the base package uses NumPy as its stated dependency. The project is MIT licensed and bundles the SMLib kernel from NVIDIA-Omniverse/usd-brep under the Apache License 2.0.

What smlibpy is used for

1 use taken from transcripts — each links to the moment in the video.

  • Python library for building 3D parts on the SMLib NURBS kernel — the same kernel inside NVIDIA USD brep; sketch a shape, extrude or revolve it, then add holes, pockets, and filleted edges in simple Python, combining shapes with +, -, and & operators, with exact surfaces so volume and mass are precise.

Videos mentioning smlibpy

1 in the library.