ENCY CAM API — Plugin Development Overview
What is CAMAPI?
CAMAPI is the in-process plugin API. Your plugin (DLL) is loaded by ENCY and called at specific injection points. Plugins can be written in .NET, C++, or Delphi.
Quick Start
- Choose your entry point → Extension Entry Points
- Implement
CAMAPI.ExtensionFactoryclass - Register your library via JSON config
Documentation Map
| Topic | File |
|---|---|
| Choosing injection point | general/extension-entry-points.md |
| Extension system (IExtensionManager) | api/entry-points.md |
| Project, Technologist, Operations | api/project.md |
| Geometry (model, import, B-rep, sketcher) | api/geometry.md |
| CAD modelling (sketch, extrude, revolve, cut, fillet) | api/cad.md |
| Feature recognition (holes, pockets, …) | api/feature-finder.md |
| Tools & Machine | api/tools-machine.md |
| NC Generation & Simulation | api/nc-simulation.md |
| Probing Operations (measuring cycles) | api/probing.md |
| Application, Events, Logger | api/application.md |
| Macros (record, build, replay) | api/application.md · macros/ |
| UI (dialogs, viewport, custom 3D rendering) | api/ui.md |
| COM lifetime (.NET) | general/com-lifetime.md |
| Error handling | general/error-handling.md |
| UI patterns (.NET) | general/ui-patterns.md |
Key Concepts
- All COM objects must be wrapped in
ComWrapper<T>withusing— see com-lifetime.md - Never throw exceptions across COM boundary — use
TResultStatus— see error-handling.md - Entry point determines what context you receive — see extension-entry-points.md