Skip to main content

ClassCAD and SMLib Kernel

ClassCAD is built on top of SMLib, a NURBS-based geometry kernel. This page explains what the kernel provides, what ClassCAD adds above it, and why that separation matters when you build an application.


A Kernel Alone Is Not a CAD System​

A geometry kernel is excellent at geometric operations:

  • B-rep creation and editing
  • Intersections, blends, offsets, tessellation

But a kernel does not provide application-level CAD behavior:

  • Feature history and parametric rebuild
  • Stable references across topology changes
  • Assemblies, constraints, drawings, API contracts

Building directly on a kernel therefore means implementing most of the CAD platform yourself. ClassCAD addresses this by adding the system layer above the kernel.


Architecture Split: Who Owns What​

ClassCAD and SMLib are intentionally separated.

SMLib owns geometry:

  • Solids, faces, edges, vertices, surfaces, curves

ClassCAD owns semantics and system behavior:

  • Object identity, parameters, history graph, references, runtime API

Integration path:

  • Service functions send modeling intent from ClassCAD to the kernel
  • Kernel callbacks (copy / split / merge) drive ClassCAD referencing updates
  • Attributes provide back-links from kernel elements to ClassCAD references
  • Tessellation returns a selectable mesh with topology identity preserved

The net effect is a clean boundary, controlled evolution, and stable application code.


Why Build on ClassCAD​

Faster product development:

  • Use high-level APIs instead of low-level kernel orchestration

Built-in CAD capabilities beyond geometry:

  • Part feature modeling
  • Assembly modeling and 3D constraints
  • Sketch API with dedicated 2D constraint solving
  • Drawing API and export workflows

Multi-language and deployment flexibility:

  • TypeScript, Python, C#, ClassCAD language
  • Backend / proxy and WebAssembly execution modes

Practical guidance: if the ClassCAD functionality is sufficient for your use case, build your application on the ClassCAD APIs and avoid the kernel complexity.


Tell Us What You Need​

ClassCAD and especially the SMLib service functions are under active development, and we extend the system continuously with new features and APIs — often driven directly by concrete customer requirements. If you need a kernel capability that is not yet exposed through the ClassCAD APIs, or a modeling workflow that is missing, let us know. Talking to us early is usually faster than working around a gap: your requirements help us prioritise, and many of them end up as part of the next release.