Code: Select all
"%s.Texture_Map.ImageClipName" % oItem.Name
Code: Select all
"%s.Texture_Map.ImageClipName" % oItem.Name
Code: Select all
from siutils import si
si = si() # win32com.client.Dispatch('XSI.Application')
from siutils import log # LogMessage
from siutils import disp # win32com.client.Dispatch
from siutils import C # win32com.client.constants
o = si.Selection(0)
mat = o.Materials(0)
i = mat.ImageClips(0)
txmap = o.LocalProperties.Filter("TextureProp")(0)
txmap.Parameters("ImageClipName").Value = i.Name
Application.SetValue(txmap.Parameters("ImageClipName"), "Clips." + i.Name, "")
My snippet works on the first object in the selection ("si.Selection(0)", note the "(0)").caledonian_tartan wrote:i have it working for the first selected object only:
now i should iterate over the selection, which confuses me...Code: Select all
from siutils import si si = si() # win32com.client.Dispatch('XSI.Application') from siutils import log # LogMessage from siutils import disp # win32com.client.Dispatch from siutils import C # win32com.client.constants o = si.Selection(0) mat = o.Materials(0) i = mat.ImageClips(0) txmap = o.LocalProperties.Filter("TextureProp")(0) txmap.Parameters("ImageClipName").Value = i.Name Application.SetValue(txmap.Parameters("ImageClipName"), "Clips." + i.Name, "")
PS.: as you can see i used "+". i assume this is the same as "%"
Code: Select all
for o in si.Selection:
mat = o.Materials(0)
i = mat.ImageClips(0)
txmap = o.LocalProperties.Filter("TextureProp")(0)
txmap.Parameters("ImageClipName").Value = i.Name
Code: Select all
from siutils import si
si = si() # win32com.client.Dispatch('XSI.Application')
from siutils import log # LogMessage
from siutils import disp # win32com.client.Dispatch
from siutils import C # win32com.client.constants
for eachObj in Application.Selection:
log(eachObj.FullName)
oMat = eachObj.Material
collImgClips = oMat.ImageClips
oImgClip = collImgClips(0)
print oMat
print collImgClips
print oImgClip
Code: Select all
from siutils import si
si = si() # win32com.client.Dispatch('XSI.Application')
from siutils import log # LogMessage
from siutils import disp # win32com.client.Dispatch
from siutils import C # win32com.client.constants
for o in si.Selection:
mat = o.Materials(0)
i = mat.ImageClips(0)
txmap = o.LocalProperties.Filter("TextureProp")(0)
txmap.Parameters("ImageClipName").Value = i.Name
#Application.SetValue(txmap.Parameters("ImageClipName"), "Clips." + i.Name, "")
print txmap.Parameters("ImageClipName").Value
Code: Select all
from siutils import si
si = si() # win32com.client.Dispatch('XSI.Application')
from siutils import log # LogMessage
from siutils import disp # win32com.client.Dispatch
from siutils import C # win32com.client.constants
for o in si.Selection:
mat = o.Materials(0)
i = mat.ImageClips(0)
txmap = o.LocalProperties.Filter("TextureProp")(0)
txmap.Parameters("ImageClipName").Value = "Clips." + i.Name
# log all object names
for obj in Application.Selection :
Application.LogMessage( obj.name )
# log object count
oObjectCount = len(Application.Selection)
Application.LogMessage("%s Objects edited" %(oObjectCount))
Glad you finally got it working...
Users browsing this forum: No registered users and 50 guests