Connect your app

Import and export Truzme Project code in your own tool: where the format lives, and how models get in and out of Truzme

Last updated 2026-10-10

Open format · MIT

Building a truss app, a course tool, a research script or an AI pipeline? Support Truzme Project code, and your users can move models between your tool and Truzme.

What it is

Truzme Project code is a truss model written as one JSON object: nodes, members, supports, loads, materials and sections, plus the units its numbers are in. It's what Truzme copies to the clipboard, and what it reads when you paste. Every field is described in the schema reference.

Everything for developers is in the repo

truzmedotcom/project-code has:

  • the schema,
  • the rules for writing and reading a document,
  • a validator that checks the schema and the references,
  • example documents to test your tool against, including ones it must reject.

Start there. This guide only covers what's specific to Truzme.

Getting a model into Truzme

Copy the document to the clipboard, then in Truzme either:

  • paste it on the canvas (Ctrl+V, ⌘V on a Mac). It's added next to what's already there, or
  • paste it into the Project code panel and press Apply. It replaces the whole model, matching entities by id (see Behavior notes).

So a "Copy for Truzme" button in your tool is all it takes. If something's wrong with the document, the Project code panel names the problem, e.g. "member 3 references node 9, which doesn't exist".

Share links and .truzme files use Truzme's own internal format. They aren't Project code, so don't try to build them.

Getting a model out of Truzme

Users copy on the canvas (Ctrl+C) or from the Project code panel, and paste into your tool. The numbers are in whatever units the user has set in Truzme, and the units block says which.

What Truzme does with extra keys

The format doesn't allow keys it doesn't define. A canvas paste with an extra key is rejected; the Project code panel drops unknown top-level keys when you paste. Don't rely on either: if your tool needs something the format can't say, open an issue proposing it. The same goes if the strict check is a problem for your tool: tell us in an issue.

Using the format

Free to implement in any tool. Please name it "Truzme Project code" and link to this page or to the repo. The license is in the repo.

Text and figures: CC BY-NC-ND 4.0. Free to use in class with a link to this page. Details: License.

Previous

Project code

Back to guides