Continue to Site

Eng-Tips is the largest engineering community on the Internet

Intelligent Work Forums for Engineering Professionals

  • Congratulations waross on being selected by the Eng-Tips community for having the most helpful posts in the forums last week. Way to Go!

Detecting model changes in Abaqus/CAE

Status
Not open for further replies.

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!
 
Replies continue below

Recommended for you

**Forehead slap**

My friend, that is a very good suggestion. I guess I've been staring at this problem for too long, I couldn't see the forest through the trees! That should work well to determine when changes occur (and to have an idea as to what changes they were), and it probably won't be a stretch to figure out from that exactly what data was created/modified/deleted as a result of that command.

Thank you for very much for your help, Mustaine3.

Does anyone else have any other ideas?
 
I've found in the Abaqus GUI Toolkit users manual that you can register a function with each object repository that is called whenever an object in the repository is created/edited/renamed/deleted. This is done using the .registerQuery function on the repository in question. Now, I'm off to see if I understand that correctly and if I can get it working.

I will update if I learn anything more. Thanks again for your help!
 
The *.rpy as mustain3 has already mentioned.

If you want to check changes only after a file is saved then the *.jnl files are probably less volatile.
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor