Comment interroger la liste des cibles de toute contrainte sans connaître le type de contrainte?

StackOverflow https://stackoverflow.com/questions/778083

Question

Dans Maya, j'ai une liste de contraintes recueillies par le code suivant. Je veux itérer les contraintes et interroger les cibles pour chacun d'eux:

cons = ls(type='constraint')
for con in cons:
    targets = constraint(query=True, targetList=True)

Le problème, il n'y a pas de commande constraint général pour manipuler toutes les contraintes. Au lieu de cela, chaque contrainte a sa propre commande de MEL unique associé avec.

Est-il possible d'interroger les cibles sur une contrainte sans devoir saisir vérifier chaque contrainte et exécuter fastidieusement sa commande MEL respective?

Était-ce utile?

La solution

ListConnections sur le .target attr

le nettoyage en mel:

string $cons[] = `ls -type "constraint"`;
for ( $con in $cons ){
    string $targetAttrString = ( $con+ ".target" );
    string $connections[] = `listConnections $targetAttrString`;
    string $connectionsFlattened[] = stringArrayRemoveDuplicates($connections);
    for ( $f in $connectionsFlattened )
        if ( $f != $con )
            print ( $f+ " is a target\n" );
}
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top