جمعه ۱۳ آذر ۱۳۹۴

GeoGIS

سایتی در زمینه علوم ژئوماتیک

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

ارسال توسط راستگو در تاریخ ۲۸ - اسفند - ۱۳۹۱
Print Friendly

مقدمه

 

چندی پیش (اردیبهشت۱۳۸۶) به لحاظ نیاز اقدام به مطالعه در زمینه گسترش نرم افزار اتوکدلند نموده و در این بین با زبان برنامه نویسی لیسپ آشنا شدم و با توجه به علاقه کتابچه ای در حدود ۱۴۰ صفحه در مورد برنامه نویسی لیسپ تهیه کردم. حال که تصمیم به نوشتن بخش آموزشی برنامه نویسی را داریم با خود گفتم که شما دوستان را نیز تا حدی از مطالب این کتابچه بهره‌مند کنیم.

Autolisp مخفف کلمات Autocad List Processor می‌باشد. این زبان به دلیل قواعد بسیار ساده دارای فایل‌های کد با حجم بسیار کم بوده و جهت تحقیقات در زمینه هوش مصنوعی در نظر گرفته شده است. برنامه نویسی در نرم افزار های شرکت اتودسک مانند اتوکد (AutoCAD)، اتودسک مپ (Autodesk Map)، سیویل تری دی (Civil 3D)، لند دسکتاپ (Lan Desktop) و دیگر نرم افزارهای این شرکت با این زبان که از طرف این شرکت معرفی شده پیشنهاد می‌گردد. برنامه نویسی در این نرم افزارها نیز همان مزیت­ هایی را دارد که در محیط­های دیگر برنامه نویسی به آنها دست می­یابیم. می­توانید با استفاده از برنامه نویسی خطاهای ناشی از انسان در حل مسئله را حذف و برای حل چندین مسئله مشابه فقط یکبار از وقت و فکر خود استفاده کنید و بعلاوه سرعت انجام کار را به مقدار قابل ملاحظه­ ای افزایش دهید. انجام چنین کاری تنها اختصاص به رشته نقشه برداری ندارد بلکه تمامی رشته‌هایی که به نحوی باید نتیجه کار خود را با نقشه ارائه دهند می­توانند از مزایای آن بهره‌مند شوند.

قدرت برنامه نویسی در اتوکد به سال ۱۹۸۰ بر می­گردد. در اتولیسپ دشواری‌هایی در نوشتن کد و اشکال زدایی وجود داشت که آن را کمی از رونق انداخت. وقتی کاربر می­خواست برنامه­ ای بنویسد باید به وسیله یک ویرایشگر متن همچون EDIT یا Notpad اقدام به نوشتن کد اولیه می‌نمود و در نهایت با برنامه اتوکد آن را بارگذاری می‌نمود. برای رفع اشکال نیز می‌بایستی تغییراتی در برنامه ایجاد می‌کرد تا منبع اشکال را پیدا کند و در نهایت با چندین بار سوئیچ بین اتوکد و ویرایشگر برنامه بدون خطا بدست می‌آمد.

ویژوال لیسپ (Visual Lisp)

 با آمدن ویژوال لیسپ­ همه امکانات برای نوشتن و اشکال زدایی یک برنامه Autolisp به عالی‌ترین وجه تدارک دیده شده بود. ویژوال لیسپ از اتوکد ۲۰۰۰ به بعد در کنار محیط اتوکد قرار گرفت تا همه چیز را برای کاربرانی که به برنامه نویسی در اتوکد نیاز دارند مهیا کند. یک محیط کامل شامل کامپایلر، اشکال زدا و ابزارهای دیگر که برای بهره گیری کامل شما از اتوکد از طریق برنامه نویسی چیزی کم ندارد. علاوه بر مزایای فوق ویژوال لیسپ با اطلاق مکانیزم Activex به زبان اتولیسپ کارایی این زبان را در دستیابی به اجزای مختلف سند ترسیمی اتوکد دو چندان کرده است. Activex تنها به اتولیسپ اختصاص ندارد و چندین برنامه کاربردی (…., Word, Excel) و زبان برنامه نویسی (…., Delphi, VB) نیز از آن پشتیبانی می‌کنند. همین ویژگی است که امکان برقراری ارتباط برنامه Autolisp شما را با محیط‌های کاربردی دیگری نظیر Excel, Word و … فراهم می‌آورد.

مثلاً فرض کنید می‌خواهید به شعاع یک دایره دست یابید با توابع استاندارد Autolisp ابتدا از طریق entget لیست وابسته موجودیت را بدست می‌آورید و سپس با assoc خصوصیت مورد نظر یعنی شعاع دایره را می‌یابند.

 

 در حالی که در روش Activex با یک تابع شعاع دایره بدست می­آید.

 

محیط برنامه نویسی و ویرایش

از سال ۲۰۰۰ به نرم افزار های شرکت اتودسک قسمتی برای نوشتن و ویرایش و اجرای برنامه ها اضافه گردید با امکاناتی بسیار مناسب جهت اشکال زدایی برنامه ها. برای رفتن به این محیط به سربرگ Manage رفته و در قسمت Application بر روی آیکون Visual LISP Editor کلیک کنید مانند شکل زیر

Visual LISP Editor

 

 

 

 

محیط ویرایشگر ویژوال لیسپ دارای قسمت های زیر می باشد.

 

در مورد مکان نشانگر ماوس (Cursor Position) باید به این نکته اشاه کرد که در این قسمت، مکان نشانگر ماوس مشخص می شود. عدد بعد از حرف L نشانگر شماه خطی است که نشانگر ماوس در آن قرار دارد و عدد بعد از حرف C نشانگر شماه کارکتری است که نشانگر ماوس در کنار آن قرار دارد.

از نوار ابزارهای مهم این پنجره می توان به ابزارهای زیر اشاره کرد:

نوار ابزار Standard:

این نوار ابزار شامل ابزارهای زیر می باشد:

  • New
  • Open
  • Save
  • Print
  • Cut
  • Copy
  • Paste
  • Redo
  • Undo
  • Complete Word

نوار ابزار Tools:

این نوار ابزار شامل ابزارهای زیر می باشد:

  • Load File
  • Load Selection
  • Check File
  • Check Selection
  • Format File
  • Format Selection
  • Comment Selection
  • Uncomment Selection
  • Help

نوار ابزار Debog:

این نوار ابزار شامل ابزارهای زیر می باشد:

  • Step Into
  • Step Over
  • Step Out of
  • Continue
  • Stop
  • Quit
  • Toggle Breakpoint
  • Add Watch
  • Apropos
  • Last Break

نوار ابزار Viwe:

این نوار ابزار شامل ابزارهای زیر می باشد:

  • Active AutoCAD (Switch to AutoCAD editor)
  • Select Window
  • Display LISP Console
  • Inspect Object
  • Trace Window
  • Symbol Service
  • Apropos
  • Display Watch Window
Processing your request, Please wait....
برچسب‌ها, , , ,

۵ نظر

  1. ashraf می‌گوید،

    hi thank you for all of things that your THOUGHT

    ارسال شده در تاریخ اردیبهشت ۲۹ام, ۱۳۹۲ در ساعت ۶:۰۸ ب.ظ

  2. راستگو می‌گوید،

    با سلام
    تشکر از شما که خواننده مطالب و دانش جو هستید.

    ارسال شده در تاریخ خرداد ۱ام, ۱۳۹۲ در ساعت ۱۰:۵۹ ب.ظ

  3. mojtaba می‌گوید،

    با سلام

    کلیه مطالب ارائه شده در سایت شما بسیار کاربری و مناسب است ، از شما متشکرم.

    ارسال شده در تاریخ خرداد ۹ام, ۱۳۹۲ در ساعت ۱۰:۱۶ ب.ظ

  4. مهدی حاتمی نیا می‌گوید،

    با سلام ممنونم از مطالب خوب و کاربردی تون حقیقتش من مهندس نقشه بردار هستم در یکی از پروژه های سد سازی مشغول به کارم تصمیم گرفتم اتولیسب رو یاد بگیرم تا با اتوکد بهتر بتونم کار کنم اگه بتونید تو این زمینه کمکم کنید ممنون میشم.

    ارسال شده در تاریخ خرداد ۱۰ام, ۱۳۹۲ در ساعت ۲:۱۸ ب.ظ

  5. راستگو می‌گوید،

    با سلام
    مهندس جان در کدام سد مشغول هستید؟
    انشاا… سعی می کنم دوره ها را ادامه بدهم.
    پیروز باشید

    ارسال شده در تاریخ خرداد ۱۲ام, ۱۳۹۲ در ساعت ۲:۱۵ ب.ظ

نظر شما


وارد شوید