JBriggs3
Mechanical
- Jun 17, 2015
- 3
I'm new to Eng-Tips, so I apologize if this question doesn't completely fit in this forum. Any redirection to a more appropriate site would be greatly appreciated.
I'm working on an add-in for Abaqus/CAE using the Python interface, and I need my software to detect when changes to the model occur (mesh entities created/edited, properties changed, etc.). It would be preferable to detect what changes happened, but I at least need to know when any change takes place. Does anyone know of a method for doing this? I've thought of a few possible routes:
[ul]
[li]Periodically check the model for changes (won't work for larger models given the time and memory required to compare everything)[/li]
[li]Detect GUI commands being sent from the UI to the kernel (would also need to know when the kernel is done processing that command to make this useful, but this would be a start)[/li]
[li]Use something similar to event callbacks to detect model changes after kernel operations take place (this worked really well for another software package, but it was using a different API and programming language)[/li]
[/ul]
Is there anything that provides the functionality described in my last bullet in either Abaqus' GUI Toolkit or the FOX Toolkit itself? So far, I've realized that they're probably not called "callbacks" in this context...
I've been using Python for several years creating plugins for Abaqus/CAE and Viewer, but this is my first foray into the interactive side of things. I've tried Googling to find what I need, but I can't seem to figure out the right words to use in the search (Python and FOX seem to use different terminology than I'm used to from my past experience in TCL).
Any help would be tremendously appreciated (even if it's the right terminology to search for). Thanks in advance!
I'm working on an add-in for Abaqus/CAE using the Python interface, and I need my software to detect when changes to the model occur (mesh entities created/edited, properties changed, etc.). It would be preferable to detect what changes happened, but I at least need to know when any change takes place. Does anyone know of a method for doing this? I've thought of a few possible routes:
[ul]
[li]Periodically check the model for changes (won't work for larger models given the time and memory required to compare everything)[/li]
[li]Detect GUI commands being sent from the UI to the kernel (would also need to know when the kernel is done processing that command to make this useful, but this would be a start)[/li]
[li]Use something similar to event callbacks to detect model changes after kernel operations take place (this worked really well for another software package, but it was using a different API and programming language)[/li]
[/ul]
Is there anything that provides the functionality described in my last bullet in either Abaqus' GUI Toolkit or the FOX Toolkit itself? So far, I've realized that they're probably not called "callbacks" in this context...
I've been using Python for several years creating plugins for Abaqus/CAE and Viewer, but this is my first foray into the interactive side of things. I've tried Googling to find what I need, but I can't seem to figure out the right words to use in the search (Python and FOX seem to use different terminology than I'm used to from my past experience in TCL).
Any help would be tremendously appreciated (even if it's the right terminology to search for). Thanks in advance!