1. Các sản phẩm
  2.   cad
  3.   JavaScript
  4.   OpenCascade.js
 
  

Thư viện JS để đọc và ghi tệp CAD 2D và 3D 

Thư viện JavaScript miễn phí nguồn mở cho phép lập trình viên tạo và thao tác các tệp AutoCAD và hình dạng 2D hoặc 3D. Tạo và chỉnh sửa các đối tượng 3D bên trong các ứng dụng JS.

Aspose.CAD cho OpenCascade.js là gì?

OpenCascade.js là một thư viện mã nguồn mở tiện dụng, cho phép các nhà phát triển như bạn tạo và điều khiển các đối tượng 3D một cách dễ dàng bằng JavaScript. Thư viện này dựa trên Công nghệ Open Cascade (OCCT), một công cụ mã nguồn mở dành cho mô hình hóa 3D và mô phỏng số. Với OpenCascade.js, bạn có thể tạo các ứng dụng mạnh mẽ bằng cách sử dụng Nhân CAD OpenCascade. Các ứng dụng này có thể hoạt động liền mạch trên trình duyệt web, máy chủ hoặc trên nhiều thiết bị hỗ trợ WebAssembly. Thư viện này rất nhanh nhờ sức mạnh của Emscripten và WebAssembly, Nhân CAD chạy với tốc độ gần như bản địa và hỗ trợ đầy đủ đa luồng trên tất cả các trình duyệt hiện đại.

Thư viện OpenCascade.js phổ biến trong nhiều ngành công nghiệp nhờ độ chính xác, độ tin cậy và tốc độ của nó. Một điểm tuyệt vời của OpenCascade.js là nó có thể xử lý nhiều loại tệp như STL, IGES và STEP. Điều này có nghĩa là bạn có thể dễ dàng nhập các mô hình 3D từ nhiều phần mềm CAD hoặc nguồn dữ liệu khác nhau và chỉnh sửa chúng bằng thư viện. Thư viện cũng cung cấp nhiều công cụ để tạo và chỉnh sửa các đối tượng 3D, bao gồm khả năng tạo các hình dạng, đường cong và bề mặt phức tạp, cũng như thực hiện các phép biến đổi hình học, chẳng hạn như tỷ lệ, xoay và dịch chuyển.

Thư viện OpenCascade.js giúp bạn xem các đối tượng 3D trực tiếp và cung cấp nhiều công cụ để hiển thị, chiếu sáng và đổ bóng cho các đối tượng 3D. Điều này cho phép bạn tạo ra những thế giới 3D sống động và hấp dẫn. Thư viện có tài liệu hướng dẫn tuyệt vời, vì vậy bạn có thể dễ dàng bắt đầu và phát triển các ứng dụng 3D nâng cao ngay lập tức. Thư viện được tích hợp đầy đủ các công cụ và tính năng giúp bạn tạo, xây dựng và xem các vật thể 3D. Thư viện hoàn hảo cho nhiều mục đích sử dụng khác nhau như thiết kế sản phẩm, chế tạo đồ vật, lập kế hoạch xây dựng và làm việc trong ngành xây dựng.

Previous Next

Bắt đầu với OpenCascade.js

Cách cài đặt được khuyến nghị là sử dụng npm. Vui lòng sử dụng lệnh sau để cài đặt suôn sẻ.

Cài đặt OpenCascade.js thông qua npm

 npm install opencascade.js@beta  

Bạn cũng có thể cài đặt thủ công; tải xuống các tệp phát hành mới nhất trực tiếp từ kho lưu trữ GitHub.

Hỗ trợ Đa luồng trong Ứng dụng JavaScript

Thư viện OpenCascade mã nguồn mở hỗ trợ đa luồng cho một số thao tác nhất định. Thư viện này không cung cấp hỗ trợ đa luồng gốc, vì JavaScript là ngôn ngữ đơn luồng. Tuy nhiên, các nhà phát triển có thể sử dụng Web Worker trong ứng dụng của họ để thực hiện một số tác vụ nhất định trong một luồng riêng biệt, điều này có thể cải thiện hiệu suất và khả năng phản hồi. Ví dụ sau đây minh họa cách sử dụng Web Worker để thực hiện một tác vụ tính toán nặng trong một luồng riêng biệt trong khi vẫn giữ cho giao diện người dùng chính phản hồi.

Cách sử dụng Đa luồng trong Ứng dụng JavaScript

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");

Làm việc với "Offset" 2D và 3D thông qua JavaScript

Thư viện OpenCascade mã nguồn mở cho phép các nhà phát triển phần mềm làm việc với "Offset" 2D và 3D bên trong các ứng dụng JavaScript của riêng họ. Để hoàn thành các tác vụ, trước tiên bạn cần tải các thư viện cần thiết và tạo một hình dạng 2D hoặc 3D. Sau đó, bạn có thể offset một hình dạng 2D, bạn có thể sử dụng lớp BRepOffsetAPI_MakeOffset và sử dụng lớp BRepBuilderAPI_MakeSolid để offset một hình dạng 3D. Bạn có thể sử dụng phần mềm mô hình hóa 3D như FreeCAD để hiển thị hình dạng offset.

Cách tạo hình dạng 2D thông qua API 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();
 Tiếng Việt