کتابخانه رایگان داتنت برای خواندن و نوشتن فایلهای DXF و DWG در اتوکد
کتابخانهی متنباز داتنت CAD که برنامهنویسان را قادر میسازد تا نقشههای اتوکد DXF و DWG را به راحتی باز کنند، بخوانند، ویرایش کنند، بنویسند و تبدیل کنند.
ACadSharp چیست؟
ACadSharp یک کتابخانه متنباز فوقالعاده C#.NET است. این کتابخانه به توسعهدهندگان نرمافزار امکان کار با نقشههای AutoCAD DXF و DWG را در برنامههای C# خود میدهد. این کتابخانه مملو از ویژگیهای کلیدی مانند اضافه کردن عناصر جدید به نقشههای CAD، حذف عناصر ناخواسته، دسترسی به همه موجودیتهای موجود در مدل، ایجاد کپی از عناصر خاص، تولید قوس از برآمدگیها، اصلاح MText و ساخت موجودیتهای مختلف است. با ACadSharp، ابزارهایی برای بهبود برنامههای C# خود با قابلیتهای مدیریت فایل AutoCAD دارید.
فایلهای DXF و DWG به طور گسترده در صنعت CAD استفاده میشوند زیرا تصاویر برداری را نشان میدهند. هر دو کیفیت بالای مشابهی ارائه میدهند و معمولاً برای اشتراکگذاری دادهها بین برنامههای مختلف CAD و نقشهکشی استفاده میشوند. DXF استانداردی است که توسط Autodesk, Inc. پشتیبانی میشود، در حالی که DWG یک فرمت بسته منحصر به محصولات Autodesk است. کتابخانه ACadSharp کاربرپسند است و توابعی برای قالببندی و ترازبندی متن، مانند ترازبندی متن (راست، چپ، وسط، ترازبندی)، ترازبندی عمودی متن (بالا، وسط، پایین)، تورفتگی تب و غیره ارائه میدهد. کتابخانه ACadSharp تحت مجوز MIT در دسترس است.
شروع کار با ACadSharp
روش پیشنهادی برای نصب ACadSharp استفاده از NuGet است. لطفاً برای نصب روان از دستور زیر استفاده کنید.
نصب ACadSharp از طریق NuGet
NuGet\Install-Package ACadSharp -Version 1.4.0-alpha
همچنین میتوانید آن را به صورت دستی نصب کنید؛ آخرین فایلهای منتشر شده را مستقیماً از مخزن گیتهاب دانلود کنید.
تولید فایلهای DXF/DWG اتوکد از طریق کتابخانه .NET
کتابخانه ACadSharp پشتیبانی کاملی برای ایجاد و ویرایش نمودارهای CAD DXF و DWG در برنامههای پایتون ارائه داده است. این کتابخانه به توسعهدهندگان نرمافزار این امکان را میدهد که همین حالا نمودارهای DXF و DWG ساده و معتبری را با موجودیتهای ساده ایجاد کنند. کار بر روی نمودارهای پیچیده در حال انجام است و به زودی پیادهسازی خواهد شد. توسعهدهندگان میتوانند به راحتی فایلهای ASCII و همچنین Binary DXF را بنویسند.
چگونه فایل ASCII و Binary DXF را از طریق کتابخانه C# .NET ایجاد کنیم؟
namespace ACadSharp.Examples
{
public static class WriterExamples
{
///
/// Write a ascii dxf file
///
///
///
public static void WriteAsciiDxf(string file, CadDocument doc)
{
using (DxfWriter writer = new DxfWriter(file, doc, false))
{
writer.OnNotification += NotificationHelper.LogConsoleNotification;
writer.Write();
}
}
/// Write a binary dxf file
///
///
public static void WriteBinaryDxf(string file, CadDocument doc)
{
using (DxfWriter writer = new DxfWriter(file, doc, true))
{
writer.OnNotification += NotificationHelper.LogConsoleNotification;
writer.Write();
}
}
}
}
مدیریت موجودیتها در مدل CAD از طریق C# .NET API
کتابخانه متنباز ACadSharp به توسعهدهندگان نرمافزار این امکان را میدهد که موجودیتهای مدل AutoCAD را در برنامههای پایتون خود مدیریت کنند. این کتابخانه چندین ویژگی مهم برای کار با موجودیتهای مدل ارائه داده است، مانند دریافت همه موجودیتها در مدل، ایجاد موجودیتهای جدید و اضافه کردن آنها به ترسیم، دسترسی و تغییر ویژگیهای موجودیت و غیره.
چگونه میتوان همه موجودیتها را در مدل CAD از طریق C#.NET دریافت کرد؟
///
/// Get all the entities in the model
///
///
///
public static IEnumerable GetAllEntitiesInModel(string file)
{
CadDocument doc = DwgReader.Read(file);
// Get the model space where all the drawing entities are
BlockRecord modelSpace = doc.BlockRecords["*Model_Space"];
// Get all the entities in the model space
return modelSpace.Entities;
}
دسترسی و خواندن فایلهای DXF/DWG اتوکد از طریق API .NET
کتابخانه متنباز ACadSharp به توسعهدهندگان نرمافزار اجازه میدهد تا فایلهای DXF و DWG اتوکد را تنها با چند خط کد در برنامههای .NET خود بارگذاری و بخوانند. برای دسترسی و خواندن یک فایل، ابتدا باید مسیر کامل فایلهای DXF و DWG را ارائه دهید. لطفاً توجه داشته باشید که برخی از ماژولهای خوانندههای DXF/DWG هنوز به طور کامل پیادهسازی نشدهاند و نیاز به بهبود بیشتر دارند. NotificationHandler پیامی را برای اطلاعرسانی در مورد اشیاء غیرقابل خواندن یا هرگونه خطای دیگر در فرآیند ارسال میکند.
چگونه فایلهای DXF و DWG را با استفاده از کتابخانه C# .NET بخوانیم؟
namespace ACadSharp.Examples
{
public static class ReaderExamples
{
/// Read a dxf file
/// dxf file path
public static void ReadDxf(string file)
{
using (DxfReader reader = new DxfReader(file, NotificationHelper.LogConsoleNotification))
{
CadDocument doc = reader.Read();
}
}
/// Read a dwg file
/// dwg file path
public static void ReadDwg(string file)
{
using (DwgReader reader = new DwgReader(file, NotificationHelper.LogConsoleNotification))
{
CadDocument doc = reader.Read();
}
}
}
}