Your CAD tool. Your API. Your plugin.
Engineering teams use every kind of CAD tool, and almost all of them offer a scripting or programming interface. We deliberately do not care which tool you use or how its API looks. We care about two things only: you legally own the tool, and you are legally allowed to use its API to write helper plugins for your company's or your own use.
If that holds, you need just three files. One describes the format T2DPLM accepts. One is the prompt you give a code-generation assistant on your own licensed workstation, so it writes a plugin that conforms to that format. One verifies that everything went well. The plugin is built, compiled and run entirely on your own machine. We never receive, ship or touch code that calls a CAD vendor's API.
From your CAD tool to T2DPLM in four steps
Get the three files
Download the format specification, the implementation guide (the prompt) and the validator below.
Generate the plugin
On your licensed CAD workstation, give the specification and the guide to a code-generation assistant. It asks which tool and version you use, then maps your tool's official API to the format.
Run it on save
The plugin hooks your tool's save event, walks the design tree and writes one small JSON file per save into a watched folder. Some tools do not let plugins hook Save. In that case the plugin gets a custom key combination instead, which you press after saving.
Validate
Run the validator on the output and the eight acceptance tests from the guide. When they pass, T2DPLM can ingest your designs.
The three files
All three are released under the MIT License. Revision 2, 16 September 2026.
1 · Format Specification
The contract. Defines the JSON layout, every field, the two hard rules (stable identity, no noisy values), producer behaviour and the conformance tests. Contains no vendor code.
Download specification2 · Implementation Guide & Prompt
The instructions for your code-generation assistant: what to ask, how to map your tool's API, and how to run the acceptance tests. Hand it over together with the specification.
Download guide3 · Validator
A standalone Python 3 tool with no dependencies. Checks a file against the format, compares two saves, and ships with sample files and 36 automated tests.
Download validatorLicense text: ocf/LICENSE
One small JSON file per save
The file describes the component tree of your design at the moment it is saved. T2DPLM compares it with earlier versions to find real design changes. Two rules matter above all:
Rule A · Stable identity
A component keeps the same id across saves for as long as it is unchanged, so moving or editing one part is never mistaken for a different part.
Rule B · No noisy values
Anything that changes on its own, such as timestamps and temporary paths, stays out of the component data, so an unchanged design looks unchanged.
{
"meta": {
"assemblyId": "demo-assembly-001", "assemblyName": "Demo", "savedAt": "2026-09-16T09:22:00Z",
"sourcePath": "...", "cadTool": "YourTool", "toolVersion": "1.0.0"
},
"components": [
{
"id": "9f2c…", "partNumber": "BRK-100", "configuration": "", "parentId": null,
"fileName": "bracket.part",
"transform": { "position": { "x": 0, "y": 0, "z": 0 }, "rotation": { "x": 0, "y": 0, "z": 0 } },
"properties": { "Material": "Steel" }, "suppressed": false, "virtual": false
}
]
}
This is only an illustration. The Format Specification is the single source of truth.
Before you build a plugin
- Ownership and permission. Use these files only with CAD tools you legally own or are licensed to use, and only where the vendor's license and API terms of use allow you to write helper plugins for your own or your company's use. Vendors differ, and these files do not resolve that question for any of them.
- Official APIs only. The implementation guide tells the code-generation assistant to use only official, publicly documented APIs. Reverse-engineered or undocumented interfaces are not allowed.
- No vendor code from us. We provide a format, a prompt and a validator. We provide no CAD-vendor SDK, no API bindings and no code that calls a vendor's API, and we do not receive or distribute the plugins you build.
- Your plugin is yours. Thought2Design Systems claims no ownership of a plugin you create and takes no responsibility for it or for your compliance with a vendor's terms.
- No affiliation. Names of CAD tools and vendors are trademarks of their respective owners. Mentioning them implies no affiliation, endorsement or sponsorship.
- Not legal advice. Nothing on this page or in the files is legal advice. If you are unsure, ask your legal counsel.