Skip to main content

classcad 21.2.0·headless

ClassCAD is CAD without the screen. Your program asks, and it answers with exact, parametric geometry, on a server, in a worker, or as WebAssembly in a browser tab.

264 methods7 domains3 runtimes5 platforms →

05Kernel & solverSMLib NURBS · LGS constraints04Services35 plugins: STEP, DXF, glTF…CCVM03CCVMbytecode on its own VM02Its own CAD language696 classes, compiledapi.v1.part.assembly.sketch.solid.curve.common.drawing2d01api.v1264 methods, 7 domains

01One API

api.v1.<domain>.<method>({ … }): 264 methods in seven domains. The same names from JavaScript, Python and .NET, the same on every runtime.

api.v10 methods

  • .part0
  • .assembly0
  • .sketch0
  • .common0
  • .curve0
  • .solid0
  • .drawing2d0
api.v1.part.booleanapi.v1.part.boxapi.v1.part.calculateMassPropertiesapi.v1.part.chamferapi.v1.part.circularPatternapi.v1.part.coneapi.v1.part.createapi.v1.part.cylinderapi.v1.part.expressionapi.v1.part.extrusionapi.v1.part.filletapi.v1.part.importFeatureapi.v1.part.linearPatternapi.v1.part.mirrorapi.v1.part.revolveapi.v1.part.rotationapi.v1.part.sketchapi.v1.part.sliceapi.v1.part.sliceBySheetapi.v1.part.sphereapi.v1.part.translationapi.v1.part.twistapi.v1.part.updateExpressionapi.v1.part.workAxisapi.v1.part.workCSysapi.v1.part.workPlaneapi.v1.part.workPoint
The reference, method by method →

Any runtime

Same calls. Three homes.

Run it as a server your apps connect to, as a worker beside your code, or as WebAssembly inside a browser tab. Where it runs is one line; the program doesn’t change.

your programjs
  1. const { SocketIOClient } = require('@classcad/api-js-connector')
  2. const client = new SocketIOClient({ url: 'ws://127.0.0.1:9091' })
  3. await client.connect()
  4. const api = client.getApiU()
  5. const part = await api.v1.part.create({ name: 'My First Part' })

02Features

Sketch, extrude, cut, round, repeat. A ClassCAD part is the list of features that made it, kept in order, and every other domain of the API has its own. Here they are, each drawn from what the engine returned for it: red is what the call made.

0 features

api.v1.part

History-based modelling. Every call adds a feature to the part’s history, and the part replays it when a value changes. Part API →

Part or Solid?

The Part API works with features and keeps track of the bodies they make. The Solid API works on the bodies themselves, inside one feature, with no history of its own. Part API versus Solid API →

03Parametric

Any number in a model can be an expression, and every feature remembers how it was made. Drag a value below: the bolt circle, the holes and the section all follow, as they would in ClassCAD.

Ø 926 × Ø 8.3 on Ø 6012A–A

Expressionsdrag a value

od
bore
n
t
pcd
(od + bore) / 260
d
0.09 * od8.3
≤
bore ≤ od − 48holds

part.updateExpression · the history replays

04Multi-client · new

A session can be shared. Invite others into it, to edit or only to view. Clients can be people or agents, working side by side: each change lands for all of them at once, and each sees where the others point and look.

* Next: comments, pinned to the geometry they are about. In testing, coming soon.

05Exact, and out

Models are boundary representations on NURBS, not meshes. Read the files your customers already have; write the ones their machines and drawings want.

In · common.load

  • OFBits own: the whole history
  • STEPfrom any CAD system
  • STLas a mesh, for display

Out · common.save · drawing2d

  • OFBhistory, expressions, all of it
  • STEPAP203 · AP214 · AP242
  • DXFR2000 to 2013, and drawings
  • SVGdrawings, hidden lines removed
  • STLfor printing
  • SCG

06Lineage

ClassCAD was never a startup’s first draft. It grew up inside other people’s CAD, kernel by kernel, and stayed.

RevDescriptionDate
AAn extension inside AutoCAD, written on ObjectARX.—
BOnto the ACIS kernel.—
COnto SMLib, a NURBS kernel. Still its kernel, twenty years on.—
DEvery line kept in git: 9,265 commits in the runtime, 4,487 in the classes.since 2010
EInside TDM’s tool data management, for thousands of users.—
F21.0.02025-12-12
G21.1.02026-04-01
H21.2.0: Windows, Linux x64 and arm64, WebAssembly, Docker.2026-06-25
ClassCADAWV Informatik AG · St. Gallensheet 1 / 1

07Get it

01 · Key

A key in a minute.

Sign up, confirm your email, and make a key: native for your servers, WebAssembly for the origins you name.

Get a free key

02 · Download

Every platform it runs on.

windows · x64linux · x64linux · arm64wasm32docker

Downloads

03 · Plan

Priced to be used.

  • Freenon-commercial use
  • CHF 100a year, commercial use
  • CHF 5,000a year, to ship it in your product
PlansWhy it's priced this way →