Hi Carlos,
This is a separate event where the the Application lets the user know that the Application is currently in idle state and user can perform any operation on the background. Usually used by programmers to perform some kind of Asynchronous operations.
Such events are available in most of the CAD tools. Even Autodesk products like AutoCAD, Revit, etc has such events.
Inventor does not currently support an idle event.
You may try UserInputEvents.OnActivateCommand / OnTerminateCommand, so you will know if a command is running or not ...
This might not cover 100% of the secnarii but that should help.
Hi Philippe,
I did try out your suggested method, method this doesn't work with dialogs like Open, Save as those doesn't have any commands.
Any other suggestion or options i can try.....!
I don't think there is an easy solution using the Inventor API itself, maybe you can use a lower level API in Win32 or .Net, checking idle event or the message loop...
Another suggestion would be to use the approach exposed in that blog post which replace Inventor native commands by custom ones, so you can get notifications when user is invoking them, but you have to do that for every command 😞
http://adndevblog.typepad.com/manufacturing/2012/07/replacing.html
I use ButtonDefinition.Execute2(false) to allocate my code a position in the execution queue. It could be worth testing how this behaves when a dialog is open.
Regards,
cadull