
LibreDWG
کتابخانه متنباز C برای مدیریت فایلهای DWG اتوکد
تولید، ویرایش، خواندن، دستکاری و تبدیل مدلهای اتوکد DWG به فایلهای SVG از طریق رابط برنامهنویسی کاربردی CAD متنباز C++.
LibreDWG چیست؟
LibreDWG یک کتابخانه C مفید است که به صورت رایگان ارائه میشود و هنگام کار با نقشههای DWG اتوکد بسیار مفید است. DWG یک فرمت فایل محبوب است که توسط AutoDesk در دهه 1970 برای برنامههای CAD که در حال ظهور بودند، ایجاد شد. اگرچه DWG یک فرمت اختصاصی است، اما هنوز هم انتخاب اول بسیاری از پیمانکاران است. این کتابخانه کاربرپسند است و به گونهای طراحی شده است که یک API ارائه دهد که میتواند به توسعهدهندگان نرمافزار در ساخت برنامههایی که با فایلهای DWG کار میکنند، کمک کند.
این کتابخانه ویژگیهای مفید بسیاری برای کار با فایلهای DWG اتوکد دارد. میتوانید نقشههای DWG را باز و مشاهده کنید، فایلهای DWG جدید بسازید، آنها را به فرمتهای مختلف تبدیل کنید، آنها را به DXF و JSON تغییر دهید، DWG را به SVG و Postscript تبدیل کنید، از dwggrep برای یافتن متن، از dwglayer برای نمایش لایهها و موارد دیگر استفاده کنید.
در کتابخانه، توسعهدهندگان نرمافزار میتوانند پشتیبانی از نوشتن DWG را روشن یا خاموش کنند. در ابتدا، این ویژگی خاموش است، اما وقتی آن را فعال میکنید، میتوانید از آن برای نوشتن در قالب DWG استفاده کنید. تبدیل اکثر DWGها به قالب r2000 معمولاً به راحتی انجام میشود. خواننده DWG میتواند انواع فرمتهای فایل از جمله JSON، DXF، DXFB، GeoJSON، YAML، XML/OGR، GPX، SVG و PS را پشتیبانی کند.
شروع کار با LibreDWG
شما باید ابزارهای توسعه اولیه (یک کامپایلر C99 مانند gcc/clang، make، autoconf، automake و libtool) را نصب کنید. با استفاده از دستور زیر، یک کلون از کتابخانه ایجاد کنید.
کپی کردن کتابخانه با استفاده از دستور زیر
git clone git://git.sv.gnu.org/libredwg.git
حالا دایرکتوری را به پوشه libredwg که توسط گیت ایجاد شده تغییر دهید (cd libredwg) و دستورات زیر را در ترمینال اجرا کنید
دایرکتوری را به پوشه libredwg تغییر دهید
$ sh autogen.sh
$ ./configure --enable-trace # (this will enable debugging messages)
$ make
$ sudo make install
$ make check
ایجاد فایل DWG اتوکد از طریق کتابخانه C
کتابخانه رایگان LibreDWG C به توسعهدهندگان نرمافزار این امکان را میدهد که فایلهای DWG اتوکد جدید را در برنامههای C خود ایجاد کنند. پس از ایجاد فایل، میتوانید انواع مختلفی از موجودیتها مانند جداول، شکل، هاشور، دوربین، نور، خط، مش، متن چندخطی دوبعدی، چندخطی سهبعدی، متن، جدول، ردیابی و موارد دیگر را در نقشههای DWG وارد کنید. این کتابخانه همچنین از ترازبندی مجموعه برای موجودیتها پشتیبانی میکند، به راحتی به ویژگیهای موجودیتها دسترسی پیدا میکند و آنها را بهروزرسانی میکند. نویسنده DWG از فرمتهای ورودی مختلف مانند DXF، DXFB و JSON پشتیبانی میکند.
خواندن فایلهای DWG اتوکد از طریق کتابخانه C
کتابخانه متنباز LibreDWG پشتیبانی کاملی را برای دسترسی برنامهنویسیشده و خواندن فایلهای DWG اتوکد در برنامههای .NET تنها با چند خط کد C ارائه میدهد. این خواننده DWG از فرمتهای خروجی مختلفی مانند JSON، DXF، DXFB، GeoJSON پشتیبانی میکند. بعدها فرمتهای فایل YAML، XML/OGR، GPX، SVG و PS نیز به آن اضافه شدند.
چگونه فایلهای DWG اتوکد را از طریق کتابخانه C بخوانیم؟
int error;
Dwg_Data dwg;
error = dwg_read_file(filename, &dwg);
if (!error)
{
model_xmin = dwg_model_x_min(&dwg);
model_ymin = dwg_model_y_min(&dwg);
double dx = (dwg_model_x_max(&dwg) - dwg_model_x_min(&dwg));
double dy = (dwg_model_y_max(&dwg) - dwg_model_y_min(&dwg));
double scale_x = dx / (dwg_page_x_max(&dwg) - dwg_page_x_min(&dwg));
double scale_y = dy / (dwg_page_y_max(&dwg) - dwg_page_y_min(&dwg));
//...
}
dwg_free(&dwg);
تبدیل فایل DWG به SVG از طریق کتابخانه C
SVG یک استاندارد W3C برای گرافیک برداری دوبعدی است و بسیار محبوب است. کتابخانه متنباز LibreDWG به توسعهدهندگان نرمافزار این امکان را میدهد که با استفاده از دستورات C، نقشههای DWG اتوکد را به فرمتهای فایل SVG تبدیل کنند. برای تبدیل فایل SVG (گرافیک برداری مقیاسپذیر) باید یک فایل DWG را باز کنید و یک فایل SVG خروجی بگیرید. لطفاً به یاد داشته باشید که این کتابخانه دادههای دوبعدی و محتوای سهبعدی DWG را مدیریت میکند، زیرا SVG فقط از تصاویر دوبعدی پشتیبانی میکند.