
LibreDWG
مكتبة C مفتوحة المصدر لإدارة ملفات AutoCAD DWG
إنشاء وتحرير وقراءة ومعالجة وتحويل نماذج AutoCAD DWG إلى ملفات SVG عبر واجهة برمجة تطبيقات CAD مفتوحة المصدر C++.
LibreDWG هي مكتبة C سهلة الاستخدام، مجانية، ومفيدة للغاية عند التعامل مع رسومات AutoCAD DWG. DWG هو تنسيق ملفات شائع طورته AutoDesk في سبعينيات القرن الماضي لتطبيقات CAD في بداياتها. على الرغم من أن DWG تنسيق خاص، إلا أنه لا يزال الخيار الأمثل للعديد من المبرمجين. تتميز هذه المكتبة بسهولة الاستخدام، وهي مصممة لتوفير واجهة برمجة تطبيقات (API) تساعد مطوري البرامج في بناء تطبيقات تعمل مع ملفات DWG.
تتميز المكتبة بالعديد من الميزات المفيدة للعمل مع ملفات AutoCAD 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
الآن قم بتغيير dir إلى مجلد libredwg الذي تم إنشاؤه بواسطة git ( cd libredwg ) وأصدر الأوامر التالية في المحطة الطرفية
تغيير الدليل إلى مجلد libredwg
$ sh autogen.sh
$ ./configure --enable-trace # (this will enable debugging messages)
$ make
$ sudo make install
$ make check
إنشاء ملفات AutoCAD DWG عبر مكتبة C
تتيح مكتبة LibreDWG C المجانية لمطوري البرامج إنشاء ملفات AutoCAD DWG جديدة داخل تطبيقات C الخاصة بهم. بمجرد إنشاء الملف، يمكنك إدراج أنواع مختلفة من الكيانات داخل رسومات DWG، مثل الجداول، والأشكال، والتظليل، والكاميرا، والضوء، والخطوط، والشبكات، والنص المائل، والخطوط المتعددة ثنائية الأبعاد، والخطوط المتعددة ثلاثية الأبعاد، والنص، والجدول، والتتبع، وغيرها الكثير. كما تدعم المكتبة محاذاة الكيانات، والوصول إليها، وتحديث خصائصها بسهولة. وقد تضمن برنامج كتابة DWG دعمًا لتنسيقات إدخال متنوعة، مثل DXF وDXFB وJSON.
قراءة ملفات AutoCAD DWG عبر مكتبة C
تتضمن مكتبة LibreDWG مفتوحة المصدر دعمًا كاملاً للوصول إلى ملفات AutoCAD DWG وقراءتها برمجيًا داخل تطبيقات .NET باستخدام بضعة أسطر فقط من لغة C. يدعم قارئ DWG تنسيقات إخراج متنوعة، مثل JSON وDXF وDXFB وGeoJSON. كما يدعم لاحقًا تنسيقات ملفات YAML وXML/OGR وGPX وSVG وPS.
كيفية قراءة ملف AutoCAD 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 مفتوحة المصدر مطوري البرامج من تحويل رسومات AutoCAD DWG إلى ملفات بتنسيق SVG باستخدام أوامر C. لتحويل ملف SVG (رسومات متجهة قابلة للتطوير)، يجب فتح ملف DWG وإخراج ملف SVG. يُرجى العلم أن المكتبة ستتعامل مع البيانات ثنائية الأبعاد والمحتوى ثلاثي الأبعاد من DWG، لأن SVG يدعم الصور ثنائية الأبعاد فقط.