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 →
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
02Any runtime
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.
- const { SocketIOClient } = require('@classcad/api-js-connector')
- const client = new SocketIOClient({ url: 'ws://127.0.0.1:9091' })
- await client.connect()
- const api = client.getApiU()
- const part = await api.v1.part.create({ name: 'My First Part' })
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.
Expressionsdrag a value
- od
- bore
- n
- t
- pcd
(od + bore) / 260- d
0.09 * od8.3- ≤
bore ≤ od − 48holds
part.updateExpression · the history replays
04Exact, 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
05Lineage
ClassCAD was never a startup’s first draft. It grew up inside other people’s CAD, kernel by kernel, and stayed.
06Get 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 key03 · Plan
Priced to be used.
- Freenon-commercial use
- CHF 100a year, commercial use
- CHF 5,000a year, to ship it in your product