مكتبة JS لقراءة وكتابة ملفات CAD ثنائية وثلاثية الأبعاد
مكتبة جافا سكريبت مفتوحة المصدر ومجانية تُمكّن المبرمجين من إنشاء ملفات أوتوكاد وأشكال ثنائية وثلاثية الأبعاد وتعديلها. إنشاء وتحرير كائنات ثلاثية الأبعاد داخل تطبيقات جافا سكريبت.
ما هو Aspose.CAD لـ OpenCascade.js؟
OpenCascade.js هي مكتبة مفتوحة المصدر وسهلة الاستخدام تُمكّن المطورين مثلك من تصميم كائنات ثلاثية الأبعاد والتحكم فيها بسهولة باستخدام جافا سكريبت. تعتمد هذه المكتبة على تقنية Open Cascade (OCCT)، وهي أداة مفتوحة المصدر للنمذجة ثلاثية الأبعاد والمحاكاة العددية. باستخدام OpenCascade.js، يمكنك إنشاء تطبيقات قوية باستخدام نواة OpenCascade CAD. تعمل هذه التطبيقات بسلاسة في متصفحات الويب والخوادم أو على مختلف الأجهزة التي تدعم WebAssembly. تتميز المكتبة بسرعة فائقة بفضل قوة Emscripten وWebAssembly، وتعمل نواة CAD بسرعات قريبة من سرعة البرامج الأصلية، وتدعم بشكل كامل تعدد مؤشرات الترابط على جميع المتصفحات الحديثة.
تحظى مكتبة OpenCascade.js بشعبية واسعة في مختلف القطاعات بفضل دقتها وموثوقيتها وسرعتها. من مميزات OpenCascade.js الرائعة قدرتها على التعامل مع أنواع ملفات متعددة مثل STL وIGES وSTEP. هذا يعني أنه يمكنك بسهولة إدخال نماذج ثلاثية الأبعاد من برامج CAD أو مصادر بيانات مختلفة وتعديلها باستخدام المكتبة. كما توفر المكتبة مجموعة متنوعة من الأدوات لإنشاء وتعديل الكائنات ثلاثية الأبعاد، بما في ذلك إمكانية إنشاء أشكال ومنحنيات وأسطح معقدة، بالإضافة إلى إجراء تحويلات هندسية، مثل تغيير الحجم والتدوير والتحويل.
تساعدك مكتبة OpenCascade.js على رؤية الكائنات ثلاثية الأبعاد بشكل حي، وتوفر العديد من الأدوات لعرضها وإضاءتها وتظليلها. هذا يسمح لك بإنشاء عوالم ثلاثية الأبعاد واقعية وجذابة. تحتوي المكتبة على توثيق غني، مما يتيح لك بسهولة بدء وتطوير تطبيقات ثلاثية الأبعاد متقدمة في وقت قصير. المكتبة غنية بالأدوات والميزات التي تساعدك على إنشاء العناصر ثلاثية الأبعاد وبنائها ورؤيتها. إنها مثالية لاستخدامات متعددة مثل تصميم المنتجات، وصنع الأشياء، وتخطيط المباني، والعمل في مجال الإنشاءات.
البدء باستخدام OpenCascade.js
الطريقة المُوصى بها للتثبيت هي استخدام npm. يُرجى استخدام الأمر التالي لتثبيت سلس.
تثبيت OpenCascade.js عبر npm
npm install opencascade.js@beta
يمكنك أيضًا تثبيته يدويًا؛ قم بتنزيل ملفات الإصدار الأحدث مباشرةً من مستودع GitHub.
دعم تعدد الخيوط في تطبيقات جافا سكريبت
تدعم مكتبة OpenCascade مفتوحة المصدر تعدد الخيوط لعمليات معينة. لا توفر المكتبة دعمًا أصليًا لتعدد الخيوط، لأن جافا سكريبت لغة أحادية الخيط. مع ذلك، يمكن للمطورين استخدام Web Workers في تطبيقاتهم لأداء مهام معينة في سلسلة منفصلة، مما يُحسّن الأداء والاستجابة. يوضح المثال التالي كيفية استخدام Web Worker لأداء مهمة حسابية معقدة في سلسلة منفصلة مع الحفاظ على استجابة واجهة المستخدم الرئيسية.
javascript
// worker.js
onmessage = function(e) {
// Do heavy computational task here
postMessage("Task completed!");
};
// main.js
const worker = new Worker("worker.js");
worker.onmessage = function(e) {
console.log("Worker said: " + e.data);
};
worker.postMessage("Start task");
التعامل مع الإزاحات ثنائية وثلاثية الأبعاد عبر جافا سكريبت
تتيح مكتبة OpenCascade مفتوحة المصدر لمطوري البرامج التعامل مع الإزاحات ثنائية وثلاثية الأبعاد داخل تطبيقات جافا سكريبت الخاصة بهم. لإنجاز هذه المهام، عليك أولاً تحميل المكتبات المطلوبة وإنشاء شكل ثنائي أو ثلاثي الأبعاد. بعد ذلك، يمكنك إزاحة شكل ثنائي الأبعاد، باستخدام فئة BRepOffsetAPI_MakeOffset وفئة BRepBuilderAPI_MakeSolid لإزاحة شكل ثلاثي الأبعاد. يمكنك استخدام برنامج نمذجة ثلاثية الأبعاد مثل FreeCAD لعرض شكل الإزاحة.
كيفية إنشاء شكل ثنائي الأبعاد عبر واجهة برمجة تطبيقات JavaScript
const wire = new BRepBuilderAPI_MakeWire();
wire.Add(new BRepBuilderAPI_MakeEdge(new gp_Pnt(0, 0, 0), new gp_Pnt(1, 0, 0)));
wire.Add(new BRepBuilderAPI_MakeEdge(new gp_Pnt(1, 0, 0), new gp_Pnt(1, 1, 0)));
wire.Add(new BRepBuilderAPI_MakeEdge(new gp_Pnt(1, 1, 0), new gp_Pnt(0, 1, 0)));
wire.Add(new BRepBuilderAPI_MakeEdge(new gp_Pnt(0, 1, 0), new gp_Pnt(0, 0, 0)));
create 3D shape:
onst face = new BRepBuilderAPI_MakeFace(wire.Wire());
// Offset the 2D shape:
const offset = new BRepOffsetAPI_MakeOffset(face.Face(), 1, 1e-6);
offset.Build();
// Offset the 3D shape:
const solid = new BRepBuilderAPI_MakeSolid(offset.Shape());
solid.Build();