@floccipier , @Ralf_Krieg
Hi guys. I picked up handy, simple little trick a while back that may help you in this situation. It's not a perfect solution, but it's better than nothing, and a step in the right direction. And it leads me to believe that maybe the model file may actually know if it has a drawing, due to how it works. I don't know if you have noticed this subtle convenient tool, and I don't recall which version of Inventor it became available, but when you left click (which selects it) on the top node in your model document's model browser (usually shows the name of the model), then right click, then choose "Open Drawing" from the right-click menu, if you have created a dedicated drawing of this model before and saved it, it will open that drawing. Using this knowledge and technique, I looked up which command is called/used in that situation. It is "CMxOpenDrawingCmd". It won't work by itself, but if you simulate clicking on that top browser node just before executing it, it works the same as the manual process. So I created a simple little iLogic rule that does this.
Here is that rule:
ThisDoc.Document.BrowserPanes.Item("Model").TopNode.DoSelect
ThisApplication.CommandManager.ControlDefinitions.Item("CMxOpenDrawingCmd").Execute2(False)
Obviously, you can change the document reference how you want, but I'm pretty sure the model document has to be fully open and active (visibly) for this to work. And you could most likely replace "Model" with the 'InternalName' "PmDefault", if there is a language barrier.
I don't use Vault either, and don't even have it installed, and I haven't recently/previously had the model's drawing open either, so it's not still in memory or anything, but this still works for me. So, to me that means...the model document must somehow not only know IF it has a drawing, but also how to open it. I don't know where this information may be stored, or how to retrieve it yet, but at least there's hope, right. 😉
PS: After it opens the drawing document, that drawing becomes the 'active' document, so you can use ThisApplication.ActiveDocument to retrieve it and/or its FullFileName.
If this solved your problem, or answered your question, please click ACCEPT SOLUTION.
Or, if this helped you, please click (LIKE or KUDOS) 👍.
If you want and have time, I would appreciate your Vote(s) for My IDEAS 💡or you can Explore My CONTRIBUTIONS
Wesley Crihfield

(Not an Autodesk Employee)