«ساخت دگمه های ماکرو»
------------------------------------------------------------
------------------------------------------------------------
یکی از مهمترین وظایف ما ساخت اسکریپت و ماکرو برای
کارهای تکراری هست. اگر این کار رو بلد نباشید باید وقت زیادی برای انجام
کارهای تکراری صرف کنید. برای نوشتن برنامه هایی جانبی برای کارهای اتوکد
راه های زیادی وجود داره. ماکروها - ویژوآل لیسپ - اسکریپت و ماکرو آیکون.
من این آخری رو خیلی دوست دارم. چون در سریعترین زمان به هدف خودتون
میرسید. اگر میخواهید کارهاتون و زحمتهاتون رو محرمانه پیش خودتون نگه
دارید از لیسپ استفاده کنید و روی کارهاتون هم پسورد بزارید ولی به شما
بگم که پیدا کردن پسورد یک ویژوآل لیسپ از ترسیم یک خط در اتوکد هم
آسونتره !
یک مثال ساده بزنم. فرض کنید شما همیشه در انتهای کار
ترسیم لایه جاری و رنگ جاری رو به 0 و سبک متن/ سبک خطوط و ضخامت رو به BY
LAYER تغییر میدهید سپس از دستور Purge برای حذف بلوکها و لایه ها و
سبکهای متن و ... که در نقشه از اونها استفاده نشده استفاده میکنید تا
علاوه بر پاکسازی نقشه حجم فایل نهایی هم به کمترین مقدار خودش برسه شاید
چند کار دیگه هم بکنید که من بی خبرم! سر آخر ترسیم رو ذخیره میکنید. حالا
میخواهید تمام این کارها با یک کلیک انجام بشه ؟ پس با ما همراه باشید
برای ساخت ماکرو آیکون ها باید به اصول استفاده از پنجره فرمان اتوکد مسلط باشید. اگر نیستید نگران نباشید. دستورهای لازم رو من همینجا میگم.
بذارید اول نتیجه نهایی برای فقط دستور Purge All رو ببینیم !
برای ساخت ماکرو آیکون ها باید به اصول استفاده از پنجره فرمان اتوکد مسلط باشید. اگر نیستید نگران نباشید. دستورهای لازم رو من همینجا میگم.
بذارید اول نتیجه نهایی برای فقط دستور Purge All رو ببینیم !
کد:
^C^C-purge;ALL;;N
یک بار کلید Enter رو میزنیم تا دستور اجرا بشه. چه تفاوتی بین Purge معمولی و این دستور میبینید؟ درسته دیگه پنجره معروف Purge باز نشد ! بلکه تمام اجزای اون پنجره به شکل دیگری در خط فرمان ظاهر شد. چندین گزینه در اختیار ما هست :
[Blocks/Dimstyles/LAyers/LTypes/Plotstyles/SHapes/textSTyles/Mlinestyles/Tablest
yles/Regapps/All]
برای انتخاب هر کدوم از اینها کافیه اون فرمان رو تایپ کنیم و یا اینکه مخفف اون (حروفی که بزرگتر نوشته شده) رو تایپ کنیم. ما اینجا ALL رو تایپ میکنیم. بعد دگمه Enter رو میزنیم. پیغام زیر ظاهر میشه :
Enter name(s) to purge <*>:
یعنی نام شی رو برای purge کردن انتخاب کنید و یا اینکه با زدن دگمه * تمام نامها رو انتخاب کنید. همیشه یادتون باشه انتخاب فعال نیازی به انتخاب مجدد نداره پس ما اینجا فقط دگمه Enter رو برای تایید * میزنیم.
پیغام بعدی اینه :
Verify each name to be purged? [Yes/No]
معنیش اینه که برای تایید purge کردن هر آیتم از ما تاییدیه بخواهد و یا نخواهد. به طور پیش فرض این گزینه روی Yes هست تا هیچ آیتمی اشتباهی purge نشود. ولی ما اینجا مطمئن هستیم که میخواهیم تمام آیتم ها رو purge کنیم پس N رو تایپ میکنیم و بعد Enter رو میزنیم. عملیات Purge All اجرا میشه.
خوب حتما خیلی چیزها دستگیرتون شده. چند تا قانون ساده هست ! که باید یاد بگیرید:
- ^C^C عبارت قراردادی هست که معنی اون کنسل کردن تمامی دستورات در حال اجرا هست. این عبارت رو در ابتدای هر کار خودتون بذارید.
- علامت منفی (-) قبل از دستور اون دستور رو به معادل اون در خط فرمان و بدون باز شدن پنجره فرمان ترجمه میکنه.
- کاراکتر / : این علامت باعث میشه موقتا دستورات از حالت اتوماتیک خارج بشه و عمل بعدی توسط کاربر صورت بگیره و بعد دوباره عملیات به حالت اتوماتیک برمیگرده.
- کاراکتر ; : این کاراکتر معنی زدن دگمه Enter رو داره.
- کاراکتر فضای خالی (space) : به معنی زدن دگمه SPACEBAR هست.
حالا برگردیم سراغ Purge All خودمون ! ببینیم به ترتیب چه کارهایی کردیم :
- دستور -PURGE تایپ شد و دگمه Enter زده شد. (ماکرو = -purge؛)
- All تایپ شد و دگمه Enter زده شد. (ماکرو = All؛)
- دگمه Enter زده شد. (ماکرو=؛)
- N تایپ شد و دگمه Enter زده شد. (ماکرو= N؛)
^C^C-purge;ALL;;N
توجه کنید که خیلی اوقات زدن دگمه SPACEBAR همون معنی دگمه Enter رو میده پس در اینجا هم میتونیم بجای فضای فضای خالی از علامت سمی کالن استفاده کنیم و برعکس. و مشکلی ایجاد نمیشه.
به همین راحتی دستور ما آماده شد. حالا که دستور ماکرو رو پیدا کردیم چطور از اون استفاده کنیم ؟؟؟
بریم تا یک دگمه برای استفاده از این دستور جدید خودمون بسازیم. برای این کار چند راه هست. در اتوکد های 2005 به پایین ساخت آیکونها ساده تر هست ولی در اتوکد 2006 به بعد ساخت منوها و سفارشی کردن اونها کمی پیچیده تر و سخت تر شده. مخصوصا اگر بخواهید این کار رو در چندین کامپیوتر انجام بدید. برای همین من همیشه از Palettes در اتوکد استفاده میکنم. ولی فقط یک بار ساخت ماکرو آیکون رو در خود منو میگم ولی از این به بعد سعی کنید از Palettes استفاده کنید.
پنجره سفارشی کردن محیط اتوکد رو باز کنید ( Tools-Customize-Interface) بجای این کار عبارت cui رو در خط فرمان تایپ کنید Enter بزنید. بقیه کارها رو در این عکس به راحتی مشاهده میکنید.
| این تصویر کوچک شده است، جهت مشاهده تصویر در اندازه واقعی که 725x710. می باشد، اینجا کلیک کنید. |

روش ساخت دگمه های ماکرو در Palettes:
اگر Palettes ها رو الان نمی بینید از میانبر Ctrl + 3 استفاده کنید. حالا Palettes های استاندارد اتوکد رو میبینید. بذارید یک پلت سفارشی برای خودمون بسازیم. در یکی از فضاهای خالی روی پلت کلیک سمت راست کرده و گزینه Customize رو انتخاب کنید. در پنجره ای که باز میشه قسمت سمت راست کلیک سمت راست کرده و گزینه New Group رو انتخاب کنید و یک نام برای خودتون انتخاب کنید. من اینجا Sample رو انتخاب کردم. این نام گروه پلتهای سفارشی شما خواهد بود. از منو سمت چپ پلت : Command Tools رو انتخاب کنید و با روش Drag and Drop اونو به این گروه جدید بندازید. حالا روی گروه (Sample) کلیک سمت راست کنید و گزینه Set Currant رو انتخاب کنید و دگمه Close رو بزنید.
حالا صفحه پلتهای شما تغییر کرد و آیتمهای جدیدی دارید میبینید. برای ساخت یک ماکرو بهترین راه کپی کردن یکی از دگمه های موجود و ویرایش اون هست! مثلا اینجا شما روی دگمه VisualLisp Expression کلیک سمت راست کنید و گزینه Copy رو انتخاب کنید بعد توی همین پلت (و یا یک پلت دیگه که ساختید) کلیک سمت راست و گزینه Paste رو بزنید.
حالا روی این دگمه جدید کلیک سمت راست کرده و گزینه Properties رو انتخاب کنید. در صفحهای که باز میشه میتوانید دستورات ماکرو خودتون رو بنویسید. در قسمت Image میتونید یک آیکون برای دستور خودتون اختصاص بدید که در زیبا کردن محیط اتوکد شما و راحتی بسیار موثره. همینطور خیلی امکانات دیگه که بعدا توضیح میدم.

حالا چرا Palettes ها ارجحیت خاصی نسبت به منوها دارند؟ این چیزی هست که در آینده بهش میپردازیم...
همونطور که در تصاویر میبینید میتونید نامهای فارسی برای دگمه ها و منوها و ... در اتوکد انتخاب کنید. اگر نمیتونید حتما ویندوز خودتون رو فارسی نکردید. در کنترل پنل : Regional and Language Options در برگه Advance گزینه Farsi رو انتخاب کنید. ممکنه به CD ویندوز تون نیاز باشه و حتما باید ویندوز رو Restart کنید.
این یک مثال ساده بود. در مورد purge کردن باید توضیح بدم که حتما خودتون تجربه کردید که عمل purge باید چندین بار اجرا بشه تا تمامی اضافات پاک بشوند و با یک بار purge کردن کار تموم نمیشه. دلیل اون هم بخاطر ساخت بلوکهای تو در تو و یا وجود برخی اشیا زاید در لایه های زاید هست. و ...
حالا این یک دستور ماکرو کامل برای اتمام عملیات انتهایی ترسیم که عملیات purge رو هم به طور 100% تضمین شده انجام میده. کسانی که به طور حرفه ای با اتوکد کار کردند اینجا میفهمند که چندین عملیات مفید به راحتی و با یک کلیک انجام شد. خیلی جالبه نه؟ سعی کنید اپراتور نباشید و اینجا سعی کنید دستور ماکرویی که من نوشتم رو کمی موشکافی کنید. حتما چیزهای جالبی توش کشف میکنید. و معلومات خودتون رو افزایش میدید. اگر ماکرو هایی جالب به ذهنتون رسید اون رو به ما هم یاد بدید.
کد:
^C^C-purge;ALL;;N ^C^C-purge;ALL;;N ^C^C-purge;ALL;;N ^C^C_Zoom;E ^C^C-COLOR;bylayer ^C^C_qsave;^C^C_Close
- در دستور بالا 3 بار عمل Purge All برای اطمینان از حذف تمامی زواید نقشه انجام میشه
- ترسیم در حالت زوم روی تمام ترسیم قرار میگیره
- لایه جاری در حالت 0 قرار میگیره
- رنگ و سبک های متن و ... در حالت By Layer و نهایتا ترسیم با نام قبلی ذخیره و بسته میشه. (اگر قبلا ذخیره نشده باشه از شما میخواد که یک نام براش انتخاب کنید و یا اصلا ذخیره نکنید)
+ نوشته شده در سه شنبه چهارم فروردین ۱۳۸۸ ساعت 8:59 توسط سپهر
|