Getting a ref model's target file in python

Publié le par Ahmidou

It was not so easy so here it is:

from win32com.client import constants
xsi = Application
oRoot = xsi.ActiveSceneRoot
oModels = oRoot.getmodels2()
for oModel in oModels:
    if oModel.parameters("referenced_model").GetValue2(1280) == 1:
        aRes =oModel.parameters("active_resolution").GetValue2(1280)
        oParams = oModel.NestedObjects
        for oItem in oParams:    
            if oItem.name == "Resolutions":
                oFile = (oItem.NestedObjects[aRes].NestedObjects[0].GetValue2(1280))
                xsi.logmessage (oFile)

Pour être informé des derniers articles, inscrivez vous :
Commenter cet article
A
<br /> # Your code ignores refmodels not in the scene root, and it can be even simpler:<br /> <br /> xsi = Application<br /> oRoot = xsi.ActiveSceneRoot<br /> <br /> oModels = oRoot.FindChildren2("*", "modelnull", "Nulls", True)<br /> oModels = filter(lambda x: x.referenced_model.Value, oModels)<br /> <br /> for oModel in oModels:<br /> aRes = oModel.Parameters("active_resolution").Value<br /> res = oModel.NestedObjects("Resolutions").NestedObjects<br /> <br /> resName = res(aRes).NestedObjects("Name").Value<br /> resPath = res(aRes).NestedObjects("file").Value<br /> <br /> xsi.LogMessage(resPath)<br /> <br /> # ;)<br /> <br /> <br />
Répondre