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

مهمترین روشهای برنامهنویسی اتوکد
1. AutoLISP (اتولیسپ)
برای بیشتر کاربران اتوکد بهترین نقطه شروع است. با آن میتوان دستورهای اختصاصی ساخت، چند عملیات را خودکار کرد و روی اشیای نقشه تغییرات گروهی انجام داد.
مثلاً یک دستور ساده:
(defun c:hello ()
(alert "سلام")
)
بعد از بارگذاری فایل، با نوشتن HELLO در خط فرمان، پیام نمایش داده میشود.
2. Script یا اسکریپت
برای اجرای پشتسرهم چند فرمان اتوکد مناسب است. برای کارهای ساده و تکراری، گاهی از برنامهنویسی کامل هم آسانتر است.
3. C# و .NET
برای ساخت افزونهها و ابزارهای حرفهایتر اتوکد استفاده میشود. این مسیر برای پروژههای بزرگ و توسعه نرمافزار مناسبتر است.
با برنامهنویسی اتوکد چه کارهایی میتوان انجام داد؟
- ترسیم خودکار اشکال
- شمارهگذاری خودکار
- ایجاد و مدیریت Layerها
- محاسبه مساحت و طول
- تغییر گروهی مشخصات اشیا
- استخراج اطلاعات نقشه
- ساخت دستور اختصاصی
- تولید نقشههای تکراری
- ارتباط با فایلهای Excel و دادههای خارجی
پیشنیاز یادگیری
قبل از شروع بهتر است با این موارد آشنا باشید:
دستورات اصلی اتوکد → مختصات → Layer → Block → Selection → Properties
سپس برای شروع برنامهنویسی:
AutoLISP پایه → متغیر → شرط → حلقه → تابع → انتخاب اشیا → تغییر مشخصات اشیا → ساخت دستور اختصاصی
بهترین مسیر برای مبتدی
اگر هدف شما اتوماسیون کارهای روزمره اتوکد است، ابتدا AutoLISP را یاد بگیرید. اگر بعداً قصد ساخت افزونههای حرفهای و پیچیده داشتید، میتوانید به سراغ C# و .NET بروید.
خلاصه: برنامهنویسی اتوکد یعنی تبدیل کارهای دستی و تکراری به دستورهای خودکار؛ برای شروع، AutoLISP معمولاً سادهترین و کاربردیترین انتخاب است.

درMicroStation ، فرآیند مشابه است. ویژگی ضبط ماکرو در تب Utilities قرار دارد.
MicroStationبه شما امکان می دهد تا یک اسکریپت ماکرو را برای ویرایش و سفارشی سازی بیشتر به پروژه ویژوال بیسیک مختص اپلیکیشن ها (VBA) ارتقا بدهید.

VBA
مایکروسافت، VBA را در اوایل دهه 1990 برای خودکار سازی وظایف در مایکروسافت آفیس معرفی کرد و بعدا مجوز هایی را برای سایر فروشندگان نرم افزار ارائه کرد تا این محیط برنامه نویسی را در محصولاتش بگنجاند. اتودسک VBAرا در اواخر دهه 1990 وارد اتوکد کرد تا کاربران بتوانند برنامه های رویداد محور، از جمله رابط های گرافیکی کاربر (GUI) ، انشعاب منطقی و دسترسی به مدل شی اتوکد را در محیط اتوکد توسعه بدهند. با استفاده از اتوماسیونActiveX ، برنامه نویسان می توانند برنامه های ویژوال بیسیک مستقل را برای کار با اتوکد و تبادل اطلاعات با سایر محصولاتی مثل مایکروسافت ورد، اکسل و اکسس که VBA دارند، بنویسند.
VBA به مدت چندین سال یک پلتفرم توسعه محبوب باقی ماند، اما مایکروسافت در سال 2007 توزیع مجوز های VBA را متوقف کرد و از فریمورک .NET برای انعطاف بیشتر در توسعه ، استقرار و خدمات وب استفاده کرد. اتودسک، VBA را از رابط استاندارد در اتوکد 2010 حذف کرد، اما بعدا آن را بازیابی کرد. با این اوصاف VBA هنوز به راحتی در داخل اتوکد در دسترس است.
بِنتلی VBA را با نسل MicroStation V8i معرفی کرد و هم چنان آن را در محصولات CONNECT Edition بنتلی اش قرار داده است. مشابه سایر محیط های VBA ، MicroStation VBA دسترسی به عملکرد Microsoft VBA و کتابخانه Object Model MicroStation VBA را فراهم کرده است.
.NET
از آن جایی که VBA آینده نا مشخصی دارد، Visual Studio.NET به دلیل سازگاری و برخورداری از مجموعه ویژگی های قوی تر، در بین توسعه دهندگان حرفه ای اتوکد محبوبیت پیدا کرده است. .NET به عنوان یک محیط برنامه نویسی شی گرای واقعی که توسعه را با چندین زبان مثل VB و C# امکان پذیر می کند، قدرت بیشتر اما منحنی یادگیری تند تری دارد. به جای کار در محیط اتوکد، برنامه ها به صورت خارجی در محیط .NET توسعه یافته اند.
برای مدیریت تنظیمات سیستم .NET، به مهارت برنامه نویسی و استفاده از مراجع و منابع دیگر نیاز است، اما وقتی اصول اولیه را درک کردید، پتانسیل توسعه برنامه های کاربردی حرفه ای بیشتر می شود. محصول کامل Visual Studio.NET پولی است، اما کاربران می توانند نسخه Visual Studio Community مایکروسافت را به صورت رایگان دانلود کنند و از بسیاری از عملکرد های مورد نیاز برنامه نویسان اتوکد برخوردار شوند. در حقیقت محیط .NET یک گزینه مناسب برای برنامه نویسان AutoCAD و MicroStation باقی خواهد ماند.
امکانات خاص
هر دو پلتفرم اتودسک و بنتلی علاوه بر گزینه های مشترک، گزینه های اختصاصی هم دارند. AutoLISP مبتنی بر زبان LISP و مورد علاقه برنامه نویسان قدیمی اتوکد است . AutoLISP به خاطر سینتکس رمزی اش که به شدت بر پرانتز ها تکیه دارد، در ابتدا شاید برنامه نویسان تازه کار را گیج کند، اما تعامل خوبی با اتوکد فراهم می کند. برای سهولت استفاده ازAutoLISP ، Autodesk Visual LISP (VLISP) را معرفی کرد که یک محیط برنامه نویسی (IDE) شبیه به VBA را همراه با یک کامپایلر، دیباگر و ابزار های دیگر ارائه می کند.
برای برنامه نویسان پیشرفته تر اتوکد، ObjectARX (افزونه زمان اجرای خودکار) یک محیط به زبان کامپایل شده را فراهم می کند که به شما امکان می دهد تا پروژه ها را در همان فضای آدرس اتوکد بارگیری و اجرا کنید. ObjectARX معمولا توسط توسعه دهندگان شخص ثالث استفاده می شود که افزونه های اتوکد تجاری را ایجاد می کنند و به دانش زبان های برنامه نویسی C یا C++ نیاز دارد. فایل های ObjectARX یکی از چندین نوع فایل موجود در پنجره Load/Unload Applications در اتوکد هستند.

کتابخانه های توسعه میکرواستیشن بنتلی (MDL) دست برنامه نویسان متوسط و پیشرفته را بازتر می گذارد. رابط های برنامه نویسی کاربردی (API) در هر دو محیط بومی ( C++و C) و مدیریت شده (.NET) موجود هستند و دسترسی به مدل شی MicroStation و داده های طراحی DGN را فراهم می کنند. بسیاری از بخش های MicroStation استاندارد با استفاده از MDL توسعه یافته اند.
حتما دانلود کنید: آموزش صفر تا صد اتوکد
MicroStation می تواند چندین برنامه MDL را به طور هم زمان مدیریت کند. برخی از برنامه های MDL زیر منوهای شان را در منوی برنامه ها در نوار منوی اصلی MicroStation قرار می دهند و کلید های خاص خودشان را دارند.

پایتون و سایر زبان ها
تعداد کم، اما رو به افزایشی از برنامه نویسان اتوکد به زبان های برنامه نویسی منبع باز که عموما برای دانلود و استفاده در توسعه برنامه رایگان هستند، روی آورده اند. مثلا زبان پایتون، یک پلتفرم منبع باز است که تفسیر شده و نیازی به کامپایل ندارد. این ویژگی امکان آزمایش و تست تعاملی تر برنامه ها را فراهم می کند. ساختار داده ای پایتون سطح بالاست و رویکرد برنامه نویسی شی گرا دارد و می تواند به عنوان یک زبان دیگر برای برنامه های کاربردی مثل AutoCAD و MicroStation مورد استفاده قرار گیرد.
اتصال به اتوکد و میکرواستیشن برای مستند سازی تا حدودی به پایتون متکی است. به دلیل ماهیت منبع باز بودن این زبان، بهترین منابع آن وب سایت های عمومی و گروه های کاربران هستند.PyPI یا ابزار مدیریت پکیج پایتون یک مخزن نرم افزار برای زبان برنامه نویسی پایتون است و شامل یک سایت pyautocad مخصوص اتوکد است که اطلاعات خاصی در مورد نوشتن اسکریپت های اتوماسیون ActiveX با پایتون ارائه می دهد.
حتما دانلود کنید: آموزش صفر تا صد پایتون با 20 درس
از سوی دیگر در بنتلی، پوسته های توسعه دهنده متمایز پایتون برای برنامه های عمودی خاص در دسترس هستند. مثلا، کیت های توسعه نرم افزار مبتنی بر پایتون (SDK) برایLumenRT ، نرم افزار تصویر سازی و مدل سازی واقعیت بنتلی، وPLAXIS ، یک محصول تحلیل ژئو تکنیکی در دسترس هستند. برای اطلاعات بیشتر، انجمن های کاربر تجسم و تحلیل ژئوتکنیکی بنتلی را بررسی کنید.
Dynamo یکی دیگر از زبان های جایگزین منبع باز برای برنامه نویسان اتوکد است که یک محیط برنامه نویسی بصری دارد و خیلی کدنویسی نمی خواهد. این زبان که به عنوان یک محصول مستقل کار می کند، موتور اجرایی خاص خودش را دارد و می تواند از طریق اتصال دهنده ها به محصولات دیگر دسترسی داشته باشد. در سال 2015، Autodesk محصول همراهش، Dynamo Studio را برای کمک به توسعه دهندگان معرفی کرد، اما اخیرا اعلام کرد که قصد دارد آن را متوقف کند، زیرا قابلیت های Dynamo روی چندین محصول دیگر از جمله Revit و Civil 3D هم پیاده سازی شده است. فناوری هسته Dynamo به صورت دانلود رایگان از طریق Dynamo Sandbox در دسترس است.

TypeScriptزیر مجموعه جاوا اسکریپت مایکروسافت است که به عنوان ابزاری برای توسعه کد های پورتابل با استفاده از ویژگی های زبان سطح بالا توجه زیادی را به خودش جلب کرده است. تایپ اسکریپت قابلیت های بررسی خطا را به جاوا اسکریپت که به عنوان یک زبان برنامه نویسی ساده برای مرورگر های وب ایجاد شده است، اضافه می کند. iTwin.jsبنتلی ، مجموعه ای جامع از APIها برای کار با مدل های دوقلوی دیجیتال، با زبان TypeScript نوشته شده است.
یادگیری هر زبان برنامه نویسی رایگان دراینجا
React ابزار منبع باز مبتنی بر جاوا اسکریپت است که کتابخانه ای برای ساخت رابط های کاربری در اختیارتان قرار می دهد. در حقیقت ری اکت که توسط فیسبوک و جامعه ای از توسعه دهندگان حمایت می شود، می تواند در توسعه برنامه های کاربردی تک صفحه ای یا تلفن همراه استفاده شود، اما لازم است کتابخانه های بیشتری برای عملکرد سمت کلاینت و اتصال به نرم افزار اتوکد داشته باشد .
