بسم الله الرحمن الرحيم
هذا البرنامج طويل بعض الشيء لكن سيكون مفيد انشاء الله وهو يختار شيئ معين من قائمة الاختيارت لطيف جدا جربه و اعطني رايك ارجوا بعض التفاعل الظاهر بل نسبه لمواضيع الميل ما في تفاعل في هذا المنبر ما ادري ولله اشوف التفاعل في منبر الماكس احسن من منبر المايا بس انشاء الله يصير نشاط اخواني اي سوال عندكم انا في الخدمه سأجيب عليه ان استطعت البرنامج يبدا من هنا انسخه و الصقه في ملف نصي في الوندوز و اقراء الشرح و انسخ نسخه ثانيه من البرنامج في المايا احتمال النص العربي يخرب عندكم في المايا لاكن هذا لا يهم
انتبه جيدا قبل كل اختيار انقر على سيليكت آل وقم بالأختيار من كليك هير انتبه جيدا قبل استخدام هذا الميل يجب عليك ان تصنع جميع النواع الاشياء الموجوده في المايا مثل كره بوليقون و نيربز و كامرا و انواع الايتات و كاروات حاول انتصنع من كل نوع اشياء متعدده مثلا من النيرب اصنع كره و اصطوانه و مربع و كل الاشياء المتوفره
انسخ من هنا
/*
هذا البرنامج هو برنامج لأختيار شيئ معين من مجموعه الأختيارات حسب قائمة الاختيارات فمثلا اذا تضغط على زر
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; //هذا الامر يختار الاجسام التي تم تحديدها ووضع اسمائها في الصفيفه السلسليه جي جي
}
};
هذا البرنامج طويل بعض الشيء لكن سيكون مفيد انشاء الله وهو يختار شيئ معين من قائمة الاختيارت لطيف جدا جربه و اعطني رايك ارجوا بعض التفاعل الظاهر بل نسبه لمواضيع الميل ما في تفاعل في هذا المنبر ما ادري ولله اشوف التفاعل في منبر الماكس احسن من منبر المايا بس انشاء الله يصير نشاط اخواني اي سوال عندكم انا في الخدمه سأجيب عليه ان استطعت البرنامج يبدا من هنا انسخه و الصقه في ملف نصي في الوندوز و اقراء الشرح و انسخ نسخه ثانيه من البرنامج في المايا احتمال النص العربي يخرب عندكم في المايا لاكن هذا لا يهم
انتبه جيدا قبل كل اختيار انقر على سيليكت آل وقم بالأختيار من كليك هير انتبه جيدا قبل استخدام هذا الميل يجب عليك ان تصنع جميع النواع الاشياء الموجوده في المايا مثل كره بوليقون و نيربز و كامرا و انواع الايتات و كاروات حاول انتصنع من كل نوع اشياء متعدده مثلا من النيرب اصنع كره و اصطوانه و مربع و كل الاشياء المتوفره
انسخ من هنا
/*
هذا البرنامج هو برنامج لأختيار شيئ معين من مجموعه الأختيارات حسب قائمة الاختيارات فمثلا اذا تضغط على زر
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; //هذا الامر يختار الاجسام التي تم تحديدها ووضع اسمائها في الصفيفه السلسليه جي جي
}
};
تعليق