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

GeoGIS

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

برنامه‌ای برای نمایش نام لایه در خط فرمان

ارسال توسط راستگو در تاریخ ۷ - اردیبهشت - ۱۳۹۳

 

در زیر برنامه‌ای برای نمایش نام لایه عوارض ترسیم شده در یک سند اتودسک(اتوکد، لنددسکتاپ، سیویل تری دی)، قرار داده شده است. به کمک نصب این فایل بسیار کوچک، کاربر می‌تواند با کلیک کردن روی هر عارضه، نام لایه‌ای که آن عارضه در آن ترسیم شده است (در آن لایه قرار دارد) را در خط فرمان مشاهده کند.

دوستانی که نحوه‌ی فراخوانی فایل‌های لیسپ (LISP) را در نرم‌افزار‌های اتودسک نمی‌دانند، برای رفتن به صفحه آموزش فراخوانی فایل‌های لیسپ (LISP) در نرم‌افزار‌های اتودسک اینجا کلیک کنند.

 

برای دستیابی به موارد بالا، ابتدا کدهای زیر را در یک فایل متن (مانند نوتپد “Notpad”، ورد “Word” و …) کپی کرده و در نهایت پسوند فایل را به lsp. تغییر دهید.

دوستانی که تمایل به این کار ندارند می‌توانند فایل لیسپ (LISP) برنامه بالا را از پیوند زیر دریافت نمایند.

برای اجرای این برنامه پس از دریافت و بارگذاری برنامه روی نرم افزار اتودسک خود، کافیست در خط فرمان نام اجرای برنامه که در خط تعریف برنامه (defun) نوشته شده است و اینتر کنند. نامه این برنامه برای اجرا lan است.

نکته : جزوات و اطلاعات این سایت به روز خواهند شد پس در زمان دانلود، به تاریخ انتشار آن توجه فرمایید.

حجم داده : ۲۲/۳ کیلوبایت

تاریخ انتشار : ۹۳/۰۲/۰۶

دانلود : لینک دانلود ۱

  رمز فایل : www.geogis.ir

Processing your request, Please wait....

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

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

مقدمه

 

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

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....

وارد شوید