عارض DXF
إذا كنت بحاجة فقط إلى عرض DXF الخاص بك ، فانقر هنا.
توفر هذه الحزمة مكون عارض DXF 2D مكتوب في JavaScript. يقوم بإعداد الرسومات باستخدام WebGL (عبر مكتبة Three.JS). لقد تم تصميمه بعناية مع وضع الأداء في الاعتبار ، ويقصده رسم ملفات في العالم الحقيقي دون مشاكل في الأداء.
مثال الاستخدام متاح هنا: https://github.com/vagran/dxf-view-example-src
DEMO تم نشره: https://vagran.github.io/dxf-view-example/
ثَبَّتَ
سمات
- يتم فصل ملفات الملفات والتحليل والتحضير لتقديمها بطريقة يمكن تحميلها بسهولة إلى زميل الويب باستخدام مساعدين متوفرون. وبالتالي فإن الجزء الأكثر ثقلًا للوزن لا يؤثر على استجابة واجهة المستخدم. يوضح المثال أعلاه هذه التقنية.
- تجديد الهندسة - يتم إنشاء الحد الأدنى من دفعات التقديم أثناء معالجة الملفات ، وبالتالي تقليل العدد المطلوب من العدد المطلوب من مكالمات السحب.
- عرض instanced - يتم تقديم الميزات التي يتم تقديمها عدة مرات مع تحويلات مختلفة (مثل مثيلات كتلة DXF) عن طريق مكالمة سحب واحدة باستخدام ميزة WebGL لتقديم Instanced.
- دعم الخطوط المتعددة. يمكن تحديد قائمة الخطوط لتقديم النص. يتم دعم ملفات TTF الخام. الخطوط محملة كسول ، بمجرد مواجهة الشخصية التي لا تتوفرها الحروف الرسومية بعد من خلال الخطوط المحملة بالفعل ، يتم جلب الخط التالي والتحقق من الحروف الرسومية اللازمة.
- الطبقات - يتم أخذ الطبقات في الاعتبار عند إنشاء دفعات عرض بحيث يمكن إخفاءها/عرضها بسهولة.
ميزات غير مكتملة
لا يزال هناك العديد من الميزات غير المكتملة. سأحاول تنفيذ بعضهم عندما يكون لدي بعض الوقت. الأسباب الأكثر أهمية لفقدان التنفيذ هو عدم وجود ملفات عينة المقابلة.
- دفق التحليل لملف الإدخال. في الوقت الحالي ، يعتمد في الغالب على حزمة DXF-Parser التي لا يتم بثها ، وبالتالي تخزفت من الملف بالكامل قبل التحليل. يمنع هذا من دعم ملف DXF الكبير (أعلى من gigabyte) بسبب حد حجم السلسلة في محرك JS (أيضًا جعل نفايات الذاكرة غير الضرورية للمخزن المؤقت).
- تصميم النص. حاليًا ، يستخدم تقديم النصوص فقط الخطوط المحددة بالترتيب المحدد. يتم تجاهل نمط DXF وسمات الخط. يتم تقديم الرسوم الحرارية النصية دائمًا.
- دعم التنسيق المتقدم لـ Mtext (الخطوط ، التلوين ، التراص).
- أنماط الخطوط - يتم تقديم جميع الخطوط بأسلوب مستمر في الوقت الحالي. سأستخدم نسيجًا 1-D الذي تم إنشاؤه في مرحلة التحضير ، وإحداثيات الملمس (والتي يجب أن تراقب علامة استمرارية نمط في سمات رؤوس DXF) ، وتظليل مخصص لتنفيذ هذه الميزة.
- أنماط الخط مع الأشكال (على سبيل المثال مع الدوائر).
- خطوط واسعة. حاليا ، يتم تقديم جميع الخطوط كخطوط رقيقة. لا يتم تنفيذ العرض المادي.
- خطوط العرض المتغيرة (أي مع بدء التشغيل والنهاية المحددة).
- سلالة سلسة (قمم المنحنى/spline-fit برؤوس).
- بعض الميزات في تنفيذ الفقس: نمط الفقس الخارجي ، infill الصلبة/التدرج ، دعم mpolygon ، خطوط مزدوجة ، حدود محددة بواسطة الكيانات الخارجية.
- كتلة instancing في شبكة. يتم تجاهل سمات الشبكة الآن.
- الميزات والأنماط الخاصة بالأبعاد (كتل أسهم مختلفة محددة مسبقًا ، وضبط تحديد المواقع النصية ، والحدود والتحمل). أنواع الأبعاد غير تلك الخطية.
- القادة
- دعم ترميز ملفات غير UTF-8. حاليا ، يتم عرض هذه الملفات بشكل غير صحيح. يتم تجاهل المعلمة
$DWGCODEPAGE
. - دعم OCS الكامل. حاليا ، من المفترض أن اتجاه بثق الكيان هو إما +z أو -z (والذي يستخدم عادة للميزات النسائية في CAD). لا تتم معالجة الاتجاهات التعسفية بشكل صحيح.
- مساحة الورق ، تخطيطات (أوراق) ، إيماءات العرض.
- العديد من ميزات DXF أقل استخدامًا.

المساهمة
يرجى الرجوع إلى إرشادات المساهمة للحصول على تفاصيل حول كيفية تقديم طلبات السحب (PRS). يتطلب المشروع أيضًا ملفات مثال مختلفة لأغراض الاختبار. إذا واجهت أي مشكلات مع عرض DXF ، فسيكون ذلك موضع تقدير كبير إذا كان بإمكانك تقديم ملف مثال يوضح المشكلة من خلال إرفاقه بمشكلة تم إنشاؤها. يمكن أن يكون إنشاء أمثلة الحد الأدنى في برنامج CAD مفيدًا للغاية. بالإضافة إلى ذلك ، فإن إنشاء أمثلة في برامج CAD الخاصة المختلفة التي لا يمكنني الوصول إليها سيكون ذا قيمة عالية. نظرًا لأن مستوى المدخل لبدء الترميز في هذا المشروع مرتفع للغاية ، فغالبًا ما يكون من المفيد تلقي تقرير مفصل للمشكلة مع ملفات عينة بدلاً من طلب سحب.
رخصة
تم ترخيص هذا المشروع بموجب شروط ترخيص Mozilla Public 2.0.
التبرعات
هل تريد أن أقول شكراً لمشروع المشروع؟ هنا الرابط: