منوی بالایی را از بخش فهرست ها تنظیم کنید.

مفاهیم اولیه مکس اسکریپت

درس اول – مفاهیم اولیه مکس اسکریپت

در این پست آموزش maxscript به مفاهیم اولیه این زبان اسکریپت نویسی می پردازیم . یادگیری مکس اسکریپت مانند یادگیری دیگر زبان های برنامه نویسی می باشد. در این آموزش با مفاهیم اولیه اسکریپت نویسی در تری دی مکس آشنا می شوید، بالطبع اگر با زبان برنامه نویسی قبلا آشنایی داشته اید کار شما بسیار راحت تر خواهد بود ، اما اگر هیج سابقه برنامه نویسی هم ندارید اصلا نگران نباشید با دنبال کردن مطالب آموزش سایت elan.ir می توانید یک اسکریپت نویس حرفه ای شوید .

همانطور که قبلا اشاره کردم ، بهترین منبع مکس اسکریپت تری دی مکس ​ فایل آموزشی خود تری دی مکس می باشد ، بعد از آنکه کمی با مفاهیم آَشنا شدید ، بهترین آموزش همان بررسی اسکریت های نوشتته شده توسط دیگران می باشد .

در این آموزش ابتدا با مفاهیم معمول زبان های برنامه نویسی آشنا می شوید مانند «ساختار دستوری یا syntax»  ، «ساختار منطقی یا logic »  و …

دستور و ساختار

یک اسکریپت در مکس عبارت است از مجموعه ای از دستورات که به صورت یک متن ساده نوشته می شوند .تری دی مکس می تواند آنچه که در یک اسکریپت نوشته شده است را خونده ، و سپس آن ها را اجرا کند .اگر شما در یک اسکریپت یک خطای دستوری یا ساختاری داشته باشید ، اسکریپت به درستی اجرا نمی شود و شما با پیغام خطا روبرو می شوید .

هر برنامه یا اسکریپت یک ساختار و ترتیبی دارد که شما باید آن را رعایت کنید که به این ترتیب اصطلاحا syntax (ساختار دستوری) گفته می شود که شما اگر این ساختار را رعایت نکنید باعث ایجاد error می شود .

از نکات مهم اسکریپت نویسی در مکس این است که تا جایی که می توانید اسکریپت را به صورت ساده و خوانا بنویسید ، تا هم رفع ایراد آن برای خود شما راحت تر باشد و اگر کسی آن را دید راحت بتواند متوجه شود .یکی از اصول برنامه نویسی برای نظم و ترتیب و فهم بهتر اسکریپت ، ایجاد تو رفتگی در اسکریپت می باشد ، با کلید tab  یا spacebar از صفحه کلید می توانید استفاده کنید ، این فاصله ها در اجرای برنامه نادیده گرفته می شود .

2014-10-21_18-02-13

توضیحات

جهت خوانا بودن و قابل فهم بودن اسکریپت شما برای دیگران می توانید از comments (توضیحات) استفاده کنید ، در توضیحات می تواند در مورد قسمت های مختلف اسکریپت خود توضیح دهید . مخصوصا هنگام که اسکریپت های شما طولانی می شود ، استفاده از توضیحات اجتناب نا پذیر است .دقت کنید که توضیحات جز برنامه نیست و اجرا نمی شود .

وقتی یک جمله توضیحی داشتید می توانید به ابتدای آن اضافه کنید مانند مثال زیر

b = box()
b.ength = 20.0
— comment 1
–comment 2
— comment 3

همچنین می توانید توضیح خود را در ادامه دستورات بگذارید .

b = box() –comment

اگر می خواهید توضیحات خود را در چند خط بنویسید می توانید از کاراکترهای */  در ابتدا و */ در انتها توضیحات استفاده کنید ، به این نوع توضیحات اصطلاحا توضیح بلوکی (block comment)  می گویند 

/* this is a long comment
blah blah print "debug 1" — code
commented out more comments */

البته از این مدل comment  می توانید در یک خط هم استفاده کنید 

b = box() /* comment */

متغیر ها و داده ها 

در زبان ها برنامه نویسی نتایج اجرای برنامه های و توابع و …. توسط متغیرها نشان داده می شود ، در واقع متغیر ها مثل یک ظرف هستند که داده (data) را در خود نگه می دارند و دخیره می کنند .فرض کنید در یک برنامه می خواهید دو عدد را با هم جمع کنید و جمع عدد را نشان دهید ، در برنامه نویسی کامپیوتری یک بار باید عمل جمع را نشان دهید و بعد نتیجه حاصل از آن را چاپ کنید . برای آنکه حاصل را نمایش دهید باید آن را در یک متغیر ذخیره کنید مثلا :

b = 5+5 

پس برای متغیرها باید یک اسم در نظر بگیریم ، که این اسامی کاملا دلخواه هستند ، گرچه در عرف برنامه نویسی یک غالب خاص در نظر گرفته می شود که در ادامه این سری آموزشی به آن اشاره خواهم کرد.

به داده یا اطلاعاتی که در یک متغیرذخیره میکنیم value (مقدار) می گوییم و برای اینکه این مقدار را به یک اسم متغیر انتساب دهیم در مکس اسکریپت از = استفاده می کنیم و اصظلاحا به آن assignment  می گوییم .

a = 10

در این مثال ما عدد ۱۰ را به یک متغیر به اسم a  انتساب دادیم . و اگر دستور چاپ a  را بزنیم عدد ۱۰ نشان داده می شود .اما داده های ما همیشه عددی نیست ، می تواند عدد صحیح ، اعشاری ، متنی یا رشته ای  ، بولی (boolean)   باشد . در بعضی از زبان های برنامه نویسی و اسکریپت نویسی قبل از انتساب یک مقدار به متغیر باید متغیر را معرفی کنید و مشخص کنید از چه نوعی است و در بعضی از اسکریپت ها لزومی به این کار نیست و وقتی شما مقداری را به این متغیر تخصیص می دهید تشخیص می دهد که از چه  نوعی می تواند باشد .به این نوع متغیرها ، متغیرهای بدون نوع یا Untype می گوییم.

GUID-C31A7862-398F-450E-B406-8A9874CEFD65-lowاما ببینم چند نوع متغیر در تری دی مکس داریم .

داده های عددی integer

کلا دو نوع داده عددی داریم 

integer (عدد صحیح) اعداد صحیح مثبت یا منفی هستند بدون هیچگونه ممیز و اعشار مانند ۰،۱،۱۰،-۵،-۲۰ و …

float (عدد شناور) عدد مثبت و منفی که شامل ممیز و اعشاری می شوند .مانند ۵۳٫۹۵

شما می توانید یک متغییر تعریف کنید و عدد را به آن انتساب دهید و عملیات ریاضی را بر روی آن انجام دهید .

a = 5 
b = 5
z=a*b

که نتیجه آن مقدار ۲۵ در متغیر z ذخیره می شود .

و برای اعداد شناور نیز به این صورت می شود :

a= 5.5
b= 2.5
c=a*b

مقدار ۱۳٫۷۵ در متغیر ز ذخیره می شود .

نکته: حاصل عملیات ریاضی دو عدد integer  همواره عدد integer  خواهد بود . اما اگر در یک عملیات ریاضی ، یکی از اعداد یا متغیر ها float  باشد قطعا نتیجه float  خواهد بود.

داده های رشته ای strings

این نوع متغیر برای دخیره داده های text  یا متنی استفاده می شود . برای اینکه یک متن را در متغیر از نوع strings ذخیره کنید باید رشته عددی را در Quotation (") قرار دهید .

msg = " text message "
messageBox msg

با این دستور شما ی متن text message  ذز متغیر msg  ذخیره می شود ئ با دستور بعد آن متن را در یک پنجره نمایش می دهد .

متغیر بولی boolean

این متغیر از نوع درست و غلط یا روشن و خامشو است ، و بیشتر در عبارت های شرطی استفاده می شود .مقدار بولی میتواند شمال موارد زیر باشد :

  • true (درست)
  • false (غاط)
  • on (روشن)
  • off (خاموش)

سعی میکنم بعد از چند آموزش یک فایل pdf جهت دانلود آموزش مکس اسکریپت در اختیار شما عزیزان قرار دهم .

درباره نویسنده

نوشته های مرتبط

6 نظر

  1. apk karimi

    یک سوال در مورد چرخش اشیاء در ۳d max داشتم. میخواستم بدونم چطور میشه مرکز چرخش رو از وسط شیء به اطراف اون منتقل کرد؟

    1. adminis

      سوالتون خیلی کلیه ، و واضح نیست.  ما آموزش مکس اسکریپ رو پله پله جلو میریم اما برای یه توضیح کلی به این مورد ها دقت کنید :

      اگه منظورتون ساخت یک باکس ساده است اینطوری عمل کنید :

      داخل مکس هر دستوری که با ماوس اجرا می کنید ، در واقع تبدیل به زبان اسکریپت میشه، یا به عبارت بهتر ، شما با کلیک بر روی هر آیکون تو مکس درواقع دارین یک اسکریپت رو اجرا می کنید ، مثلا وقتی دستور باکس رو اجرا میکنید و اگر پنجره maxscript listener باز و قابلیت  macro recorder فعال باشه ، دستور باکس رو خواهید دید  مثلا دستور باکس برای کد نویسی به این صورت می باشد :

      Box lengthsegs:1 widthsegs:1 heightsegs:1 length:10 width:10 height:10 mapcoords:on pos:[0,0,0]

       یک باکس با طول عرض و ارتفاغ ۱۰ و سگمنت  ۱ در مرکز صفحه ایجاد می کند .

       

    1. adminis

      این اررو میتونه دلیلای مختلفی داشته باشه، شما جدیدا پلاگینی رو برای تری دی مکس نصب کردید؟ بیشترین احتمال اینه که پلاگین رو نصب کردید و این پلاگین یا درست نصب نشده و یا اینکه کلا با ورژن مکس شما همخوانی نداره !برای رفعش هم باید اون اسکریپتی که فکر می کنید باعث این اررو شده رو پاک کنید،اگه نمیدونید کدوم اسکریپته مسیر زیر رو دنبال کنید و فایل های داخل اون رو پاک کنید،فقط دقت کنید اگه نمیدونید که کدوم فایل اسکریپت باعث این اررو شده و همه فایل ها رو پاک کنید تمام پلاگیناتون از کار می افته:
      C:\Users\[caomputer name]\AppData\Local\Autodesk\3dsMax\[2014 – 64bitورژن نرم افزار مثل ]\ENU\usermacros

نظرات بسته است.