ClassCAD PDM
The PDM is in development. These docs describe what works today and say so where something is still missing. Write to us if you want to run it when it's ready.
ClassCAD PDM keeps your CAD data: parts, assemblies, and the code that generates parts. Parts and assemblies live in the database. You make them in the PDM and edit them in the browser; files exist underneath, but you never need to handle one. Every model is checked and measured by ClassCAD, our CAD engine, each time it changes. You make versions when you mean to, branch, release with revision letters, and build assemblies that point at exact versions of their parts.
It runs on your own servers. There's no cloud service behind it: one API, one Postgres database, a folder for files, and as many workers and ClassCAD engines as the work needs. A scheduler in front of the engines spreads the work over them.
Where to start
- See it. Try it locally: one command, sample data, nothing else to install.
- Understand it. How it works explains documents, drafts, versions and releases.
- Run it for your team. Self-hosting covers what runs where, the setup and the scheduler.
- Script it. Everything the web app does goes through the API.
What it's made of
| Part | What it is |
|---|---|
| Web app | The PDM in the browser, with Buerligons as its CAD editor |
| API | NestJS on Postgres: REST under /api/v1, described as OpenAPI at /doc |
| Job workers | Node processes that take jobs from the API, run them on ClassCAD and store the results |
| Scheduler | classcad-scheduler, one port in front of a pool of ClassCAD engines |
| Generator SDK | @classcad/pdm-generator, for parts made by code |