Creo APIs compared
| API | Language | Access depth | Licence |
|---|---|---|---|
| Creo TOOLKIT | C | Deepest, most complete | Separate TOOLKIT licence for development |
| Creo Object TOOLKIT C++ | C++ | Object-oriented, broad coverage | Separate licence |
| Creo Object TOOLKIT Java / J-Link | Java | Common tasks; J-Link free, Object TOOLKIT Java licensed | Free (J-Link) / licensed |
| Creo VB API | VB / .NET (COM) | Common tasks from Windows apps | Free |
| Mapkeys and relations | Macros, formulas | Basic | Included |
When TOOLKIT is the right choice
- You need functions not available in the free APIs (advanced feature creation, geometry analysis, UI integration).
- Performance is critical on large assemblies.
- You are building a commercial Creo application.
- Tight integration with Creo menus, ribbons and dialogs is required.
DLL and asynchronous modes
TOOLKIT applications run either as a DLL loaded inside Creo (fastest, most common) or in asynchronous mode as a separate process that starts or connects to Creo, useful for batch and external applications.
/* TOOLKIT: register a command on start-up (simplified) */
int user_initialize(int argc, char *argv[], ...)
{
uiCmdCmdId cmd_id;
ProCmdActionAdd("EM_Validate", (uiCmdCmdActFn)EmValidateModel,
uiProeImmediate, NULL, PRO_B_TRUE, PRO_B_TRUE, &cmd_id);
ProMenubarmenuPushbuttonAdd("Tools", "EM_Validate", "EM Validate",
"Validate model against company rules", NULL, PRO_B_TRUE, cmd_id, msgfile);
return 0;
}
Typical TOOLKIT applications
- Model and drawing validation against company or OEM standards.
- Automated feature creation for specialised geometry.
- Custom UI panels integrated in the Creo ribbon.
- Interfaces to calculation engines and PLM systems.
Deployment
Applications are registered with a protk.dat file and must be rebuilt or tested for each Creo release. End users need a runtime licence option for TOOLKIT applications in some configurations, so licensing should be checked early.
Start with free APIs where possible; use TOOLKIT when you need its depth or performance.