| Filename | Latest commit message | Latest commit date |
|---|---|---|
| .. | ||
| .github/workflows | ||
| src | ||
| Cargo.toml | ||
| PLUGIN.md | ||
| plugin.toml | ||
| README.md | ||
Open CAD Studio plugin template
A complete scaffold for an external Open CAD Studio add-on. A plugin is its
own repository that builds a cdylib; the host loads it at runtime. Copy this
folder into a new repo and rename the placeholders.
Files
| File | Purpose |
|---|---|
Cargo.toml |
cdylib crate depending on ocs_plugin_api (host feature) |
src/lib.rs |
manifest + CadModule ribbon + BuiltinPlugin + export_plugin! |
plugin.toml |
metadata read by the host (mirrors the manifest) |
.github/workflows/release.yml |
cross-builds the cdylib and publishes a release |
PLUGIN.md |
your command reference + XDATA schemas |
Quick start
- Copy this folder into a new repository.
- Rename
my-plugin/My Plugin/opencad.my_plugin/my_plugin/MP_throughout (Cargo.toml,src/lib.rs,plugin.toml, the workflowasset:names), keepingplugin.tomland theMANIFESTin sync. cargo buildto check it compiles.
Test locally
cargo build --release
mkdir -p "<config>/OpenCADStudio/plugins/opencad.my_plugin"
cp target/release/*my_plugin*.so "<config>/OpenCADStudio/plugins/opencad.my_plugin/"
cp plugin.toml "<config>/OpenCADStudio/plugins/opencad.my_plugin/"
Restart Open CAD Studio: the ribbon tab appears and MP_ commands route to your
plugin. (<config> = %APPDATA% / ~/Library/Application Support /
$XDG_CONFIG_HOME.)
Publish
Push a v* tag — the workflow builds the cdylib on Linux/Windows/macOS and
uploads each binary plus plugin.toml to a GitHub Release. Users install it from
the Plugin Manager by linking your owner/repo, or — once your repo is added
to plugins/registry.json
via PR — straight from Available plugins.
The binary must be built with the same toolchain and
ocs_plugin_apiversion as the host (approach B). Seedocs/plugin-architecture.md.