Re: Python for loops on objects

Date : Fri, 13 Apr 2007 14:32:31 -0400
To : XSI(at)Softimage.COM
From : Francois Lord <francoislord(at)gmail.com>
Subject : Re: Python for loops on objects
Yes. I have Active Python 2.4 with the hack and your script (and Kim's) works fine in 6.01.

Bernard Lebel wrote:
Indeed. Before 6.0, that used to be a typical dispatch problem that
required the pywin32 hack or forced dynamic dispatching to work.

This works perfectly for me in 5.11:

import win32com
c = win32com.client.constants
xsi = Application

oClusters = xsi.selection(0).activeprimitive.geometry.clusters

for oCls in oClusters:
    if ( oCls.type == c.siSampledPointCluster ):
        oCluster = oCls
        break

t = oCls.Elements
xsi.logmessage( t.count )
xsi.logmessage( xsi.classname( t ) )
xsi.logmessage( str( t.array ) )



I wonder if hacking pywin32, even if used in 6.0, would fix this.


Cheers Bernard



On 4/13/07, Kim Aldis <XSI(at)kim-aldis.co.uk> wrote:
It's misleading. Putting a logmessage of oCls in the loop prints a sensible
name. it's only when you try and access any properties that it kicks you
out. If you haven't checked it thoroughly you may want to.


> -----Original Message-----
> From: owner-xsi(at)Softimage.COM [mailto:owner-xsi(at)Softimage.COM] On
> Behalf Of Bernard Lebel
> Sent: 13 April 2007 15:16
> To: XSI(at)Softimage.COM
> Subject: Re: Python for loops on objects
>
> No problem at all here.
> Note that I'm using XSI 5.11, so my pywin32 is hacked......
>
> Cheers
> Bernard
>
>
>
>
> On 4/13/07, Kim Aldis <XSI(at)kim-aldis.co.uk> wrote:
> > Has anyone noticed this seems to give you an object in oCls but you
> can't
> > actually get any of its properties :-
> >
> > for oCls in oClusters :
> >         if ( oCls.type == constants.siSampledPointCluster ):
> >                 oCluster = oCls
> >                 break
> >
> > t = oCls.Elements # ERROR!
> >
> >
> > But this works just fine:-
> >
> > for i in range( oClusters.count ) :
> >         oCls = oClusters(i)
> >         if ( oCls.type == constants.siSampledPointCluster ):
> >                 oCluster = oCls
> >                 break
> >
> > t = oCls.Elements # Works
> >
> > www.kim-aldis.co.uk   |   kim(at)kim-aldis.co.uk
> >
> >
> >
> > ---
> > Unsubscribe? Mail Majordomo(at)Softimage.COM with the following text in
> body:
> > unsubscribe xsi
> >
> ---
> Unsubscribe? Mail Majordomo(at)Softimage.COM with the following text in
> body:
> unsubscribe xsi

---
Unsubscribe? Mail Majordomo(at)Softimage.COM with the following text in body:
unsubscribe xsi


---
Unsubscribe? Mail Majordomo(at)Softimage.COM with the following text in body:
unsubscribe xsi


---
Unsubscribe? Mail Majordomo(at)Softimage.COM with the following text in body:
unsubscribe xsi


Search the XSI List archives here or use the advanced search form to search across mailing lists. Searching help is available.
This site supposedly brought to you by Benjamin Grosser and the Imaging Technology Group.