محمد حمّود
HTML clipboardmhmdh@maktoob.com
*تعتبر هيئة (format) الملفات DXF إحدى أوسع هيئات الملفات الرسومية انتشاراً، ويمكن للعديد من البرامج الرسومية تبادل الملفات بهذه الهيئة فيما بينها، كما تدعم الكثير من البرامج تصدير ملفاتها بهيئة DXF، وذلك من أجل نقل نتائج العمل فيها إلى برنامج أوتوكاد وبقية برامج التصميم بالحاسوب (CAD).
تتوجه هذه المقالة إلى المهتمين بهيئة ملفات DXF، وبخاصة إلى من يحتاج من مبرمجي فيجوال بيسك إلى أداة مساعدة لتصدير الرسوم من برامجهم التي يقومون بتطويرها، إلى ملفات DXF، بهدف فتح هذه الرسوم في برنامج أوتوكاد للاستفادة من قدراته الهائلة، أو تبادل هذه الرسوم مع البرامج الرسومية الأخرى.
*
ما هو ملف DXF
تعتبر هيئة DXF (أو هيئة تبادل الرسوم Drawing Interchange Format)، من شركة أوتوديسك، هيئة قياسية موحّدة لملفات الرسوم. يمكن للعديد من البرامج التي تدعم هذه الهيئة تبادل الملفات فيما بينها، مثل أوتوكاد، 3D Studio، برامج رزمة مايكروسوفت أوفيس، Adobe Illustrator، Paint Shop Pro، وبرنامج الحساب الإنشائي SAP، وغيرها.
تتألف هيئة DXF من كتل، وتتألف كل كتلة بدورها من تعليمات نصية لها نحْو (syntax) محدّد، ويمكن كتابة هذه الأوامر في محرر نصوص وحفظها على شكل ملف نص (text only)، ما يعني إمكانية استخدام برنامج المفكرة (Notepad) في ويندوز، لكتابة هذا النوع من الملفات .
يتألف ملف DXF من الأقسام التالية:
*
| القسم | * | الشرح |
| HEADER | * | رأس الملف، يتضمن معلومات عامة عن الرسم. |
| CLASSES | * | معلومات مخصصة، تتعلق بالتطبيق الذي أنشأ ملف DXF. |
| TABLES | * | بيانات الكتل والطبقات، وأنماط الأبعاد والنصوص والخطوط (Linetype). |
| BLOCKS | * | بيانات الكتل. |
| ENTITIES | * | بيانات جميع الكائنات الرسومية، مثل الخطوط والدوائر...الخ. |
| OBJECTS | * | بيانات الكائنات غير الرسومية، مثل القواميس (Dictionaries). |
| THUMBNAILIMAGE | * | معاينة للرسم، تظهر في صندوق حوار الملفات في أوتوكاد. |
جدول (1) : أقسام ملف DXF
تتوفر المعلومات، ضمن هذه الأقسام، على شكل زوج من البيانات على سطرين، يتضمن السطر الأول شفرة المجموعة (Group Code)، ويتضمن الســـطر الثاني القيمة (Value). مثال: يبين الشكل التالي جزءاً من ملف DXF، يصف خطاً (line)، مرسوماً من نقطة بداية، إحداثياتها (0,0,0) ، ونقطة نهاية، إحداثياتها (0,10,10)، على طبقة LINES:
شكل (1): جزء من ملف DXF، وقد استخدمنا اللون الأحمر للتعليق على البيانات فيه
*
إنشاء ملفات DXF برمجياً
يمكن للمطلع على بنية ملف DXF، والصيغ المستخدمة فيه، أن يقوم بإنشاء هذا النوع من الملفات، يدوياً، باستخدام برنامج المفكرة في ويندوز، ولكن هذه الطريقة ليست عملية أبداً، نظراً للوقت والجهد المطلوبين لإنجاز هذه المهمة، التي قد تصبح مستحيلة في حال وجود مئات الكائنات الرسومية، مطلوباً تصديرها، في ملف الرسم. ولذلك لا بد من إنشاء ملف DXF، برمجياً، باستخدام إحدى لغات البرمجة.
قمت بتطوير وحدة نمطية (Module) بلغة فيجوال بيسك، لهذه الغاية. تتضمن هذه الوحدة النمطية عدداً من التوابع الجاهزة سهلة الاستخدام لإنشاء ملف DXF، من غير ما حاجة إلى معرفة أي شيء عن طريقة بناء هذا النوع من الملفات. يمكن، بالتالي، لمبرمجي فيجوال بيسك الذين يرغبون بتصدير النتائج إلى هيئة DXF أن يضيفوا هذه الوحدة النمطية لمشاريعهم، ويستخدموا توابعها.
*
طريقة استخدام توابع الوحدة النمطية (DXF.bas):
أضف الوحدة النمطية DXF.bas إلى ملف مشروع فيجوال بيسك، باستخدام Project > Add Module. تصبح التوابع الموجودة في هذه الوحدة، بعد ذلك، متاحة للاستخدام. ولإنشاء ملف DXF، قم بالخطوات التالية:
-
افتح ملفاً للإخراج رقمه 1 بكتابة Open FileName For Output As #1، حيث FileName هو اسم ومسار الملف.
-
استدع التابع DXFBeginHeader، لإنشاء قسم "رأس" الملف.
-
استدع التابع DXFLimits، لتحديد أبعاد الرسم.
-
أغلق قسم "رأس" الملف، باستخدام التابع DXFEndHeader.
توضع الطبقات في جدول خاص، يسمى جدول الطبقات. يوضع جدول الطبقات، بدوره، في قسم جداول الرموز. ولإضافة طبقة إلى ملف DXF يجب أولاً:
-
استدعاء التابع DXFBeginTables، لبناء قسم جداول الرموز.
-
استدعاء التابع DXFBeginLayerTable، لإنشاء جدول الطبقات.
-
إنشاء طبقة بالتابع DXFLayer، ويمكن، ههنا، تعريف أكثر من طبقة.
-
إغلاق قسم جدول الطبقات باستدعاء التابع DXFEndTable.
-
إغلاق قسم جداول الرموز، باستدعاء DXFEndTables.
لإنشاء الكائنات الرسومية، كالخطوط والدوائر والأقواس والنصوص:
-
نستخدم التابع DXFBeginEntities، لإنشاء قسم الكائنات الرسومية.
-
نستخدم توابع رسم هذه الكائنات (انظر الجدول 2).
-
نغلق قسم الكائنات الرسومية باستدعاء التابع DXFEndEntities.
-
نغلق ملف DXF، باستدعاء التابع DXFEndFile.
-
نغلق الملف المفتوح، بكتابة Close #1.
ويبين الجدول التالي توابع رسم الكائنات، في الوحدة النمطية DXF.bas:
*
| التابع | * | الغرض |
| DXFArc | * | لرسم قوس |
| DXFCircle | * | لرسم دائرة |
| DXFLine | * | لرسم خط |
| DXFText | * | لكتابة نص |
جدول (2) : توابع إنشاء الكائنات الرسومية
وقد أرفقنا مع هذه المقالة، مثالاً لمشروع فيجوال بيسك، الإصدارة 6.0، يتضمن ملف الوحدة النمطية DXF.bas. كما أرفقنا ملف التعليمات DXF.chm الذي يتضمن شرحاً مفصلاً لاستخدام هذه التوابع، بالإضافة إلى ملف truss.dxf الذي تم إنشاؤه باستخدام هذه الوحدة النمطية.
أتمنى من زوار الموقع الكرام، إبداء ملاحظاتهم على هذه الوحدة النمطية، والمساهمة بتطويرها كي تعم الفائدة الجميع. ويمكن توجيه الأسئلة ذات الصلة إلى موقع مجلة التصميم بالحاسوب، فقرة أسئلة وأجوبة، أو في منتدى التصميم بالحاسوب.
للمزيد من المعلومات عن هيئة DXF، يمكنك مراجعة ملفات المساعدة في برنامج أوتوكاد، أو زيارة موقع أوتوديسك، على العنوان التالي:
http://www.autodesk.com/techpubs/autocad/acad2000/dxf/index.htm



التصنيفات
أحدث مشاركات المنتدى
سحابة الكلمات الدلالية
مشكوررررررررررررررررررررر رر
كيف يتم انشاء فايل من نوع tin واستخدامه في الارك سين لقياس الحجوم
محمد متولى يوم أمس 09:04