characters derive from sets, and sets make use of connections between nodes
to establish membership. So you should be able to use listConnections to
determine if a set has a parent.

Assuming your "main" character means a root level character, and "sub"
characters are simply characters of a character...

    c1 = cmds.character()
    c2 = cmds.character()
    mainChar = cmds.character( c1, c2, n='parentCharacter' )

    cmds.listConnections(c1, s=False, d=True, type='character',
exactType=True)
    # Result: [u'parentCharacter'] #

I used exactType=True since it could also technically match an objectSet
being a parent, since character derives a set type.

So you could simplify a test like this:

    def isSubCharacter(char):
        return bool(cmds.listConnections(char, s=False, d=True,
type='character', exactType=True))

    print isSubCharacter(c1)
    # True

On Tue, Jun 19, 2012 at 3:03 PM, David Alvarez <[email protected]> wrote:

> Hi guys I'm trying to discard subcharacters sets from the a list, I tried
> through listrelatives command but they don't seem to be related to the main
> characters sets, so I don't know if there is an easy way to distinguish
> main characters from the subcharacters.
> I would really appreciate  any help...
>
> Thanks in advance.
>
> --
> view archives: http://groups.google.com/group/python_inside_maya
> change your subscription settings:
> http://groups.google.com/group/python_inside_maya/subscribe
>

-- 
view archives: http://groups.google.com/group/python_inside_maya
change your subscription settings: 
http://groups.google.com/group/python_inside_maya/subscribe

Reply via email to