Search elements of a certain type



  • THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED

    On 23/05/2011 at 09:36, xxxxxxxx wrote:

    Hy there,

    what function can I use to check for a certain type of object?
    I tried CheckType, GetType(), GetName() ...

    I want to recourse over the hierarchy and put all matching objects into a list (say, all Sweep NURBS).

    The following will fail:

    import c4d
    sweeps = []

    def getSweeps(obj) :
      global sweeps
     
      if obj == None: return

    if obj.CheckType(c4d.Osweep) :
      sweeps.append(obj)
     
      print "obj: "+ str(obj)

    if obj.GetDown() : getSweeps(obj.GetDown)
      if obj.GetNext() : getSweeps(obj.GetNext)

    def main() :
      global reset

    reset = False

    print "Impulses: "+getSweeps(obj.GetDown())

    Error is:
    obj: <c4d.SplineObject object at 0x0000000015F8D3B0>
    Traceback (most recent call last) :
      File "<Python>", line 27, in main
      File "<Python>", line 18, in getSweeps
      File "<Python>", line 12, in getSweeps
    AttributeError: 'builtin_function_or_method' object has no attribute 'CheckType'

    BTW. I have this Python code in a XPresso Tag on top of the hierarchy I want to parse.

    Thank you,
    maxx



  • THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED

    On 23/05/2011 at 09:45, xxxxxxxx wrote:

    You pass a method in your code: getSweeps(obj.GetDown) -> getSweeps(obj.GetDown () )

    Btw, I recommend you to avoid global variables if possible.

    import c4d
      
    def getSweeps(obj, sweeps) :
        if obj == None: return 
      
        if obj.CheckType(c4d.Osweep) :
            sweeps.append(obj)
      
        print "obj: "+ str(obj)
      
        getSweeps(obj.GetDown(),sweeps)
        getSweeps(obj.GetNext(),sweeps)
      
      
    def main() :
        obj=op
        sweeps=[]
        getSweeps(obj.GetDown(), sweeps)
        print sweeps
    


  • THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED

    On 23/05/2011 at 10:00, xxxxxxxx wrote:

    ... 😠 ...

    I am so used to Java IDEs ... don't see the simple things anymore ... now I also understand the Traceback ...

    Thanx,
    maxx


Log in to reply