كيفية الاستعلام عن أي قائمة المستهدفة قيد القيد دون معرفة نوع القيد؟
-
13-09-2019 - |
سؤال
في مايا، لدي قائمة بالقيود التي تجمعها الشفرة التالية. أريد تكرار القيود والاستعلام عن الأهداف لكل منها:
cons = ls(type='constraint')
for con in cons:
targets = constraint(query=True, targetList=True)
المشكلة، لا يوجد جنرال constraint
أمر التعامل مع جميع القيود. بدلا من ذلك، يحتوي كل قيود على أمر MEL الفريد الخاص به المرتبط به.
هل هناك أي طريقة للاستعلام عن الأهداف على قيد دون الحاجة إلى كتابة التحقق من كل قيد وتشغيل أمر ميل المعني؟
المحلول
listConnections على .TARGET ATM
التنظيف في ميل:
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" );
}
لا تنتمي إلى StackOverflow