Wednesday, August 19, 2009

autoLisp command macro.....!

တကယ္ေတာ့ auto CAD drafting, modeling ပိုင္းမွာ professional တေယာက္ခ်င္းစီဟာ command ေတြကိုသိတာျခင္း အသံုးခ်ႏိုင္တာျခင္းအရမ္းၾကီးမကြာၾကပါ၀ူး ဒါေပမယ့္ macro သံုးေလ့ရိွတဲ့ user ကေတာ့ပံုမွန္ထက္ လြယ္ကူ လ်င္ျမန္စြာ drawing ေတြကို ျပီးစီးေလ့ရိွပါတယ္... ဘာေၾကာင့္လည္းဆိုေတာ့ auto CAD ကိုသံုးျပီး drawing တခုဆြဲေနတုန္းမွာ command line ကေန command ေတြကို အၾကိမ္ၾကိမ္ ရိုက္ႏိွပ္အသံုးခ်ရေလ့ရိွပါတယ္.... တခ်ိဳ့ တခ်ို့ ေသာ မိမိသံုးေနၾက command ေတြဟာ မလိုအပ္ပဲအခ်ိန္ေတြပိုေပးေနရတာမ်ိဳးကို သတိထားမိခ်င္မွထားမိပါလိမ့္မယ္... ေသခ်ာပါတယ္ အဲ့ဒိလိုကိစၥမ်ိဳးရိွေနတာ... တကယ္ေတာ့ခ်န္းခ်န္းက အင္မတန္ညံ့ပါတယ္... ထံုလိုက္တာလည္း လြန္ပါေရာလို့ ခနခန အေျပာခံထိတဲ့သူေတြထဲမွာ ခ်န္းခ်န္းလည္းတေယာက္အပါအ၀င္ေပါ့..(နဲနဲၾကြားထားတာ အထင္ၾကီးေအာင္...ဟိဟိ)
ဒါေပမယ့္ သူသူငါငါ ပံုေတြဆြဲရရင္ေတာ့ ခ်န္းခ်န္းက ျမန္ျမန္ျပီးေလ့ရိွပါတယ္.... (လက္ေတြ့အင္တာဗ်ဴးေျဖတဲ့ အခ်ိန္ေတြဆို ခ်န္းခ်န္းတို့ေပ်ာ္တာေပါ့)
ပံုတပံုအတြက္ mi .. enter ဆိုတဲ့ command ကို အၾကိမ္ ၃၀ အသံုးျပဳရတယ္ဆိုပါေတာ့..
အဲ့ဒိ mi အစား mm ... enter ပဲႏိွပ္ရမယ္ဆိုရင္ အခ်ိန္ စကၠန့္၀က္ေလာက္ေျခြတာျဖစ္ႏိုင္ပါတယ္...တခ်က္ခ်င္းအတြက္မသိသာလွေပမယ့္ စကၠန့္၀က္ေတြေပါင္းမ်ားလာတဲ့အခါ နာရီေတြ ရက္ေတြျဖစ္လာပါတယ္... အဲ့ဒိ mi ကို mm အျဖစ္ေျပာင္းတာမ်ိဳးက ရိုးရွင္းပါတယ္...

auto CAD ရဲ့ visual lisp editor ကေန file အသစ္ေတာင္းျပီး ေအာက္က code ေလးေတြကို ( ctrl+c.... ctrl+v...Cheesy) ကူးေရးပါ...

(defun c:mm () (command ".mirror") (princ))

အဲ့ဒါရဲ့ အဓပၼါယ္ကေတာ့
( program တခုစမယ္...
mm ဆိုတဲ့ function name ကို auto CAD command တခုအျဖစ္သတ္မွတ္ပါတယ္... defun c:mm ()
mirror ဆိုတဲ့ command ကို ေခၚေပးထား (command ".mirror") တကယ္လို့ တစံုတေယာက္က Undefine လုပ္ထားရင္လည္း mirror ကို ေခၚရမယ္.. ( စြတ္ပဲ....)
(princ) အပို return ေတြ မျမင္ရဖို့ပါ...
) ဒါပဲ....

program တခုရဲ့ ဖြဲစည္းပံု အျပည့္အစံုပါပါတယ္....
(defun c:function_name (/)
(do something)
)

ခင္မင္ေလးစားလ်က္...
ခ်န္းခ်န္း

No comments:

Post a Comment