2009-04-22 10 views
2

In Maya habe ich eine Liste von Einschränkungen durch den folgenden Code gesammelt. Ich mag die Beschränkungen zu durchlaufen und die Ziele für jeden von ihnen abfragen:Wie Abfragezielliste einer Einschränkung, ohne den Einschränkungstyp zu kennen?

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

Das Problem gibt es keinen allgemeinen constraint Befehl für alle Einschränkungen zu manipulieren. Stattdessen ist jeder Einschränkung ein eigener eindeutiger MEL-Befehl zugeordnet.

Gibt es eine Möglichkeit, die Ziele für eine Abhängigkeit abzufragen, ohne dass jede Einschränkung geprüft werden muss, und den zugehörigen MEL-Befehl mühsam auszuführen?

Antwort

1

listConnections auf der .TARGET attr

der Bereinigungs in 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"); 
} 
+0

Cool, umgehen die Constraint insgesamt Befehle. – Soviut