Saturday 18 February 2017

DYN03 : Dynamo ၏ User Interface ကိုေလ့လာၿခင္း

ဒီ Post မွာေတာ့ Dynamo ရဲ့ User Interface ကို ေဆြးေႏြးတင္ၿပခ်င္ပါတယ္။ အေၿခခံ ေလ့က်င့္ခန္း ၿဖစ္တဲ့အတြက္ Revit Software ကိုအသံုးၿပဳစရာမလိုပဲ Dynamo ကို တိုက္ရိုက္ တန္းဖြင့္ႏိုင္ပါတယ္။
(Revit 2017 ကစလို ့ Dynamo ဟာ Revit ရဲ့ Tool တခုအေနနဲ ့ Ribbon> Manage< Virtual Programming ေအာက္မွာ တခါတည္း ပါ၀င္ေနမွာၿဖစ္ပါတယ္။ Default အားၿဖင့္ Dynamo 0.9.1 ကိုေတြ ့ရမွာၿဖစ္ၿပီး Updated Version ကိုေတာ့ www.dynamobim.org ကေန ေဒါင္းယူႏိုင္ပါတယ္။)

ကိုယ့္စက္ထဲမွာ  Dynamo ရွိေနၿပီး ဆိုရင္ေတာ့ Desktop ရဲ့ Shortcut ကၿဖစ္ေစ၊ Search ကေန Key-in ရိုက္ၿပီးၿဖစ္ေစ Application ကို Launch  လုပ္ႏိုင္ပါတယ္။

Dynamo ပြင့္လာတဲ့အခါ သူ ့ရဲ့ User Interface ကို ေအာက္ေဖာ္ၿပပါ ပံုအတိုင္း ေတြ ့ၿမင္ရပါမယ္။
User Interface
အေပၚဆံုးအတန္းကေတာ့ Application Bar သက္သက္ပါပဲ။

ဒုတိယ အတန္းကေတာ့ Menu Bar ၿဖစ္ပါတယ္။ သူ ့မွာေတာ့ ေအာက္ပါ Menu မ်ားပဲ ၿဖစ္ပါတယ္။
  • File
  • Edit
  • View
  • Packages
  • Settings
  • Help
Menu တခုၿခင္းစီကိုေတာ့ ေလ့က်င့္ခန္းလုပ္ရင္းက ပိုၿပီး အကၽြမ္းတ၀င္ရွိလာမွာမို ့ အက်ယ္မရွင္းၿပလိုေတာ့ပါ။

တတိယ အတန္းကေတာ့ Tool Bar ပါ။ File New, Open, Save, Undo, Redo တို ့ကို Tool အေနနဲ ့ ၿမင္ေတြ ့ ေနရတာပါ။

တတိယ အတန္းရဲ ့ေအာက္ ၀ဲဖက္မွာေတာ့ Library Panel ရွိေနပါမယ္။
ၿပီးရင္ေတာ့ ညာဖက္ Space တခုလံုးဟာ Working Space ပဲ ၿဖစ္ပါတယ္။ အဲဒီ Working Space ထဲမွာ ကိုယ္ဖန္တီးခ်င္တဲ့ Code ေတြကို လြတ္လပ္စြာ ဖန္တီးႏိုင္ပါမယ္။ ဒီ Working Space ဟာဆိုရင္ ကိုယ္ဖန္တီးမယ့္ Code ေတြအၿပင္ အဲ့ဒီ Code ေတြေႀကာင့္ ၿဖစ္ေပၚလာမယ့္ Geometry ေတြကိုပါ ေဖာ္ၿပေပးမွာ ၿဖစ္ပါတယ္။
ဒီ Working Space ထဲမွာအလုပ္လုပ္ႀကတဲ့အခါ လိုအပ္သလို Zoom in/ out, Pan ေတြကို အသံုးၿပဳရင္ ကိုယ့္ရဲ့ Node ေတြကို Navigate လုပ္ႏိုင္ပါမယ္။ Zoom in/ out ကို Mouse ရဲ့ Middle Score Buttom ကို လွိမ့္ရင္း ၿပဳလုပ္ႏိုင္သလို Pan ကိုေတာ့ Mouse ရဲ့ Middle Score Buttom ကို Press and Drag လုပ္ရင္း ၿပဳလုပ္ႏိုင္မွာ ၿဖစ္ပါတယ္။
ေနာက္တခုအနနဲ ့က ဒီ Working Space ဟာ တခုတည္း ဆိုေပမယ့္ Code ေတြနဲ ့ Geometry ေတြကို သီးၿဖားစီ Navigate လုပ္ႏိုင္ဖို ့အတြက္ Buttom ၂ ခုကို ဖန္တီးေပးထားပါတယ္။ တခုကို On ထားရင္ က်န္တခုက Off  ၿဖစ္ေနပါလိမ့္မယ္။ Shortcut အားၿဖင့္ေတာ့ Ctrl+B ကို Toggle အေနနဲ ့ အသံုးၿပဳရင္း ကိုယ္ Navigate လုပ္ခ်င္တဲ့ Work Space ကို ေရြးၿခယ္ႏိုင္ပါမယ္။

ေနာက္ဆံုးအေနနဲ ့ ညာဖက္ ေအာက္ေဒါင့္မွာ Automatic ဆိုတာပါပဲ။ သူ ့အတိုင္းထားမယ္ဆိုရင္ ကိုယ္ဖန္တီးေနတဲ့ Code ၿပီးသည္ၿဖစ္ေစ၊ မၿပီးသည္ၿဖစ္ေစ Application က အလိုေလ်ာက္ Run ေနမွာပါ။ အေကာင္းတံုးကေတာ့ သူ ့ေဘးက Pull-down Menu ကေန Manual ကို ေၿပာင္းထားဖို ့ တိုက္တြန္းပါရေစ။ ဒါမွ ကိုယ္အဆင္သင့္ ၿဖစ္တဲ့ အခါမွ ကိုယ္သေဘာက် Run ႏိုင္မွာ ၿဖစ္ပါတယ္။

Dynamo ရဲ့ User Interface အေႀကာင္းကိုေတာ့ ဒီေလာက္နဲ ့ပဲရပ္နားပါရေစ။ ေလ့က်င့္ခန္းေတြ လုပ္တဲ့အခါက်ေတာ့မွ ပိုၿပီးအေသးစိတ္ တင္ၿပေဆြးေႏြးေပးသြားပါ့မယ္။

လာမယ့္ Post မွာေတာ့ အေၿခခံ Code ေတြဖန္တီးပံုကို ဆက္လက္တင္ၿပေဆြးေႏြးသြား မွာၿဖစ္ပါတယ္။

DYN02 : Dynamo ၏ အေၿခခံသေဘာတရားမ်ား

Dynamo ဆိုတာ Virtual Programming Language တခုပါ။ Dynamo ရဲ့ Code တခု ၿဖစ္တည္လာဖို ့အတြက္ လိုအပ္တဲ့ အခ်က္အလက္ေတြကို Node ေတြ Wire ေတြနဲ ့ ဖန္တီးႀကရပါတယ္။

Node ဆိုတာေတြက ကိုယ္ ဖန္တီးခ်င္တဲ့ Code တခုအတြက္ လိုအပ္ေနတဲ့ Information ေတြ Resource ေတြလို ့အႀကမ္းဖ်င္း နားလည္ထားႏိုင္ပါတယ္။ အဲဒီ Node ေတြကို Library ထဲကေန ရယူႏိုင္ပါတယ္။

Node တခုကေန တၿခား Node တခုကို Wire ေတြနဲ ့ ဆက္သြယ္ၿပီး ကိုယ္လိုခ်င္တဲ့ Code ကိုဖန္တီးႀကရတာ Dynamo ရဲ့ အေၿခခံ သေဘာသဘာ၀ တခုပါပဲ။

Default အားၿဖင့္ ေပးထားတဲ့ Node ေတြကို Library ထဲမွာ ေအာက္ေဖာ္ၿပပါ အတိုင္း အစီအစဥ္တက် ေတြ ့ၿမင္ႏိုင္ပါတယ္။
  • Analyze
  • Builtin
  • Core
  • Display
  • Geometry
  • Office
  • Operators
  • Revit (Launch from Revit Software)
Node ေတြအားလံုးကို အလြတ္က်က္ထားစရာ မလိုပါဘူး။  Code ေတြေရးရင္းနဲ ့ပဲ သံုးေနက် Node ေတြကို အလိုလို မွတ္မိလာပါလိမ့္မယ္။ Code အမ်ိဳးအစား မ်ားမ်ား ေရးမိေလ Node အေတာ္မ်ားမ်ားကို မွတ္မိလာေလေလပါပဲ။

Dynamo ဟာ Virtual Programming Language ၿဖစ္တဲ့အေလ်ာက္ Application တခုအေနနဲ ့ သီးၿခား Launch လုပ္ႏိုင္သလို Add-in အေနနဲ ့ Revit Software ကေနလည္း Launch လုပ္ႏိုင္ပါတယ္။ ဆိုလိုတာက တခ်ိဳ  ့Code ေတြဟာ Revit Software ကို အမွီၿပဳစရာမလိုပဲ ဖန္တီးႏိုင္ၿပီး၊ တခ်ိဳ  ့Code ေတြကေတာ့ Revit Software ကို အမွီၿပဳၿပီးမွ ဖန္တီးရလို ့ပါပဲ။

Dynamo ဟာ Open Source ၿဖစ္တဲ့အေလ်ာက္ Default အားၿဖင့္ ေပးထားတဲ့ Node ေတြအၿပင္ Developer ေတြကဖန္တီးထားႀကတဲ့ ပိုမိုလြယ္ကူၿပီး ပိုမိုအဆင့္ၿမင့္တဲ့ Node Package ေတြကိုလည္း လိုအပ္သလို ထပ္ဆင့္ Install လုပ္ၿပီး အသံုးၿပဴႏိုင္ပါေသးတယ္။ ဒါ့အၿပင္ ကိုယ္ကိုယ္တိုင္က Programming ေတြ Script ေတြဖက္မွာ စိတ္၀င္စားသူ၊ လိုက္စားသူၿဖစ္ေနခဲ့ မယ္ဆိုရင္ေတာ့ ပိုမိုလြယ္ကူၿပီး ပိုမိုအဆင့္ၿမင့္တဲ့ Node ေတြကို ကိုယ္တိုင္ ဖန္တီးႏိုင္မွာၿဖစ္ပါတယ္။

www.dynamobim.org ကေန အဓိက Product ၂ ခုအၿဖစ္ Dynamo နဲ ့ Dynamo Studio ဆိုၿပီး ထုတ္ပါတယ္။
Dynamo ကို အေၿခခံအေနနဲ ့ ေလ့က်င့္ဖို ့ရယ္၊ ၿပီးေတာ့ Revit Software ရဲ့ Add-in အေနနဲ ့ ထုတ္ပါတယ္။ ၿပီးေတာ့ Open Source အေနနဲ ့ Free သံုးႏိုင္ပါတယ္။
Dynamo Studio ကေတာ့ ပိုၿပီးအဆင့္ၿမင့္၊ ပိုၿပီးရွုပ္ေထြးတဲ့ Node ေတြနဲ ့ဖြဲ ့စည္းထားၿပီး Autodesk ရဲ့ တၿခား Software ေတြနဲ ့ပါ ခ်ိတ္ဆက္အသံုးၿပဳႏိုင္ပါမယ္။ စမ္းသပ္ခ်င္သူေတြအတြက္ေတာ့ Autodesk Student Version အေနနဲ ့ Free စမ္းသပ္ႏိုင္ႀကပါတယ္။

လာမယ့္ Post မွာေတာ့ အေၿခခံ List ေတြဖန္တီးပံု၊ စီစဥ္အသံုးခ်ပံုေတြကို ဥာဏ္မွီသေလာက္ေလးနဲ ့ တင္ၿပေဆြးေႏြးသြားမွာ ၿဖစ္ပါတယ္။


DYN01 : Dynamo ဘာလဲ ဘယ္လဲ နိဒါန္း

Dynamo ဆိုတာ ဘာလဲ...
က်ေနာ္လည္း စိတ္ဝင္စားလာမိတယ္။ ဒါနဲ႔ပဲ ဥာဏ္မီသေလာက္ေခါင္းေလးနဲ႔ တီးေခါက္မိၾကည့္တယ္ ဆိုပါေတာ့။
Dynamo ဆိုတာ Virtual Programming Language တမ်ိဳး။
ၿပီးေတာ့ Open Source... ေျပာရရင္ FOC
တျခား Programming Language ေတြေလာက္မခက္ဘူး။
Revit ရဲ႕ Add-in အေနနဲ႔ ရပ္တည္ေနတယ္။
Excel ရဲ႕ Macro လို၊ Auto CAD ရဲ႕ LISP လိုမ်ိဳး။
သူ႔ရဲ႕လြယ္ကူတဲ့အခ်က္က ကိုယ္ဖန္တီးခ်င္တဲ့ ရလဒ္တခု...ဒါမွမဟုတ္ တခုထက္ပိုတဲ့ ရလဒ္ေတြအတြက္ available ျဖစ္ေနတဲ့ Code ေတြကို ခ်ိတ္ဆက္ေပးရတာ။
ဘာေၾကာင့္ Dynamo ကို အသံုးျပဳသင့္သလဲ
၁) Productivity ကို ျမႇင့္တင္ဖို႔
၂) Software ေတြရဲ႕ Limitation ေတြကို ေက်ာ္လႊားႏိုင္ဖို႔
Productivity ကို ျမႇင့္တင္ဖို႔ ဆိုတဲ့ေနရာမွာ အရင္ဆံုး ေန႔ဓဒူဝ လုပ္ေဆာင္ေနတဲ့ ေဆာင္ရြက္ခ်က္ေတြအေပၚမွာ ျပန္လည္သံုးသတ္သင့္တယ္။
ဘယ္အခ်က္ေတြကို သံုးသတ္သင့္သလဲ ဆိုေတာ့ ကိုယ့္ရဲ႕ လုပ္ေဆာင္ခ်က္ေတြထဲမွာ
- ဘယ္ step ေတြကို ထပ္ခါတလဲလဲ လုပ္ေနရလဲ
- ဘယ္ step ေတြဟာ အခ်ိန္ကို waste ျဖစ္ေစသလဲ
- ဘယ္ step ေတြကို ဖယ္လိုက္လို႔ ရသလဲ
- ဘယ္လို process အသစ္ေတြ၊technique ေတြကို သံုးရင္ ပိုၿပီး Productivity ကို ျမႇင့္တင္ႏိုင္မလဲ
...စသည္အားျဖင့္ေပါ့။
Dynamo နဲ႔ Productivity ကို ဘယ္လိုျမႇင့္တင္ႏိုင္မလဲ
အ႐ိုး႐ွင္းဆံုး ဥပမာတခု ျပရမယ္ ဆိုရင္...
Structural Modeler တေယာက္အေနနဲ႔ Project အသစ္တခု စတင္ဖို႔ရာ အရင္ဆံုး
- Archi Model ကို ခ်ိတ္ရပါမယ္။
- Copy/ Monitor သံုးၿပီး Grid နဲ႔ Level ေတြကို ဖန္တီးရပါမယ္။
- Structural Plan View ေတြ ဖန္တီးရပါမယ္။
ဒါက ပထမ အဆင့္အေနနဲ႔ Project အသစ္တိုင္းမွာ လုပ္ေဆာင္ရမွာပါ။ တခ်ိဳ႕ Project ေတြက ေသးေပမယ့္ တခ်ိဳ႕ Project ေတြကေတာ့ ႀကီးေကာင္းႀကီးေနပါ့မယ္။
တကယ္လို႔မ်ားသာ အဲ့ဒီအထက္ကေဖၚျပထားတဲ့ process ထဲက ဒုတိယ နဲ႔ တတိယ step ေတြကို click တခ်က္ထဲနဲ႔ ၿပီးစီးမယ္ ဆိုရင္...က်ေနာ္တို႔ အခ်ိန္ေတြ ဘယ္ေလာက္မ်ား သက္သာသြားမလဲ။
အဲ့ဒီ One Click Process ကို Dynamo ကဖန္တီးေပးႏိုင္တယ္ ဆိုတာပါပဲ။
ဒါကေတာ့ Productivity အပိုင္းအတြက္ ဥပမာေပါ့။
ေနာက္တခုက Software ရဲ႕ Limitation ေတြကို ဘယ္လိုေက်ာ္လႊားၾကမလဲ ဆိုတာေပါ့။
သမုဒၵရာ၌ပင္ အနားသတ္ကမ္းစပ္႐ွိသည္...တဲ့
Sky's the limit တဲ့
အဲ့လိုပဲ အရာရာမွာ Limit ဆိုတာက ႐ွိၾကစျမဲပါပဲ။
ဒါေပမယ့္ တခ်ိဳ႕တခ်ိဳ႕ေသာ ရလဒ္ေတြဟာ သမ႐ိုးက် နည္းေတြနဲ႔ မရႏိုင္ဘူး။ အဲ့ဒီ Limition ေတြကေန ေဖာက္ထြက္ႏိုင္မွ ရႏိုင္တယ္။ (အႀကီးႀကီးေတြ ေလ်ွာက္မေတြးၾကနဲ႔ေနာ္...Revit အေၾကာင္းပဲ ေျပာမွာ 😉)
ဥပမာ Room တခုရဲ႕ Number ကို Room ထဲမွာ ႐ွိေနတဲ့ Element ရဲ႕ Tag မွာ reflect ျဖစ္ေနခ်င္တယ္ ဆိုပါေတာ့။
Revit မွာ ဆိုရင္ Category အလိုက္ Tag ေတြရဲ႕ Parameter ေတြက ကြဲလြဲေနတာ။ Shared Parameter ဆိုတာကလည္း Category ေတြ match ျဖစ္ေနမွသာ တခုနဲ႔ တခု share လို႔ရတာ။
အဲ့ဒါကိုက Revit Software ရဲ႕ Limitation ျဖစ္ေနတယ္။ ကိုယ္ကလည္း အဲ့ Room ေတြထဲက Element ေတြကို
- အဲ့ Room ရဲ႕ Parameter တခုခုနဲ႔ ခ်ိတ္ဆက္ခ်င္ၿပီ
- အဲ့ Room ရဲ႕ Parameter ေျပာင္းတာနဲ႔ အထဲက Element ေတြရဲ႕ Parameter ေတြ Automatic ေျပာင္းေစခ်င္ၿပီ... ဆိုရင္ေတာ့
...
...
...
Dynamo ကိုသာ ဖုန္းဆက္လိုက္ပါ...လို႔...