برنامه نویسی در اتوکد با اتولیسپ شناخته می شود اما مشکلات برنامه نویسی در این زبان کم نیست. کم بودن دستورات کمکی ، ساختار پیچیده و از همه مهمتر شی گرا نبودن این زبان خیلی سریع باعث سردرگمی و کلافه شدن برنامه نویسان علاقمند میشود. برنامه های کوچک بسیار بهتر است با اتولیسپ نوشته شوند اما در جایی که برنامه نویسی یک مسئله ی جدی است و کد شما از چند ده خط فراتر میرود مدیریت کدهای نوشته شده با اتولیسپ سخت و سرسام آور می شود.
در اینجا دو راه حل پیش روی برنامه نویسان اتولیسپ قرار دارد. یا از VLisp و محیط برنامه نویسی ActiveX آن بهره برداری کنند یا به سراغ اصل جنس که برنامه نویسی VBA هست بروند.
ابزار ActiveX چیست ؟
این تکنولوژی سالهای قبل وارد ویندوز شد. هدف از آن ایجاد ارتباطی بین کارکردهای یک برنامه و کابران علاقمند بود بدون آنکه از رابط کاربری موجود استفاده کنند. مثلا شما می توانید از طریق ActiveX در اتوکد بدون آنکه اتوکد را باز کنید و فقط از طریق برنامه نویسی یک نقشه ی جدید ایجاد کرده ، درون آن هر شکل هندسی ، یا لایه و یا هر چیز دیگری اضافه کرده و در نهایت حاصل کار خود را ذخیره کنید. در هیچ مرحله ای نیاز نیست محیط اتوکد یا منوهای آن را مشاهده کنید.
این تکنولوژی خیلی سریع همه گیر شد و میان برنامه نویسان و کاربران علاقمند طرفداران زیادی پیدا کرد. در بسیاری از نرم افزارها مانند مجموعه ی MS-Office و SolidWorks و حتی CATIA چنین ابزاری طراحی شده و مورد استفاده قرار می گیرد.
مهمترین کاربرد این تکنولوژی اتوماسیون کارهای تکراری و به علاوه افزودن ابزار و قابلیتهایی است که در نسخه ی استاندارد پیش بینی نشده است. احتمالا همان چیزی که شما را به برنامه نویسی در اتولیسپ اتوکد علاقمند کرده می تواند دلیلی باشد به سراغ برنامه نویسی در VBA هم کشیده شوید.
با وجود اینکه در اتولیسپ امکان کار با ActiveX وجود دارد اما ابزار VBA در اتوکد کار با این اشیا را بسیار ساده می کند. حتی اگر شما میخواهید فقط از اتولیسپ استاندارد برای پیشبرد اهداف خود استفاده کنید در بسیاری موارد طی کردن مسیر از طریق ActiveX بسیار ساده تر و سریعتر از روش استاندارد جواب می دهد. در دوره ی پیشرفته ی برنامه نویسی در اتولیسپ حتما به نمونه های آن در این وبلاگ اشاره خواهد شد.
دلیل دیگری که ممکن است بخواهید از ActiveX استفاده کنید سرعت بسیار بیشتر آن است. گرچه در مقایسه با سایر تکنیکها همچنان سریعترین روش برنامه نویسی در اتوکد نیست اما بدون شک از اتولیسپ استاندارد بسیار بهتر و سریعتر عمل می کند.
در مورد VBA باید به خاطر داشته باشید به دلیل عدم حمایت مایکروسافت از این زبان در پردازنده های 64 بیتی ممکن است در نسخه های آینده ی اتوکد از آن پشتیبانی نشود. گرچه این مسئله از سال 2010 به کاربران اتوکد مدام گوشزد میشود اما در نسخه ی 2014 هم امکان برنامه نویسی در VBA وجود دارد. ولی شما باید محیط برنامه نویسی VBA را به صورت مجزا از سایت Autodesk دانلود کنید. (در ایران با توجه به تحریم ها این کار فقط از طریق VPN یا روش های دیگر ممکن است)
برنامه ی نمونه ترسیم دایره با VBA در اتوکد :
Sub DrawCircle()
Dim center(2) As Double
center(0) = 10
center(1) = 15
center(2) = 0
Radius = 25
Set myCircle = ActiveDocument.ModelSpace.AddCircle(center, Radius)
ZoomExtents
End Sub