كيفية الاستعلام عن أي قائمة المستهدفة قيد القيد دون معرفة نوع القيد؟

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

سؤال

في مايا، لدي قائمة بالقيود التي تجمعها الشفرة التالية. أريد تكرار القيود والاستعلام عن الأهداف لكل منها:

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" );
}
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top