منبع فارسی مکس اسکریپت _MaxScript

Elton John

Member
دستورات مکس اسکریپت .....
===================================================================

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

دستورات موجود در بخش MAXscript Language Refrence


دستورات مجهول فقط خود دستور گذاشته میشه
 

Elton John

Member
کد و دستور 1
===========================================================

مسیر.....

MAXscript Language Refrence
v
Reserved Keywords, Symbols, Punctuation and Variables
v
Language Reserved Keywords
v
about

=================================================================
توضیحات کلی:
چرخش و یا اسکیل موضوع مورد نظر در حدود مرکز تعریف شده
این مقادیر جسم را نیز جابجا میکند
==================================================================

فرمول:

کد:
[B][SIZE=2][FONT=Courier New][B]about selection[/B][/FONT][/SIZE][/B]

توضیح:
چرخش (rotate) و یا اسکیل (scale) جسم مورد نظر در مرکز جسم و یا اجسام انتخاب شده که همراه با جابجایی جسم همراه است
در حین استفاده از این دستور باید جسمی یا اجسامی در حال انتخاب شده باشد

مثال:
کد:
about selection rotate $box01 (eulerangles 0 0 45)
 

پرواز

Member
التون جان خسته نباشید و ممنون:rose::rose::rose:
با توجه به توضیحاتی قبلی شما
این نوع چرخش(eulerangles) و مقداردهی از نوع absolute بوده یعنی چرخش باتوجه به مکان فعلی جسم . و مقدار نیز به محور z اعمال شده ؟
و البته اینم شکل کلی فرمان چرخش شد؟
کد:
  rotate $ (eulerangles x y z)
تو حالت معمولی مکس که چند جسم انتخاب میشن و میچرخند .مرکز چرخش در وسط همه اجسام انتخابی در نظر گرفته میشه و چرخش انجام میشه و البته جابجایی اجسام هنگام چرخش حول دایرهای هست که مرکزش همون مرکز اصلی همه اجسامه
اما با استفاده از از این دستور حین چزخش همه اجسام جابجایی اونها حول محور مرکزی همه اجسام نیست .منطق مکس در این نوع چرخش چیه ؟
 
آخرین ویرایش:

Elton John

Member
من منظورتونو خوب متوجه نشدم تا جایی که امکان داره سوالاتتونو اگه پیچیدن با عکس بیان کنید تا جواب بهتری بگیرید
ولی اگه منظورتون اینه که خود اجسام انتخاب شده بچرخند حول محور خود اجسام انتخاب شده
علتش اینه که چون اجسام جابجا میشن حول محوری که میچرخن هم درش تغییر و جابجایی همزمان ایجاد میشه و به صورت مارپیچی مچرخن

63680649884498371172.jpg



تمام اجسام انتخاب شده در یک مکعب قرار میگیرند و مرکز این مکعب همون محور مورد نظر هست و با تغییر و جابجایی اجسام این مکعب هم تغییر اندازه میده


در ضمن سیستم اعمال مقادر در
کد:
[B]  rotate $ (eulerangles x y z)[/B]

به صورت relative هستند
 
آخرین ویرایش:

Elton John

Member
کد و دستور 2
================================================== =========

مسیر.....

MAXscript Language Refrence
v
Reserved Keywords, Symbols, Punctuation and Variables
v
Language Reserved Keywords
v
about

================================================== ===============
توضیحات کلی:
چرخش و یا اسکیل موضوع مورد نظر در حدود مرکز تعریف شده
این مقادیر جسم را نیز جابجا میکند
================================================== ================

دستور:
کد:
[B][SIZE=2][FONT=Courier New][B]about pivot[/B][/FONT][/SIZE][/B]

توضیح:
چرخش و یا اسکیل جسم و یا اجسام حول pivot هر یک از آنها

مثال:

کد:
about pivot rotate $ (eulerangles 0 0 45)
about pivot scale $ [1,1,2]
 

Elton John

Member
کد و دستور 3
================================================== =========

مسیر.....

MAXscript Language Refrence
v
Reserved Keywords, Symbols, Punctuation and Variables
v
Language Reserved Keywords
v
about

================================================== ===============
توضیحات کلی:
چرخش و یا اسکیل موضوع مورد نظر در حدود مرکز تعریف شده
این مقادیر جسم را نیز جابجا میکند
================================================== ================

دستور:

کد:
about coordsys
توضیح:
چرخش یا اسکیل موضوع یا موضوعات در مرکز مختصات تعیین شده توسط دستور in coordsys
in coordsys در واقع دستوری هست برای بیان مختصات جاری برای عملکرد موضوع طبق آن مختصات که در حالت های زیر موجوده

world
screen
local
gimbal
grid
و ...




مثال خود مکس اسکریپت:

کد:
[LEFT][LEFT][SIZE=2][COLOR=blue][COLOR=blue][FONT=Courier New]in[/FONT][/COLOR][/COLOR][/SIZE][SIZE=2][COLOR=blue][COLOR=blue][FONT=Courier New]coordsys[/FONT][/COLOR][/COLOR][/SIZE][SIZE=2][FONT=Courier New] parent [/FONT][/SIZE][SIZE=2][COLOR=blue][COLOR=blue][FONT=Courier New]about[/FONT][/COLOR][/COLOR][/SIZE][SIZE=2][COLOR=blue][COLOR=blue][FONT=Courier New] coordsys[/FONT][/COLOR][/COLOR][/SIZE][SIZE=2][FONT=Courier New] rotate $planets* 45 z_axis[/FONT][/SIZE][/LEFT]
[/LEFT]
توضیح مثال:
چرخش تمامی موضوعاتی که با نام planets شروع شده در مرکز مختصات parent (لینک شده) آنها 45 درجه در محور z
 
آخرین ویرایش:

Elton John

Member
کد و دستور 4
================================================== =========

مسیر.....

MAXscript Language Refrence
v
Reserved Keywords, Symbols, Punctuation and Variables
v
Language Reserved Keywords
v
about

================================================== ===============
توضیحات کلی:
چرخش و یا اسکیل موضوع مورد نظر در حدود مرکز تعریف شده
این مقادیر جسم را نیز جابجا میکند
================================================== ================

دستور:

کد:
[B][SIZE=2][FONT=Courier New][B]about[/B][/FONT][/SIZE][/B][SIZE=2][FONT=Courier New] <node>[/FONT][/SIZE]

توضیح:
چرخش و یا اسکیل موضوع در pivot point موضوع تعریف شده

مثال:

کد:
about $Teapot01 (scale $Cylinder02 [2,1,1])
 

Elton John

Member
کد و دستور 5
================================================== =========

مسیر.....

MAXscript Language Refrence
v
Reserved Keywords, Symbols, Punctuation and Variables
v
Language Reserved Keywords
v
about

================================================== ===============
توضیحات کلی:
چرخش و یا اسکیل موضوع مورد نظر در حدود مرکز تعریف شده
این مقادیر جسم را نیز جابجا میکند
================================================== ================

دستور:


کد:
[B][SIZE=2][FONT=Courier New][B]about[/B][/FONT][/SIZE][/B][SIZE=2][FONT=Courier New] <matrix3>[/FONT][/SIZE]
توضیح:
چرخش یا اسکیل موضوع یا موضوعات در مرکز مقدار ماتریکس سه بعدی

matrix3: در واقع مقداری است که سه مقدار اصلی position - rotation -scale را همزمان در خود ذخیره میکند


مثال1:

کد:
about $Teapot01.transform (scale $Cylinder02 [2,1,1])
مثال2:

کد:
mat3_teapot = $Teapot01.transform
خروجی:

کد:
(matrix3 [-0.420896,0.609865,-0.671499] [-0.661596,0.30006,0.687208] [0.620594,0.733504,0.277191] [100,0,0])
قرار دادن متغیر شامل ماتریکس قوری:

کد:
about mat3_teapot (scale $Cylinder02 [2,1,1])
 

Elton John

Member
کد و دستور 6
================================================== =========

مسیر.....

MAXscript Language Refrence
v
Reserved Keywords, Symbols, Punctuation and Variables
v
Language Reserved Keywords
v
about

================================================== ===============
توضیحات کلی:
چرخش و یا اسکیل موضوع مورد نظر در حدود مرکز تعریف شده
این مقادیر جسم را نیز جابجا میکند
================================================== ================

دستور:

کد:
[B][SIZE=2][FONT=Courier New][B]about[/B][/FONT][/SIZE][/B][SIZE=2][FONT=Courier New] <point3>[/FONT][/SIZE]
توضیح:
چرخش یا اسکیل موضوع یا موضوعات در مرکز position داده شده (point3)


مثال:

کد:
about $teapot01.pos (scale $Cylinder02 [-2,1,1])

about $teapot01.pos rotate $planets* 45 z_axis
مثال2:

کد:
about [10.5,0.45,265] rotate $planets* 45 z_axis
 

Elton John

Member
توضیحات لازم در مورد این بخش از کدها
================================================== =========

مسیر.....

MAXscript Language Refrence
v
Reserved Keywords, Symbols, Punctuation and Variables
v
Language Reserved Keywords
v
about
================================================== ===============
توضیحات کلی:
چرخش و یا اسکیل موضوع مورد نظر در حدود مرکز تعریف شده
این مقادیر جسم را نیز جابجا میکند
================================================== ================


طریقه عملکرد چرخش یا Rotate در این بخش:

تمامی موضوع یا موضوعاتی (node) که بعد از کلمه about می آیند به عنوان مرکز یک دایره فرضی در نظر گرفته میشوند و موضوع یا موضوعاتی که عمل چرخش در آنها صورت میگیرد در یک دایره که شعاع آن به فاصله موضوع
از مرکز تعیین میشود, میچرخند.


طریقه عملکرد اسکیل یا scale در این بخش:
تمامی موضوع یا موضوعاتی (node) که بعد از کلمه about می آیند به عنوان مرکز یک شاخص در نظر گرفته میشوند
در این حالت در جسم اسکیل شده دو تغییر صورت میگیرد
اولا اسکیل میشود
دوما جابه جا میشود
که هر دو حالت همزمان صورت میگیرد

محاسبه به این صورت انجام میشود:

اسکیل جاری جسم + موقعیت و پوزیشن جسم شاخص (جسم بعد از about)

مثال:


کد:
[/B][B]about $teapot01.pos (scale $Cylinder02 [-2,1,1]) [/B][B]

اگر teapot01 موقعیتش این باشه [50,0,0]

و Cylinder02 موقعیتش این باشه [0,0,0]

و اگر مثال بالا رو اجراکنیم به این صورت محاسبه میشه:

اسکیل x موضوع Cylinder02 قبل از تغییر 100 میباشد
موقیت قوری هم در محور x روی 50 میباشد
حال 100 + 50 = 150
پس موقعیت x موضوع Cylinder02 در 150 قرار میگیرد

-2 در اسکیل x موضوع Cylinder02 ضرب شده میشه -200


 

Elton John

Member
خوب من با کد های about یکم کار کردم تا ببینم با کد هاب مربوطه چکار میشه کرد که من این اسکریپت رو نوشتم


کد:
for me = 0 to 2000 do
(
    mycop = cylinder radius:2.115
    in coordsys mycop (move mycop  [0.1*me,0, me*0.1])
    

    about $teapot01.pos rotate mycop (2*me) z_axis
    
)

و نتیجه شد این عکس ها:


11.jpg

22.jpg


شما هم اگه چیز جالبی با کد ها نوشتید مثالش رو اینجا با عکس بزارید
 

پرواز

Member
سلام اقا التون جان
نمیخواستم پست اضافی بدم .چون چند روزیه نیستی نگران شدم.
امیدوارم مجدد فرصتی بیابی و ما رو در ادامه اموزشها خوشحال کنی .آخه تازه گرم شده بودیم:rose::rose::rose:
 

Elton John

Member


مقادیر Boolean:

یکی دیگر از مقادیر کاربردی بولین نام دارد این مقادیر بر اساس منطق تعریف شدن
=================
مقادیر true , false
مثلا شما میگید 10 برابر 10 است خوب جوابش درست است یعنی true
آیا 10 از 21254 بزرگتر است خوب جواب غلط است یعنی false
===================

مقادیر on , off
معنیش روشن و خاموش
فعال و غیر فعال

مثلا شما یک omni تو مکس درست میکنید که میگید اگه کره من شعاش از 10 بزرگتر شد omni رو روشن یا فعال کن
==============

مقادیر 0 و 1
در منطق بولین جا میگیرند

1 نماد درست روشن فعال
0 نماد خاموش غیرفعال نادرست


Update خواهد شد...
 
آخرین ویرایش:

Elton John

Member
کد و دستور 7
================================================== =========

مسیر.....

MAXscript Language Refrence
v
Reserved Keywords, Symbols, Punctuation and Variables
v
Language Reserved Keywords
v
Logical Expressions
================================================== ===============
Logical Expressions عبارت های استدلالی

این دستورات مقادیر مختلف boolean رو باهم مقایسه کرده و یک پاسخ نهایی خواهند داد که این خروجی نهایی هم boolean میباشد

ما اینجا سه تا دستور داریم که مقادیر boolean رو باهم مقایسه میکنند

and
or
not
============
and
این دستور یک رشته متصل از مقادیر بولین رو کامل به هم ربط میده که در این رشته باید همه مقادیر بولین true باشند در غیر این صورت پذیرفته نمیشود

مثال1:

کد:
a = 1
کد:
[COLOR=Black]
1

a>0 and a<20 and a>-5 [/COLOR][COLOR=Black]

true [/COLOR][COLOR=Black]


[/COLOR]


مثال2:

کد:
xg = 10.
10.0

if (xg>9 and xg<11) do (xg/25)
0.4
مثال3:

کد:
xg = 12.
12.0

if (xg>9. and xg<11.) then (xg/25.) else (messagebox "xg  not true, true??")
OK

 
آخرین ویرایش:

Elton John

Member
کد و دستور 8
================================================== =========

مسیر.....

MAXscript Language Refrence
v
Reserved Keywords, Symbols, Punctuation and Variables
v
Language Reserved Keywords
v
Logical Expressions
================================================== ===============
این دستورات مقادیر مختلف boolean رو باهم مقایسه کرده و یک پاسخ نهایی خواهند داد که این خروجی نهایی هم boolean میباشد

ما اینجا سه تا دستور داریم که مقادیر boolean رو باهم مقایسه میکنند

and
or
not
============

=================
or

این دستور مقادیر مختلف بولین رو باهم مقایسه میکند ولی هر کدام از مقادیر ture شود پذیرفته میشه

کد:

کد:
a = 1
1

if (a>20 or a<0 or a>-5) then (a*25/2)  else (a=0)
12
==================
 
آخرین ویرایش:

Elton John

Member
کد و دستور 9
================================================== =========

مسیر.....

MAXscript Language Refrence
v
Reserved Keywords, Symbols, Punctuation and Variables
v
Language Reserved Keywords
v
Logical Expressions
================================================== ===============

این دستورات مقادیر مختلف boolean رو باهم مقایسه کرده و یک پاسخ نهایی خواهند داد که این خروجی نهایی هم boolean میباشد

ما اینجا سه تا دستور داریم که مقادیر boolean رو باهم مقایسه میکنند

and
or
not
============


not

این دستور یک منطق منفی رو ایجاد میکنه که این منطق منفی درست دربیاد پذیرفته میشه

مثال1:
من این مقدار رو دارم

کد:
a=2
2

حالا اینو تو ذهنم مرور میکنم :
اگه a مساوی 1 نشد و a کوچکتر نشد از صفر فلان کارو انجام بده

کد:
a=2
2
کد:
if ((not a==1) and (not a<0)) do (2+2)
4
حالا a رو برابر 1 میزارم

کد:
a=1
1


if ((not a==1) and (not a<0)) do (2+2)
undefined
خروجی "تعریف نشده"

=======================
 
آخرین ویرایش:

Elton John

Member
توضیحات تکمیلی......................

================================================== =========

مسیر.....

MAXscript Language Refrence
v
Reserved Keywords, Symbols, Punctuation and Variables
v
Language Reserved Keywords
v
Logical Expressions
================================================== ===============

این دستورات مقادیر مختلف boolean رو باهم مقایسه کرده و یک پاسخ نهایی خواهند داد که این خروجی نهایی هم boolean میباشد

ما اینجا سه تا دستور داریم که مقادیر boolean رو باهم مقایسه میکنند

and
or
not
============

Update خواهد شد...
 

Elton John

Member
الان دوستان پیدا میشن میگن "آقا شما کجایید چرا ادامه نمیدید":evil:

یکم خودتون هم بجنبید از همین کد ها استفاده کنید تمرین کنید اون تمریناتتون رو با مثال اینجا بزارید توضیح بدید مبحث رو آپدیت کنید >|<

این مبحث کار حضرت فیله:-<

شما هم سهیم باشید دیگه
 

پرواز

Member
چشم التون جان
ولی شما هم اموزشهارو قطع نکنید..
قول میدیم به محظی که بفهمیم چی به چیه حتما وارد بحث میشیم
ما که گاهی مشکل داریم و دور به دور میاییم ولی هر وقت میاییم به این امید تو مجید انلاین میاییم که کلی بحث اموزشی جدید بخونیم
پس خواهشا تنبیه آسونتری برای ما در نظر بگیرید و اموزشو از ما دریغ نکنید
:rose::rose::rose:
 

جدیدترین ارسال ها

بالا