| Feature | Legacy Method | New NIPActivity | | :--- | :--- | :--- | | | Requires session focus | Runs completely headless | | Error Handling | Basic (fails silently) | Advanced (CAA exceptions + logs) | | Performance | Sequential, slow | Multi-core optimized | | CATIA Version | V5R20 and below | V5R28+, 3DX 2021+ | | Save Behavior | Manual SaveAs | Automatic PLM Save + Promotion |
CATNIPActivity *pNIPAct = new CATNIPActivity("MyBatchHealing"); pNIPAct -> SetMode(NIP_No_UI); // Crucial for "New" silent mode You must feed the NIPActivity a CATCommand GUID or a Knowledgeware Script Path . For example, to open a part and run a heal command:
CATListOfCATDocument docList; docList.Append(pMyPartDocument); pNIPAct -> SetDocuments(docList); // Runs the activity on ALL listed docs. pNIPAct -> Run(); // Non-blocking if async flag is set. while(pNIPAct -> GetStatus() != NIP_Finished) CATSleep(100); // Update progress bar (if you have a silent UI)
This article provides a deep dive into NIPActivity, its role in CATIA, the differences between the legacy and "New" methods, and a step-by-step guide to implementing it. NIPActivity stands for Non-Interactive Process Activity . In the context of Dassault Systèmes’ CAA (Component Application Architecture), NIPActivity is a mechanism used to run a predefined sequence of commands or a knowledgeware script without user intervention .
CATCommandHeader header("HealGeometry"); pNIPAct -> AddCommand(header, "C:\MyScripts\HealRules.catvbs"); The older version struggled with multiple documents. The "New" version uses CATListOfCATDocument .
If you search for in Dassault’s documentation, you will find it specifically referenced under CAA V5 Encyclopedia > System Framework > NIP Activities . How to Create a NIPActivity (The "New" Way) Let’s walk through the conceptual steps (pseudo-code logic for C++/CAA developers and scripters). Step 1: Declare the Activity Instead of using CATStartBatch , you now instantiate CATNIPActivity .
Because this is a "New" resource, always delete the pointer to free memory.
| Feature | Legacy Method | New NIPActivity | | :--- | :--- | :--- | | | Requires session focus | Runs completely headless | | Error Handling | Basic (fails silently) | Advanced (CAA exceptions + logs) | | Performance | Sequential, slow | Multi-core optimized | | CATIA Version | V5R20 and below | V5R28+, 3DX 2021+ | | Save Behavior | Manual SaveAs | Automatic PLM Save + Promotion |
CATNIPActivity *pNIPAct = new CATNIPActivity("MyBatchHealing"); pNIPAct -> SetMode(NIP_No_UI); // Crucial for "New" silent mode You must feed the NIPActivity a CATCommand GUID or a Knowledgeware Script Path . For example, to open a part and run a heal command: nipactivity catia new
CATListOfCATDocument docList; docList.Append(pMyPartDocument); pNIPAct -> SetDocuments(docList); // Runs the activity on ALL listed docs. pNIPAct -> Run(); // Non-blocking if async flag is set. while(pNIPAct -> GetStatus() != NIP_Finished) CATSleep(100); // Update progress bar (if you have a silent UI) | Feature | Legacy Method | New NIPActivity
This article provides a deep dive into NIPActivity, its role in CATIA, the differences between the legacy and "New" methods, and a step-by-step guide to implementing it. NIPActivity stands for Non-Interactive Process Activity . In the context of Dassault Systèmes’ CAA (Component Application Architecture), NIPActivity is a mechanism used to run a predefined sequence of commands or a knowledgeware script without user intervention . while(pNIPAct -> GetStatus()
CATCommandHeader header("HealGeometry"); pNIPAct -> AddCommand(header, "C:\MyScripts\HealRules.catvbs"); The older version struggled with multiple documents. The "New" version uses CATListOfCATDocument .
If you search for in Dassault’s documentation, you will find it specifically referenced under CAA V5 Encyclopedia > System Framework > NIP Activities . How to Create a NIPActivity (The "New" Way) Let’s walk through the conceptual steps (pseudo-code logic for C++/CAA developers and scripters). Step 1: Declare the Activity Instead of using CATStartBatch , you now instantiate CATNIPActivity .
Because this is a "New" resource, always delete the pointer to free memory.