کتابخانه JS برای خواندن و نوشتن فایلهای CAD دوبعدی و سهبعدی
کتابخانه جاوا اسکریپت رایگان و متنباز، برنامهنویسان را قادر میسازد تا فایلهای اتوکد و اشکال دوبعدی یا سهبعدی را ایجاد و ویرایش کنند. ایجاد و ویرایش اشیاء سهبعدی در داخل برنامههای جاوا اسکریپت.
Aspose.CAD برای OpenCascade.js چیست؟
OpenCascade.js یک کتابخانه متنباز مفید است که به توسعهدهندگانی مانند شما این امکان را میدهد تا اشیاء سهبعدی را با استفاده از جاوااسکریپت به راحتی ایجاد و کنترل کنند. این کتابخانه مبتنی بر فناوری Open Cascade (OCCT)، ابزاری متنباز برای مدلسازی سهبعدی و شبیهسازی عددی است. با OpenCascade.js، میتوانید با استفاده از هسته CAD OpenCascade برنامههای قدرتمندی ایجاد کنید. این برنامهها میتوانند به طور یکپارچه در مرورگرهای وب، سرورها یا دستگاههای مختلفی که از 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 Worker در برنامه خود برای انجام وظایف خاص در یک نخ جداگانه استفاده کنند که میتواند عملکرد و پاسخگویی را بهبود بخشد. مثال زیر نحوه استفاده از Web Worker را برای انجام یک کار محاسباتی سنگین در یک نخ جداگانه و در عین حال پاسخگو نگه داشتن رابط کاربری اصلی نشان میدهد.
نحوه استفاده از چند نخی (Multi-Threading) در برنامههای جاوااسکریپت
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");
کار با "Offsets" دوبعدی و سهبعدی از طریق جاوااسکریپت
کتابخانه متنباز OpenCascade به توسعهدهندگان نرمافزار اجازه میدهد تا با "Offsets" دوبعدی و سهبعدی در برنامههای جاوااسکریپت خود کار کنند. برای انجام این کارها، ابتدا باید کتابخانههای مورد نیاز را بارگذاری کرده و یک شکل دوبعدی یا سهبعدی ایجاد کنید. پس از آن میتوانید یک شکل دوبعدی را offset کنید، میتوانید از کلاس BRepOffsetAPI_MakeOffset استفاده کنید و از کلاس BRepBuilderAPI_MakeSolid برای offset کردن یک شکل سهبعدی استفاده کنید. میتوانید از یک نرمافزار مدلسازی سهبعدی مانند FreeCAD برای نمایش شکل offset استفاده کنید.
نحوه ایجاد شکل دوبعدی از طریق API جاوا اسکریپت
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();