برنامه نویسی تخصصی

GIS, Autocad, Access, Excel

آموزش اتولیسپ – قسمت سوم


  اسفند ۲۰, ۱۳۹۵   /     /   اتولیسپ,برنامه نویسی اتوکد
autolisp

آموزش اتولیسپ (برنامه نویسی اتوکد) -جلسه سوم

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

آموزش اتولیسپ

 

مشاهده میکنید که پنج رنگ مشکی، صورتی، سبز، آبی، قرمز وجود دارد. مفهوم رنگ ها :

آبی : دستورات  با رنگ آبی دستورات اتولیبسپ می باشد مانند setq که به یک متغیر مقدار میدهد یا command  که قبلا باهاش کار کرده بودیم. از جلسات آینده با دستورات آبی بیشتر کار خواهیم کرد.

قرمز : پرانتزها در اتولیسپ به رنگ قرمز می باشند.

صورتی : تسکت ها (text) در اتولیبسپ به رنگ صورتی هستند و داخل دو تا کوتیشن ” ” قرار داده می شودند و معمولا دستورات خود اتوکد هستند مثل Move یا Text که در عکس مشاهده می کنید.

مشکی : متغیر ها هستند.(متغیر مفهومی هست که به آن مقداری توسط کاربر یا برنامه نویس داده می شود) ، مثلا vport در عکس یک متغیر است که یک مقدار را با دستورات اتوکد به اون اختصاص دادیم.

سبز : اعداد هم در ویژوال لیسپ به رنگ سبز هستند.

  • کدهایی که در سایت قرار داده می شوند از این قواعد پیروی نمی کنند، فقط برای زیبایی فونت ها رنگی کرده ام.

 

توابع اخطار یا پیام

دستور Prompt

این دستور اتولیسپ یک متن را در Command Line به کاربر نمایش می دهد. دستور b1 زیر را در ویژوال لیسپ اجرا کنید :

(defun c:b1 ()
(prompt "Hello World")
)

 

دستور Alert

این دستور اتولیسپ یک متن را به صورت پیغام یا همان msgbox زبان vb در یک پنجره نمایش می دهد.

کد زیر را در ویژوال لیسپ اجرا کنید :

(defun c:b2 ()
(alert "Hello World")
)

 

 

 

تفاوت Prompt و Alert

  • اگر کد ها را اجرا کرده باشید مشاهده میکنید که تابع Prompt و Alert هر دو برای نمایش پیغام به کاربر به کار میروند اما تفاوت آنها در این است که Prompt در Command Line پیغام میدهد اما Alert به صورت یک پنجره نمایش میدهد.

 

دستور Print

این دستور همانند دستور Prompt یک متن را به کاربر در Command Line نمایش میدهد.

(defun c:b3 ()
(print "Hello World")
)

 

 

دستور  Princ

این دستور همانند دستور Print یک پیغام را در command Line  به کاربر نمایش میدهد اما با این تفاوت که خروجی نمایش دستور Print داخل “” می باشد اما Princ به صورت خالی برگشت میدهد و علاوه بر این دستور Princ  محتویات یک متغیر را نیز میتواند نشان بدهد.

(defun c:b4 ()
(princ "Hello World")
)

 

اگر دقت کرده باشید در دستور های Prompt و Print و Princ متن را وارد شده را دوبار وارد میکند برای رفع این مشکل بعد از این دستور ها یک Princ یا Print خالی را وارد میکنیم.

مثل زیر :

(defun c:b5 ()
(princ "Hello World")
(Princ)
)

یا در ادامه Prompt اگر Print یا Princ خالی بزنیم nil از آخر برگشتی حذف میشود.





این مطلب را در شبکه های اجتماعی به اشتراک بگذارید

فیس نما   فیس نما   فیس نما   فیس نما   فیس نما   فیس نما   فیس نما   کلوب   فیس نما  

2 دیدگاه برای "آموزش اتولیسپ – قسمت سوم"


مصطفی کیانفرد گفت:

سلام
خسته نباشید و ممنون بابت سایت خوبتون
آموزش اتولیسپ قسمت های اول تا سوم دیدم
ی سوال از خدمتتون داشتم
ی خروجی از ی نرم افزار دارم که پسوندش dxf هست میخوام با اتولیسپ یک سری خطوط و منحنی ها رو پاک کنم
مشکل اینجاست که در خروجی این نرم افزار همه خطوط و منحنی ها (چه آنهایی که میخوایم حذف بشن و چه آنهایی که میخوایم بمونن) در یک لایه و به یک رنگ هستن
ممنون میشم راهنمایی کنید

بهمن جعفری گفت:

سلام. خواهش میکنم. خب باید یک نوع تفاوتی پیدا کنید مثلا در Linetype یا در LineWeight ، که بشه براش برنامه نوشت یا با Quick select پاکش کرد. ببینید برنامه نویسی راه جدیدی پیدا نمیکنه که، فقط دستورات طولانی رو خلاصه تر میکنه، اگر راه دستی برای هر کاری در اتوکد بتوانید پیدا کنید میشه با برنامه نویسی اتوماتیک کرد. موفق باشید.

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

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *