Comment interroger la liste des cibles de toute contrainte sans connaître le type de contrainte?
-
13-09-2019 - |
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?
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