How to listen and respond to Inventor events in Python using win32com (from http://wikihelp.autodesk.com/Inventor/enu/Community/Third_Party_Tools/the_python_page/Listening_to_Events). This example assumes you have succefully been able to connect to Inventor’s COM object If you have not, please do that first.
# used to listen to the application events and also the events for a custom button import ctypes import win32com.client from win32com.client.gencache import EnsureDispatch import pythoncom class Events(): def __init__(self, oApp): global Application Application = oApp #Application Events class IVEvent(): def OnQuit(self, BeforeOrAfter, Context, HandlingCode): print("Quiting...") ctypes.windll.user32.PostQuitMessage(0) Application.Quit() #Custom Button Events class BEvent(): def OnExecute(self, Context): print "Dxf Button Clicked" class DoylePlugin(): oApp=EnsureDispatch("Inventor.Application") oApp.Visible=True DxfButton=oApp.CommandManager.ControlDefinitions.AddButtonDefinition("Dxf Update", "dxf", 4) DxfButton.AutoAddToGUI() Events = Events(oApp) AppEvents=win32com.client.DispatchWithEvents(oApp.ApplicationEvents, Events.IVEvent) DxfEvents=win32com.client.DispatchWithEvents(DxfButton, Events.BEvent) pythoncom.PumpMessages()