موضوع: موضوع تعليمي في الميل mel ميل كامل من صناعتي ((قائمة الاختيارات))

ردود: 10 | زيارات: 1015
  1. #1
    عضو
    تاريخ التسجيل
    Jul 2002
    العمر
    35
    ردود
    52

    موضوع تعليمي في الميل mel ميل كامل من صناعتي ((قائمة الاختيارات))

    بسم الله الرحمن الرحيم
    هذا البرنامج طويل بعض الشيء لكن سيكون مفيد انشاء الله وهو يختار شيئ معين من قائمة الاختيارت لطيف جدا جربه و اعطني رايك ارجوا بعض التفاعل الظاهر بل نسبه لمواضيع الميل ما في تفاعل في هذا المنبر ما ادري ولله اشوف التفاعل في منبر الماكس احسن من منبر المايا بس انشاء الله يصير نشاط اخواني اي سوال عندكم انا في الخدمه سأجيب عليه ان استطعت البرنامج يبدا من هنا انسخه و الصقه في ملف نصي في الوندوز و اقراء الشرح و انسخ نسخه ثانيه من البرنامج في المايا احتمال النص العربي يخرب عندكم في المايا لاكن هذا لا يهم
    انتبه جيدا قبل كل اختيار انقر على سيليكت آل وقم بالأختيار من كليك هير انتبه جيدا قبل استخدام هذا الميل يجب عليك ان تصنع جميع النواع الاشياء الموجوده في المايا مثل كره بوليقون و نيربز و كامرا و انواع الايتات و كاروات حاول انتصنع من كل نوع اشياء متعدده مثلا من النيرب اصنع كره و اصطوانه و مربع و كل الاشياء المتوفره
    انسخ من هنا
    /*
    هذا البرنامج هو برنامج لأختيار شيئ معين من مجموعه الأختيارات حسب قائمة الاختيارات فمثلا اذا تضغط على زر
    Select All
    سيتم اختيار جميع الشياء الموجوده في مشهدك
    اذا تنوي مثلا اختيار الاضائات فقط
    فيجب عليك ان تنقر على
    Clich here
    و تختار
    light->allLight
    ثم تنقر على
    Select
    سترى سيتم اختيار الاضاءه فقط

    تقدر ان تعمل نفس الشيئ مع النيربز و البوليقون و الكامرا و الكارفات و البارتيكال

    هذا البرنامج من صناعة مستر مايا

    MR_MAYA
    و خاص به و يهدف الى التعليم و يسمح لأي احد ان يستخدمه و يغير فيه ويعطيني النتيجه الذي توصل اليها وشكرا لكم جميعا
    */
    string $win; //هذا الامر يعين متغير سلسله
    if(`window -ex $win` ) // هذا الامر يفحص وجود نافذة البرنامج اذا كانت موجود نفس اسمها فيحذف النافذه
    deleteUI -window $win; // المجوده ويستبدلها بل جديده

    $win=`window -t "Selection Box" -h 20 -w 100 -s 0`; //يصنع نافذه جديده ويعين العنوان الكامل للنافذه في متغير سلسلي
    string $form=`formLayout -numberOfDivisions 100`; //يصنع نظام فورم لاي آوت لتسطير المواد ويقسم النافذه الى 100 قسم لمحاسبة مكان كل
    // ماده توضع في النافذه ويعين العنوان الكامل لاللاي آوت لمتغير سلسلي


    string $row1=`rowLayout -nc 2 //يصنع لاي آوت صفي ويعين عنوانه في متغير سلسلي ويعطيه ولدان
    -columnAttach 1 "both" 0
    -columnAttach 2 "both" 0`;
    button -l "Select All" -c "select -all"; //صناعة زر امر
    button -l "DeSelect All" -c "select -d";
    setParent..; //الرجوع للاي آوت الاب وهو الفورم لايآوت نحن كنا في الراولايآوت


    string $txt;

    string $col=`columnLayout`; //تعيين عنوان لايآوت عمودي في متغير سلسلي وصناعته
    text -l "Click here" -bgc 1 0 0; //صناعة كنترولر نص و اعطائه خاصيه دعم القائمه المنبثقه ست قوائم واحده من القوائم متشعبه وهي قائمة اللايت سيتم تلوين هذا النص باللون الاحمر
    popupMenu -button 1 asd;
    menuItem -l mesh -command "texCheng($txt,$ma1)" mesh;
    menuItem -l nurbsSurface -command "texCheng($txt,$ma2)" nurbsSurface;
    menuItem -l particle -command "texCheng($txt,$ma3)" particle;
    menuItem -l light -subMenu 1 light;
    menuItem -l allLight -command "texCheng($txt,$ma4)" allLight;
    menuItem -l volumeLight -command "texCheng($txt,$ma41)" volumeLight;
    menuItem -l areaLight -command "texCheng($txt,$ma42)" areaLight;
    menuItem -l spotLight -command "texCheng($txt,$ma43)" spotLight;
    menuItem -l pointLight -command "texCheng($txt,$ma44)" pointLight;
    menuItem -l directionalLight -command "texCheng($txt,$ma45)" directionalLight;
    menuItem -l ambientLight -command "texCheng($txt,$ma46)" ambientLight;

    menuItem -l camera -command "texCheng($txt,$ma5)" -p asd camera;
    menuItem -l nurbsCurve -command "texCheng($txt,$ma6)" -p asd nurbsCurve;

    $txt=`textField -en 0 `; //صناعة كنترولر نص و تعيين عنوانه الى متغير سلسلي
    button -l Select -c "sele($txt)" ; //صناعة زر امر و الامر هو استدعاء جاله تعدى سيل وتأخذ وسيطه واحده الوسيطه هي متغير نصي
    setParent..; //الرجوع من اللايآوت العمودي الى الفورم لايآوت





    string $row2=`rowLayout -nc 3 //صناعة لايآوت صفي آخر في الفورم لايآوت و اعطائه ثلاث اولاد


    -columnAttach 1 "both" 0
    -columnAttach 2 "both" 0
    -columnAttach 3 "both" 0
    `;
    button -l Delete -c delete; //زر امر الامر هو مسح
    button -l Hide -c HideSelectedObjects; //زر امر الامر هو اخفاء
    button -l Show -c "showHidden -a" ; //زر امر الامر هو اظهار
    setParent..; //الرجوع من الآيآوت الصفي الى الفورم لايآوت





    formLayout -e //تعديل الفورم لاياوت هنا نعدل الفورم لايآوت بأختيار الكنترولرات التي صنعناها و اعطاء مكان لها
    //نستعمل اسلوب المحاذات في الفورم لايآوت و المحاذات هي على اقسام متعدده مثلا المحاذات من النافذه ككل المحاذات من لاشيئ و المحاذات من الكنترولر و المحاذات من موقع معين
    -attachForm $row1 "top" 5
    -attachForm $row1 "left" 5
    -attachNone $row1 "bottom"
    -attachNone $row1 "right"



    -attachControl $col "top" 5 $row1
    -attachForm $col "left" 5
    -attachControl $col "bottom" 5 $row2
    -attachForm $col "right" 5



    -attachNone $row2 "top"
    -attachForm $row2 "left" 5
    -attachForm $row2 "bottom" 20
    -attachForm $row2 "right" 5


    $form;



    string $ma1=`menuItem -q -l mesh`; //هذه الاوامر تعطي اسم القائمه المصنوعه فوق الى متغير نصي
    string $ma2=`menuItem -q -l nurbsSurface`;
    string $ma3=`menuItem -q -l particle`;

    string $ma4=`menuItem -q -l allLight`;
    string $ma41=`menuItem -q -l volumeLight`;
    string $ma42=`menuItem -q -l areaLight`;
    string $ma43=`menuItem -q -l spotLight`;
    string $ma44=`menuItem -q -l pointLight`;
    string $ma45=`menuItem -q -l directionalLight`;
    string $ma46=`menuItem -q -l ambientLight`;

    string $ma5=`menuItem -q -l camera`;
    string $ma6=`menuItem -q -l nurbsCurve`;



    showWindow $win; //هذا الامر يظهر النافذه المصنوعه



    proc texCheng(string $texr,string $gh)// هذه الداله تغير النص المكتوب في الكنترولر النصي حسب الاختيار الذي يختاره المستخدم من القائمه المنبثقه
    {

    textField -e -tx $gh $texr;

    }

    proc sele(string $adrs) //هذه الداله الرئيسيه للبرنامج وهي التي تعمل عمل الفحص لكل الأشياء المنتخبه و تختبر نوعية الشيء حسب الختيار الذي يختاره المستخدم من القائمه
    { //ثم تختار كل الاشياء الذي يعينها المستخدم بل مناسبه فيهذه الداله فحص لأختيار جميع انواع الاضاءه اذ اخترت جميع الضائات ف سيتم عمل وهو اختيار جميع الاضاءات المجوده


    string $TYPE=`textField -q -tx $adrs`; //هذا الامر يعين نص الكنترولر النصي في متغير سلسلي
    string $r[]=`ls -sl -dag -lf`; //هذا الامر يعمل عمليتان العمليه الولى اختيار الشيب نود لكل الجسام لئن في الحاله الافتراضيه الشيء المختار هو الترانسفورم نود

    //العمل الثاني هو صناعة قائمه لجميع الاشياء المنتخبه من قبل المستخدم ووضعها في صفيفه سلسليه
    print($r); //هذا المر يطبع جميع العناصر المنتخبه و الموضوعه في هذا المتغير
    string $f;//تعريف متغير سلسلي سيستخدم في حلقه
    string $e;//تعريف متغير سلسلي سيستخدم في حلقه اخرى

    string $jj[];// هذا المتغير سيستخدم لخزن الاسماء التي هي الناتج عن عملية التدقيق التي ستحدث على جميع الأشياء الموجوده في قائمة الاختيار حسب الاختيار الذي اختاره المستخدم من القائمه

    if($TYPE=="allLight")//هذا الامر يجري عملية تدقيق اذا كان الامر هو اختيار جميع الاناراة المجوده في قائمة الاختيار فقط فالبرنامج سيسلك هذا المسلك و اذا كان غير ذالك فسيسلك باقي البرنامج الذي بعد عملية الشرط هذه

    {



    string $lighrs[5]={"ambientLight","directionalLight","pointLight","spotLight","areaLight","volumeLight"};
    //هذا الامر صفيفه سلسليه من اسماء جميع الاناراة ستستخدم في حلقه لتدقيق الاشياء المنتخبه من المشهد مع هذه الصفيفه وهذه الاسماء

    int $con=0;
    for($e in $lighrs)//هذه الحلقه ستستخدم لتدقيق الاسامي مع القائمه المنتخبه المتغير الاول في كل دوره سيكون واحد من الاسماء السته المجود في المتغير الثاني
    {


    for($f in $r)//هنا تتم عملية التدقيق بين كل عناصر المنتخبه من المشهد و المخزنه في المتغير الثاني مع عنصر جميع الاناراة الذي يشمل ستة انواع اناره يتعين كل واحد من هذا النور من الحلقه السابقه

    {



    int $a=`objectType -isType $e $f`;

    if($a == 1)
    {$jj[$con]=$f; $con++;}




    }




    }

    select -r $jj;
    }

    else //هذا الامر هو المسلك الثاني للبرنامج اذا كان الشرط الاول غير متوفر فسيتم سلك هذا الطريق
    {
    int $con=0; //هذا متغير عددي صحيح سيستخدم لجرد النصوص المتطابقه مع الشيء المختار من القائمه

    for($f in $r) //هذه الحلقه هي حلقه خاصه بلسلاسل المتغير الاول متغير سلسلي المتغير الثاني هو صفيفة سلاسل ياخذ المتغير الاول النص المخزون في اول بند في الصفيف السلسليه

    {



    int $a=`objectType -isType $TYPE $f`; //هذا متغير عددي صحيح سيستخدم لفحص تطابق الشيئ المختار من القائمه مع النص الخزون في المتغير اذا كان متطابقا فسيعيد هذا الامر رقم 1

    if($a==1) //هذا الشرط اذا كان 1 فألتطابق بين المتغير الاول و شيء المختار من القائمه صحيح فالبرنامج سيخزن هذا السم في المتغير جي جي في بند كونت ويضيف واحد الى كونت
    {$jj[$con]=$f; $con++;}

    print("\n"+$a); //هذا المر يعرض عدد التطابق

    print($f);
    }

    select -r $jj; //هذا الامر يختار الاجسام التي تم تحديدها ووضع اسمائها في الصفيفه السلسليه جي جي
    }
    };


  2. #2
    طالب علم
    صور رمزية mohheader
    تاريخ التسجيل
    Jan 2003
    المنطقة
    Egypt,Alex
    ردود
    3,117
    السلام عليكم
    اخي بصراحه لم اقراء الميل بعد لكن سأحاول ذلك
    عموما عند تشغيله تظهر نافذه باسم selection وهي فارغه بالكامل يعني يدوب كلمه selection وعلامه ال X
    الله اكبر
    الله المستعان

  3. #3
    عضو
    تاريخ التسجيل
    Jul 2002
    العمر
    35
    ردود
    52
    ولله الصراحه انا جربت البرنامج في جميع اصدارات المايا وكان يعمل دون اي مشكله بس مع هذا جرب هذا الكود انا عدلت امر صناعة النافذه كان مكتوب بل خطأ بس عندي ما كانت تظهر المشكله بس الظاهر عندك صار خلل آنا غيرت امر صناعة النافذه خليته متغير حسب ارادة المستخدم شوف هذا الكود

    /*
    هذا البرنامج هو برنامج لأختيار شيئ معين من مجموعه الأختيارات حسب قائمة الاختيارات فمثلا اذا تضغط على زر
    Select All
    سيتم اختيار جميع الشياء الموجوده في مشهدك

    اذا تنوي مثلا اختيار الاضائات فقط
    فيجب عليك ان تنقر على
    Clich here
    و تختار
    light->allLight
    ثم تنقر على
    Select
    سترى سيتم اختيار الاضاءه فقط

    تقدر ان تعمل نفس الشيئ مع النيربز و البوليقون و الكامرا و الكارفات و البارتيكال

    هذا البرنامج من صناعة مستر مايا

    MR_MAYA
    و خاص به و يهدف الى التعليم و يسمح لأي احد ان يستخدمه و يغير فيه ويعطيني النتيجه الذي توصل اليها وشكرا لكم جميعا
    */
    string $win; //هذا الامر يعين متغير سلسله
    if(`window -ex $win` ) // هذا الامر يفحص وجود نافذة البرنامج اذا كانت موجود نفس اسمها فيحذف النافذه
    deleteUI -window $win; // المجوده ويستبدلها بل جديده

    $win=`window -t "Selection Box" -s 1`; //يصنع نافذه جديده ويعين العنوان الكامل للنافذه في متغير سلسلي
    string $form=`formLayout -numberOfDivisions 100`; //يصنع نظام فورم لاي آوت لتسطير المواد ويقسم النافذه الى 100 قسم لمحاسبة مكان كل
    // ماده توضع في النافذه ويعين العنوان الكامل لاللاي آوت لمتغير سلسلي


    string $row1=`rowLayout -nc 2 //يصنع لاي آوت صفي ويعين عنوانه في متغير سلسلي ويعطيه ولدان
    -columnAttach 1 "both" 0
    -columnAttach 2 "both" 0`;
    button -l "Select All" -c "select -all"; //صناعة زر امر
    button -l "DeSelect All" -c "select -d";
    setParent..; //الرجوع للاي آوت الاب وهو الفورم لايآوت نحن كنا في الراولايآوت


    string $txt;

    string $col=`columnLayout`; //تعيين عنوان لايآوت عمودي في متغير سلسلي وصناعته
    text -l "Click here" -bgc 1 0 0; //صناعة كنترولر نص و اعطائه خاصيه دعم القائمه المنبثقه ست قوائم واحده من القوائم متشعبه وهي قائمة اللايت سيتم تلوين هذا النص باللون الاحمر
    popupMenu -button 1 asd;
    menuItem -l mesh -command "texCheng($txt,$ma1)" mesh;
    menuItem -l nurbsSurface -command "texCheng($txt,$ma2)" nurbsSurface;
    menuItem -l particle -command "texCheng($txt,$ma3)" particle;
    menuItem -l light -subMenu 1 light;
    menuItem -l allLight -command "texCheng($txt,$ma4)" allLight;
    menuItem -l volumeLight -command "texCheng($txt,$ma41)" volumeLight;
    menuItem -l areaLight -command "texCheng($txt,$ma42)" areaLight;
    menuItem -l spotLight -command "texCheng($txt,$ma43)" spotLight;
    menuItem -l pointLight -command "texCheng($txt,$ma44)" pointLight;
    menuItem -l directionalLight -command "texCheng($txt,$ma45)" directionalLight;
    menuItem -l ambientLight -command "texCheng($txt,$ma46)" ambientLight;

    menuItem -l camera -command "texCheng($txt,$ma5)" -p asd camera;
    menuItem -l nurbsCurve -command "texCheng($txt,$ma6)" -p asd nurbsCurve;

    $txt=`textField -en 0 `; //صناعة كنترولر نص و تعيين عنوانه الى متغير سلسلي
    button -l Select -c "sele($txt)" ; //صناعة زر امر و الامر هو استدعاء جاله تعدى سيل وتأخذ وسيطه واحده الوسيطه هي متغير نصي
    setParent..; //الرجوع من اللايآوت العمودي الى الفورم لايآوت





    string $row2=`rowLayout -nc 3 //صناعة لايآوت صفي آخر في الفورم لايآوت و اعطائه ثلاث اولاد


    -columnAttach 1 "both" 0
    -columnAttach 2 "both" 0
    -columnAttach 3 "both" 0
    `;
    button -l Delete -c delete; //زر امر الامر هو مسح
    button -l Hide -c HideSelectedObjects; //زر امر الامر هو اخفاء
    button -l Show -c "showHidden -a" ; //زر امر الامر هو اظهار
    setParent..; //الرجوع من الآيآوت الصفي الى الفورم لايآوت





    formLayout -e //تعديل الفورم لاياوت هنا نعدل الفورم لايآوت بأختيار الكنترولرات التي صنعناها و اعطاء مكان لها
    //نستعمل اسلوب المحاذات في الفورم لايآوت و المحاذات هي على اقسام متعدده مثلا المحاذات من النافذه ككل المحاذات من لاشيئ و المحاذات من الكنترولر و المحاذات من موقع معين
    -attachForm $row1 "top" 5
    -attachForm $row1 "left" 5
    -attachNone $row1 "bottom"
    -attachNone $row1 "right"



    -attachControl $col "top" 5 $row1
    -attachForm $col "left" 5
    -attachControl $col "bottom" 5 $row2
    -attachForm $col "right" 5



    -attachNone $row2 "top"
    -attachForm $row2 "left" 5
    -attachForm $row2 "bottom" 20
    -attachForm $row2 "right" 5


    $form;



    string $ma1=`menuItem -q -l mesh`; //هذه الاوامر تعطي اسم القائمه المصنوعه فوق الى متغير نصي
    string $ma2=`menuItem -q -l nurbsSurface`;
    string $ma3=`menuItem -q -l particle`;

    string $ma4=`menuItem -q -l allLight`;
    string $ma41=`menuItem -q -l volumeLight`;
    string $ma42=`menuItem -q -l areaLight`;
    string $ma43=`menuItem -q -l spotLight`;
    string $ma44=`menuItem -q -l pointLight`;
    string $ma45=`menuItem -q -l directionalLight`;
    string $ma46=`menuItem -q -l ambientLight`;

    string $ma5=`menuItem -q -l camera`;
    string $ma6=`menuItem -q -l nurbsCurve`;



    showWindow $win; //هذا الامر يظهر النافذه المصنوعه



    proc texCheng(string $texr,string $gh)// هذه الداله تغير النص المكتوب في الكنترولر النصي حسب الاختيار الذي يختاره المستخدم من القائمه المنبثقه
    {

    textField -e -tx $gh $texr;

    }

    proc sele(string $adrs) //هذه الداله الرئيسيه للبرنامج وهي التي تعمل عمل الفحص لكل الأشياء المنتخبه و تختبر نوعية الشيء حسب الختيار الذي يختاره المستخدم من القائمه
    { //ثم تختار كل الاشياء الذي يعينها المستخدم بل مناسبه فيهذه الداله فحص لأختيار جميع انواع الاضاءه اذ اخترت جميع الضائات ف سيتم عمل وهو اختيار جميع الاضاءات المجوده


    string $TYPE=`textField -q -tx $adrs`; //هذا الامر يعين نص الكنترولر النصي في متغير سلسلي
    string $r[]=`ls -sl -dag -lf`; //هذا الامر يعمل عمليتان العمليه الولى اختيار الشيب نود لكل الجسام لئن في الحاله الافتراضيه الشيء المختار هو الترانسفورم نود

    //العمل الثاني هو صناعة قائمه لجميع الاشياء المنتخبه من قبل المستخدم ووضعها في صفيفه سلسليه
    print($r); //هذا المر يطبع جميع العناصر المنتخبه و الموضوعه في هذا المتغير
    string $f;//تعريف متغير سلسلي سيستخدم في حلقه
    string $e;//تعريف متغير سلسلي سيستخدم في حلقه اخرى

    string $jj[];// هذا المتغير سيستخدم لخزن الاسماء التي هي الناتج عن عملية التدقيق التي ستحدث على جميع الأشياء الموجوده في قائمة الاختيار حسب الاختيار الذي اختاره المستخدم من القائمه

    if($TYPE=="allLight")//هذا الامر يجري عملية تدقيق اذا كان الامر هو اختيار جميع الاناراة المجوده في قائمة الاختيار فقط فالبرنامج سيسلك هذا المسلك و اذا كان غير ذالك فسيسلك باقي البرنامج الذي بعد عملية الشرط هذه

    {



    string $lighrs[5]={"ambientLight","directionalLight","pointLight","spotLight","areaLight","volumeLight"};
    //هذا الامر صفيفه سلسليه من اسماء جميع الاناراة ستستخدم في حلقه لتدقيق الاشياء المنتخبه من المشهد مع هذه الصفيفه وهذه الاسماء

    int $con=0;
    for($e in $lighrs)//هذه الحلقه ستستخدم لتدقيق الاسامي مع القائمه المنتخبه المتغير الاول في كل دوره سيكون واحد من الاسماء السته المجود في المتغير الثاني
    {


    for($f in $r)//هنا تتم عملية التدقيق بين كل عناصر المنتخبه من المشهد و المخزنه في المتغير الثاني مع عنصر جميع الاناراة الذي يشمل ستة انواع اناره يتعين كل واحد من هذا النور من الحلقه السابقه

    {



    int $a=`objectType -isType $e $f`;

    if($a == 1)
    {$jj[$con]=$f; $con++;}




    }




    }

    select -r $jj;
    }

    else //هذا الامر هو المسلك الثاني للبرنامج اذا كان الشرط الاول غير متوفر فسيتم سلك هذا الطريق
    {
    int $con=0; //هذا متغير عددي صحيح سيستخدم لجرد النصوص المتطابقه مع الشيء المختار من القائمه

    for($f in $r) //هذه الحلقه هي حلقه خاصه بلسلاسل المتغير الاول متغير سلسلي المتغير الثاني هو صفيفة سلاسل ياخذ المتغير الاول النص المخزون في اول بند في الصفيف السلسليه

    {



    int $a=`objectType -isType $TYPE $f`; //هذا متغير عددي صحيح سيستخدم لفحص تطابق الشيئ المختار من القائمه مع النص الخزون في المتغير اذا كان متطابقا فسيعيد هذا الامر رقم 1

    if($a==1) //هذا الشرط اذا كان 1 فألتطابق بين المتغير الاول و شيء المختار من القائمه صحيح فالبرنامج سيخزن هذا السم في المتغير جي جي في بند كونت ويضيف واحد الى كونت
    {$jj[$con]=$f; $con++;}

    print("\n"+$a); //هذا المر يعرض عدد التطابق

    print($f);
    }

    select -r $jj; //هذا الامر يختار الاجسام التي تم تحديدها ووضع اسمائها في الصفيفه السلسليه جي جي
    }
    };

  4. #4
    طالب علم
    صور رمزية mohheader
    تاريخ التسجيل
    Jan 2003
    المنطقة
    Egypt,Alex
    ردود
    3,117
    السلام عليكم
    نعم اخي البرنامج يعمل الان
    الله اكبر
    الله المستعان

  5. #5
    عضو
    تاريخ التسجيل
    Jul 2002
    العمر
    35
    ردود
    52
    الحمد لله
    كما قلت الخلل كان من قياس النافذه الي كنت امعرفه فرفعت الخلل

  6. #6
    طالب علم
    صور رمزية mohheader
    تاريخ التسجيل
    Jan 2003
    المنطقة
    Egypt,Alex
    ردود
    3,117
    السلام عليكم
    اخي لماذا لا تضيف امر يكون بالشكل التالي
    في حاله عدم وجود شيء مختار يتم تنفيذ الامر
    select -all;
    اما في حاله اختيار شيء او مجموعه من الاشياء فلا يتم تنفيذ ذلك الامر

    الغرض من ذلك السهوله ليس اكتر
    الله اكبر
    الله المستعان

  7. #7
    طالب علم
    صور رمزية mohheader
    تاريخ التسجيل
    Jan 2003
    المنطقة
    Egypt,Alex
    ردود
    3,117
    معلش شيء اخر
    يمكن اضافه بجانب delete show hide
    group
    الله اكبر
    الله المستعان

  8. #8
    عضو
    تاريخ التسجيل
    Jul 2002
    العمر
    35
    ردود
    52
    اي صحيح ممكن اضافة اوامر اخرى مثلا اوامر تنفذ على البوليقون فقط واوامر تنفذ على النيربز فقط مثلا او اي شيء اخر انا اشياء كثيره لم اضيفها على البرنامج امور مهمه كثيره

    تدري شنو الهدف من هذا البرنامج هو هدف تعليمي ياتي كل واحد من عندنا يعطي اقتراح من عنده و الاشخاص الي يعملون على الميل في هذا المنتدى يضيفون الى البرنامج انا مستعد اشرح البرنامج بشكل تفصيلي

    بس المهم مشاركة الآخرين شوف هدف هذا البرنامج هو صناعة نظام ذكي يفهم نوعية الشيئ المنتخب بدون ان نقول له ما هوه الشيئ مثلا هذا البرنامج سيكون في المستقبل تنقر على زر معين هذا الزر وحده يجب ان يفهم هل هذا الامر صحيح ان ينفذ على هذا الشيئ المختار لو لا

    انا فقط وضعت حجرة اساس بس انا راح اضيف هذا الذي قلته لي حتما و ارجوا من الاخوه الاعزاء اضافة الكودات الخاصه بهم و سيتم النظر و التعديل فيها هذه احسن طريقه لتعلم الميل ارجوا من الجميع التفاعل مع الموضوع لتطور الميل عندنا و اشكر الاخ الكريم mohheader على التفاعل و اشكره على الكتاب الرائع الذي قدمه لنا بلنسبه الى الرسوم المتحركه و التايمينق و النيميشن

  9. #9
    عضو
    تاريخ التسجيل
    Jul 2002
    العمر
    35
    ردود
    52
    اخي العزيز تم اضافة كل ما طلبت في هذا الميل الاشياء المطلوبه هي اضافة امر
    select -all
    في زر سيليكت لتسهيل الامر و لتسريع العمليه

    و اضفت امر اخر و هو امر
    Group
    ايضا و شارح مكان هذه الاوامر في البرنامج التالي فقط الاشياء الي ضايفهه شرحتهه

    البرنامج يبدأ من هنا

    /*التغيرات مكتوبه بل اسفل فقط التغيرات مكتوبه

    هذا البرنامج من صناعة مستر مايا
    MR_MAYA
    خاص به و يسمح لئي احد بستخدامه و تغييره و اطلاعنا عن النتيجه التي توصل اليها مع جزيل الشكر
    هذا البرنامج مصنوع لغايه تعليميه
    */
    string $win;
    if(`window -ex $win` )
    deleteUI -window $win;

    $win=`window -t "Selection Box" -s 1`;
    string $form=`formLayout -numberOfDivisions 100`;



    string $row1=`rowLayout -nc 2
    -columnAttach 1 "both" 0
    -columnAttach 2 "both" 0`;
    button -l "Select All" -c "select -all";
    button -l "DeSelect All" -c "select -d";
    setParent..;


    string $txt;

    string $col=`columnLayout`;
    text -l "Click here" -bgc 1 0 0;
    popupMenu -button 1 asd;
    menuItem -l mesh -command "texCheng($txt,$ma1)" mesh;
    menuItem -l nurbsSurface -command "texCheng($txt,$ma2)" nurbsSurface;
    menuItem -l particle -command "texCheng($txt,$ma3)" particle;
    menuItem -l light -subMenu 1 light;
    menuItem -l allLight -command "texCheng($txt,$ma4)" allLight;
    menuItem -l volumeLight -command "texCheng($txt,$ma41)" volumeLight;
    menuItem -l areaLight -command "texCheng($txt,$ma42)" areaLight;
    menuItem -l spotLight -command "texCheng($txt,$ma43)" spotLight;
    menuItem -l pointLight -command "texCheng($txt,$ma44)" pointLight;
    menuItem -l directionalLight -command "texCheng($txt,$ma45)" directionalLight;
    menuItem -l ambientLight -command "texCheng($txt,$ma46)" ambientLight;

    menuItem -l camera -command "texCheng($txt,$ma5)" -p asd camera;
    menuItem -l nurbsCurve -command "texCheng($txt,$ma6)" -p asd nurbsCurve;

    $txt=`textField -en 0 `;
    button -l "Select(click twice)" -c "sele($txt)" ;
    setParent..;





    string $row2=`rowLayout -nc 4 //قد حولت هذا العدد من 3 الى 4 لئن ضفت زر آخر وهو زر كروب


    -columnAttach 1 "both" 0
    -columnAttach 2 "both" 0
    -columnAttach 3 "both" 0
    -columnAttach 4 "both" 0//هذا الامر ضفته و هو يعطي طريقة تسطير الزر الرابع في الراو لايآوت
    `;
    button -l Delete -c delete;
    button -l Hide -c HideSelectedObjects;
    button -l Show -c "showHidden -a" ;
    button -l Group -c "group; xform -os -piv 0 0 0" ; //هذا الامر ضفته وهو امر كروب وزر كروب
    setParent..;





    formLayout -e

    -attachForm $row1 "top" 5
    -attachForm $row1 "left" 5
    -attachNone $row1 "bottom"
    -attachNone $row1 "right"



    -attachControl $col "top" 5 $row1
    -attachForm $col "left" 5
    -attachControl $col "bottom" 5 $row2
    -attachForm $col "right" 5



    -attachNone $row2 "top"
    -attachForm $row2 "left" 5
    -attachForm $row2 "bottom" 20
    -attachForm $row2 "right" 5


    $form;



    string $ma1=`menuItem -q -l mesh`;
    string $ma2=`menuItem -q -l nurbsSurface`;
    string $ma3=`menuItem -q -l particle`;

    string $ma4=`menuItem -q -l allLight`;
    string $ma41=`menuItem -q -l volumeLight`;
    string $ma42=`menuItem -q -l areaLight`;
    string $ma43=`menuItem -q -l spotLight`;
    string $ma44=`menuItem -q -l pointLight`;
    string $ma45=`menuItem -q -l directionalLight`;
    string $ma46=`menuItem -q -l ambientLight`;

    string $ma5=`menuItem -q -l camera`;
    string $ma6=`menuItem -q -l nurbsCurve`;



    showWindow $win;



    proc texCheng(string $texr,string $gh)
    {

    textField -e -tx $gh $texr;

    }

    proc sele(string $adrs)
    {



    string $TYPE=`textField -q -tx $adrs`;
    string $r[]=`ls -sl -dag -lf`;
    if(size($r)==0) // الاضافه تمت هنا في هذا القسم ضفت امر شرطي بانه اذا كان شيئ منتخب فلا ينتختار اي شيئ و اذا لا فسيتم اختيار كل شيئ وهذا عن طريق فحص المتغير هذا اذا كان فارغا ام لا اذا كان فارغا يعني لم يتم اختيار اي شيئ في المشهد

    {select -all;
    }
    string $r[]=`ls -sl -dag -lf`;

    print($r);
    string $f;
    string $e;

    string $jj[];

    if($TYPE=="allLight")

    {



    string $lighrs[5]={"ambientLight","directionalLight","pointLight","spotLight","areaLight","volumeLight"};



    int $con=0;
    for($e in $lighrs)
    {


    for($f in $r)

    {



    int $a=`objectType -isType $e $f`;

    if($a == 1)
    {$jj[$con]=$f; $con++;}




    }




    }

    select -r $jj;
    }

    else
    {
    int $con=0;

    for($f in $r)

    {



    int $a=`objectType -isType $TYPE $f`;

    if($a==1)
    {$jj[$con]=$f; $con++;}

    print("\n"+$a);

    print($f);
    }

    select -r $jj;
    }
    };

  10. #10
    عضو
    تاريخ التسجيل
    Jul 2002
    العمر
    35
    ردود
    52

    برنامج قائمة الاختيارات اصدار 0,2 جربه

    بسم الله الرحمن الرحيم

    اخواني الاعزاء انظروا هذا التطوير الجديد لهذا البرنامج عملت قائمه كامله تعمل نفس عمل قائمة الاخفاء في الماكس راح اطورها بل مستقبل العاجل انشاء الله اكثر فآكثر ارجوا ان تشاركوني في التطوير

    جربوا هذه النسخه فانها قد تبدو عمليه اكثر من النسخه السابقه

    انتبهوا الهدف الاساسي نريد ان نصل الى نظام ذكي يفهم نوعية الجسم الي مختارينه و يطبق عليه الامر الملائم

    و انتبهوا ايضا بعد تعيين عمل هذه النافذه بشكل كامل و اضافة اراء الاخوه العزاء الى هذه النافذه سيتم بعد ذالك تطوير البرنامج ليكون اكثر فعاليه و تسريع البرنامج لحد كبير و تقليل عدد الدالات و المتغيرات المستخدمه فيه لتوفير المساحه و تقليل عدد السطور المستخدمه بل برمجه الى حد كبير انتبهوا ان هذا البرنامج تعليمي
    انا كنت اقدر استخدم بدال الفورم لايوت , لاياوت آخر يوفر على كثير من الاسطر لاكن استعمل بعض الامور لهدف تعليمي و سيتم حذف جميع الاضافات بل اصدار الاول للبرنامج

    اليكم البرنامج


    /*
    هذا البرنامج من صناعة مستر مايا
    MR_MAYA
    خاص به و يسمح لئي احد بستخدامه و تغييره و اطلاعنا عن النتيجه التي توصل اليها مع جزيل الشكر
    هذا البرنامج مصنوع لغايه تعليميه
    */
    string $win;
    if(`window -ex $win` )
    deleteUI -window $win;
    $win=`window -t "Selection Box" -s 1`;
    string $form=`formLayout -numberOfDivisions 100`;


    string $row1=`rowLayout -nc 2
    -columnAttach 1 "both" 0
    -columnAttach 2 "both" 0`;
    button -l "Select All" -c "select -all";
    button -l "DeSelect All" -c "select -d";
    setParent..;

    string $txt;
    string $col=`columnLayout`;
    text -l "Click here" -bgc 1 0 0;
    popupMenu -button 1 asd;
    menuItem -l mesh -command "texCheng($txt,$ma1)" mesh;
    menuItem -l nurbsSurface -command "texCheng($txt,$ma2)" nurbsSurface;
    menuItem -l particle -command "texCheng($txt,$ma3)" particle;
    menuItem -l light -subMenu 1 light;
    menuItem -l allLight -command "texCheng($txt,$ma4)" allLight;
    menuItem -l volumeLight -command "texCheng($txt,$ma41)" volumeLight;
    menuItem -l areaLight -command "texCheng($txt,$ma42)" areaLight;
    menuItem -l spotLight -command "texCheng($txt,$ma43)" spotLight;
    menuItem -l pointLight -command "texCheng($txt,$ma44)" pointLight;
    menuItem -l directionalLight -command "texCheng($txt,$ma45)" directionalLight;
    menuItem -l ambientLight -command "texCheng($txt,$ma46)" ambientLight;
    menuItem -l camera -command "texCheng($txt,$ma5)" -p asd camera;
    menuItem -l nurbsCurve -command "texCheng($txt,$ma6)" -p asd nurbsCurve;
    $txt=`textField -en 0 `;
    button -l "Select(click twice)" -c "sele($txt)" ;
    setParent..;
    string $frame= `frameLayout -l Hide -collapsable 1 `;
    columnLayout;
    checkBox -l mesh -onCommand "cekhB1($ma1,$txt)" -offCommand "cekhB2($ma1,$txt)";
    checkBox -l nurbsSurface -onCommand "cekhB1($ma2,$txt)" -offCommand "cekhB2($ma2,$txt)";
    checkBox -l particle -onCommand "cekhB1($ma3,$txt)" -offCommand "cekhB2($ma3,$txt)";
    checkBox -l light -onCommand "cekhB1($ma4,$txt)" -offCommand "cekhB2($ma4,$txt)";
    checkBox -l camera -onCommand "cekhB1($ma5,$txt)" -offCommand "cekhB2($ma5,$txt)";
    checkBox -l nurbsCurve -onCommand "cekhB1($ma6,$txt)" -offCommand "cekhB2($ma6,$txt)";
    setParent..;


    setParent..;


    string $row2=`rowLayout -nc 4

    -columnAttach 1 "both" 0
    -columnAttach 2 "both" 0
    -columnAttach 3 "both" 0
    -columnAttach 4 "both" 0
    `;
    button -l Delete -c delete;
    button -l Hide -c HideSelectedObjects;
    button -l Show -c "showHidden -a" ;
    button -l Group -c "group; xform -os -piv 0 0 0" ;
    setParent..;


    formLayout -e

    -attachForm $row1 "top" 5
    -attachForm $row1 "left" 5
    -attachNone $row1 "bottom"
    -attachNone $row1 "right"

    -attachControl $col "top" 5 $row1
    -attachForm $col "left" 5
    -attachNone $col "bottom"
    -attachForm $col "right" 5
    -attachControl $frame "top" 5 $col
    -attachForm $frame "left" 5
    -attachControl $frame "bottom" 5 $row2
    -attachForm $frame "right" 5

    -attachNone $row2 "top"
    -attachForm $row2 "left" 5
    -attachForm $row2 "bottom" 20
    -attachForm $row2 "right" 5

    $form;

    string $ma1=`menuItem -q -l mesh`;
    string $ma2=`menuItem -q -l nurbsSurface`;
    string $ma3=`menuItem -q -l particle`;
    string $ma4=`menuItem -q -l allLight`;
    string $ma41=`menuItem -q -l volumeLight`;
    string $ma42=`menuItem -q -l areaLight`;
    string $ma43=`menuItem -q -l spotLight`;
    string $ma44=`menuItem -q -l pointLight`;
    string $ma45=`menuItem -q -l directionalLight`;
    string $ma46=`menuItem -q -l ambientLight`;
    string $ma5=`menuItem -q -l camera`;
    string $ma6=`menuItem -q -l nurbsCurve`;

    showWindow $win;

    proc texCheng(string $texr,string $gh)
    {
    textField -e -tx $gh $texr;
    }
    proc sele(string $adrs)
    {

    string $TYPE=`textField -q -tx $adrs`;
    string $r[]=`ls -sl -dag -lf`;
    if(size($r)==0)
    {select -all;
    }
    string $r[]=`ls -sl -dag -lf`;

    print($r);
    string $f;
    string $e;
    string $jj[];
    if($TYPE=="allLight")
    {


    string $lighrs[5]={"ambientLight","directionalLight","pointLight","spotLight","areaLight","volumeLight"};


    int $con=0;
    for($e in $lighrs)
    {

    for($f in $r)
    {


    int $a=`objectType -isType $e $f`;
    if($a == 1)
    {$jj[$con]=$f; $con++;}



    }


    }
    select -r $jj;
    }
    else
    {
    int $con=0;
    for($f in $r)
    {

    int $a=`objectType -isType $TYPE $f`;
    if($a==1)
    {$jj[$con]=$f; $con++;}
    print("\n"+$a);

    print($f);
    }
    select -r $jj;
    }
    };

    proc cekhB1(string $label,string $texr)
    {
    textField -e -tx $label $texr;
    sele($texr);
    HideSelectedObjects;
    }
    proc cekhB2(string $label,string $texr)
    {
    textField -e -tx $label $texr;
    sele($texr);
    showHidden -a;
    select -d;
    }

Bookmarks

قوانين الموضوعات

  • لا يمكنك اضافة موضوع جديد
  • لا يمكنك اضافة ردود
  • لا يمكنك اضافة مرفقات
  • لا يمكنك تعديل مشاركاتك
  •  
  • كود BB مفعّل
  • رموز الحالة مفعّل
  • كود [IMG] مفعّل
  • [VIDEO] code is مفعّل
  • كود HTML معطل