کتابخانه رایگان .NET CAD برای ایجاد و مدیریت مدلهای دوبعدی/سهبعدی اتوکد
یک کتابخانه CAD متنباز پیشرو به زبان C#.NET برای ایجاد، ویرایش، دستکاری و مدیریت مدلهای دوبعدی/سهبعدی، دستورات سفارشی، خودکارسازی وظایف تکراری از طریق API رایگان C#.
AutoCadCodePack چیست؟
اتوکد یکی از پرکاربردترین نرمافزارهای طراحی به کمک کامپیوتر (CAD) در جهان است. این نرمافزار به دلیل تطبیقپذیری و تواناییاش در ایجاد طرحهای دقیق دوبعدی و سهبعدی شناخته شده است. با این حال، خودکارسازی وظایف یا گسترش قابلیتهای اتوکد اغلب نیاز به برنامهنویسی دارد که میتواند برای توسعهدهندگان چالشبرانگیز باشد. AutoCAD Code Pack یک کتابخانه متنباز است که برای سادهسازی توسعه افزونههای اتوکد با استفاده از AutoCAD .NET API طراحی شده است. با کپسولهسازی مجدد کلاسهای پیچیده و قدیمی در ماژولها و توابع استاتیک کاربرپسند، ویژگیهای مدرن C# مانند LINQ و عبارات لامبدا را به توسعه اتوکد معرفی میکند و به طور بالقوه طول کد را بیش از نصف کاهش میدهد.
AutoCADCodePack یک تغییر دهنده بازی برای توسعهدهندگان AutoCAD .NET است که توسعه افزونه را در دسترستر و کارآمدتر میکند. بخشهای مهم و متنوعی از این کتابخانه وجود دارد، مانند طراحی ماژولهای جدید، ایجاد موجودیتهای درون حافظه، اضافه کردن حاشیهنویسی به طراحیها، دستکاری پایگاه داده DWG، مدیریت تعاملات کاربر در اتوکد، پشتیبانی از توابع کمکی ریاضی، پردازش در چندین سند و موارد دیگر. این کتابخانه وظایف تکراری را حذف میکند و به کاربران اجازه میدهد تا روی منطق برنامه خود تمرکز کنند. با سادهسازی API .NET و ارائه توابع کاربردی برای کارهای رایج، توسعهدهندگان را قادر میسازد تا افزونهها و برنامههای قدرتمندی را به راحتی ایجاد کنند. API بصری، ویژگیهای قوی و سهولت استفاده، آن را به ابزاری ارزشمند برای خودکارسازی وظایف، ایجاد دستورات سفارشی و مدیریت طراحیهای پیچیده تبدیل میکند.
شروع کار با AutoCAD CodePack
روش پیشنهادی برای نصب کتابخانه AutoCAD CodePack استفاده از GitHub است. لطفاً برای نصب روان از دستور زیر استفاده کنید.
کپی کردن مخزن AutoCADCodePack در گیتهاب
git clone https://github.com/luanshixia/AutoCADCodePack.git
همچنین میتوانید آن را به صورت دستی نصب کنید؛ آخرین فایلهای منتشر شده را مستقیماً از مخزن GitHub دانلود کنید.
ایجاد یک افزونه پایه اتوکد
کتابخانه متنباز AutoCADCodePack منبعی ارزشمند برای توسعهدهندگانی است که به دنبال گسترش قابلیتهای اتوکد هستند. این کتابخانه به توسعهدهندگان امکان میدهد افزونهها و برنامههای قدرتمندی را به راحتی ایجاد کنند. افزونههای اتوکد معمولاً با استفاده از روشهای دستوری توسعه داده میشوند که دستورات سفارشی را برای اتوکد تعریف میکنند. در زیر یک مثال ساده از یک دستور اتوکد آورده شده است که با استفاده از AutoCADCodePack یک دایره در مکان مشخص شده توسط کاربر رسم میکند.
چگونه با استفاده از کتابخانه C#.NET یک دستور دایرهای ایجاد کنیم؟
using Autodesk.AutoCAD.Runtime;
using Autodesk.AutoCAD.DatabaseServices;
using Autodesk.AutoCAD.Geometry;
using AutoCADCodePack;
public class MyAutoCADPlugin
{
[CommandMethod("DrawMyCircle")]
public static void DrawMyCircle()
{
// Prompt user for a point
var point = Interaction.GetPoint("\nSelect circle center:");
// Create a new circle with a radius of 50
var circle = new Circle(point, Vector3d.ZAxis, 50);
// Add circle to the drawing
Draw.Add(circle);
}
}
اصلاح موجودیتهای CAD موجود از طریق .NET
کتابخانه متنباز AutoCADCodePack بارگذاری و اصلاح مدلهای موجود اتوکد و موجودیتهای آنها را در برنامههای .NET برای توسعهدهندگان نرمافزار آسان میکند. توسعهدهندگان نرمافزار میتوانند به راحتی موجودیتهای موجود اتوکد را با استفاده از ماژول Modify اصلاح کنند. در اینجا یک مثال ساده وجود دارد که نحوه اعمال تغییرات در شعاع همه دایرههای انتخاب شده با استفاده از دستورات .NET را نشان میدهد.
چگونه میتوان موجودیتهای موجود در مدل CAD را در برنامههای .NET تغییر داد؟
[CommandMethod("ResizeCircles")]
public static void ResizeCircles()
{
var ids = Interaction.GetSelection("\nSelect circles", "CIRCLE");
ids.QForEach(circle =>
{
circle.Radius += 10; // Increase radius by 10 units
});
}
مدیریت بهتر خطا
کتابخانه AutoCADCodePack شامل مکانیزمهای قوی مدیریت خطا است که تضمین میکند کد شما حتی در صورت بروز مشکلات غیرمنتظره، به راحتی اجرا شود. این کتابخانه تمام توابع ضروری برای توسعه افزونه اتوکد را ارائه میدهد. در اینجا مثالی آورده شده است که نشان میدهد چگونه کد سعی میکند دایرهای با شعاع نامعتبر ایجاد کند. خطا گرفته شده و در خط فرمان نمایش داده میشود.
چگونه میتوان از طریق کتابخانه داتنت یک دایره با شعاع نامعتبر ایجاد کرد؟
using AutoCADCodePack;
public class ErrorHandlingExample
{
[CommandMethod("SAFECOMMAND")]
public void SafeCommand()
{
try
{
// Attempt to execute a risky operation
EntityHelper.CreateCircle(new Point3d(0, 0, 0), -10); // Invalid radius
}
catch (Exception ex)
{
EditorHelper.WriteMessage($"Error: {ex.Message}");
}
}
}