Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Getting started

This walks through a full session on a real part.

Create a repository

mkdir my-part && cd my-part
cadvm init

This creates a .cadvm/ directory. cadvm tracks .step, .stp, .stl and .obj files recursively from here (other files are ignored — see Storage model).

cadvm config user.name  "Your Name"
cadvm config user.email "you@example.com"

Commits made afterwards record this author. You can also override it per-command with the CADVM_AUTHOR_NAME / CADVM_AUTHOR_EMAIL environment variables.

First snapshot

Drop a STEP file in the directory, then:

cadvm status          # piece.step shows under "New"
cadvm snapshot -m "Initial version"

A snapshot captures the whole working tree (there is no staging step).

Make a change and snapshot again

Re-export the part from your CAD tool over the same file, then:

cadvm status          # piece.step shows under "Modified"
cadvm snapshot -m "Enlarged the main bore"

Inspect history

cadvm log             # commits, newest first, with author + date
cadvm show HEAD       # one commit in detail + per-file STEP metadata
cadvm diff HEAD~1 HEAD # metadata diff (size, lines, entities, schema)

See the geometry change

With the geometry helper built:

cadvm geom-diff HEAD~1 HEAD   # added / removed / common volumes + face counts
cadvm view HEAD~1 HEAD --open # 3D diff in your browser

Or do it all interactively

cadvm ui

A full-screen dashboard to browse commits and launch diffs/viewer — see Interactive dashboard.

Next: Typical workflow.