Biblioteca JS para leitura e escrita de ficheiros CAD 2D e 3D
Biblioteca JavaScript gratuita e de código aberto que permite aos programadores criar e manipular ficheiros AutoCAD e formas 2D ou 3D, bem como criar e editar objetos 3D dentro de aplicações JavaScript.
O que é o Aspose.CAD para OpenCascade.js?
OpenCascade.js é uma biblioteca prática de código aberto que permite a programadores como você criar e controlar objetos 3D com facilidade utilizando JavaScript. Esta biblioteca baseia-se na Open Cascade Technology (OCCT), uma ferramenta de código aberto para modelação 3D e simulação numérica. Com o OpenCascade.js, pode criar aplicações robustas utilizando o OpenCascade CAD Kernel. Estas aplicações podem operar perfeitamente em navegadores da Web, servidores ou em vários dispositivos compatíveis com WebAssembly. A biblioteca é muito rápida devido ao poder do Emscripten e do WebAssembly, o CAD Kernel funciona a velocidades quase nativas e suporta totalmente multithreading em todos os browsers modernos.
A biblioteca OpenCascade.js é popular em vários setores devido à sua precisão, fiabilidade e velocidade. Uma excelente funcionalidade do OpenCascade.js é que pode lidar com vários tipos de ficheiro, como STL, IGES e STEP. Isto significa que pode importar modelos 3D de diferentes softwares CAD ou origens de dados e editá-los utilizando a biblioteca. A biblioteca oferece também uma variedade de ferramentas para criar e editar objetos 3D, incluindo a capacidade de criar formas, curvas e superfícies complexas, bem como de realizar transformações geométricas, como dimensionamento, rotação e translação.
A biblioteca OpenCascade.js ajuda-o a ver objetos 3D em direto e oferece diversas ferramentas para exibir, iluminar e sombrear objetos 3D. Isto permite-lhe criar mundos 3D realistas e envolventes. A biblioteca possui uma excelente documentação, para que possa começar e desenvolver aplicações 3D avançadas com facilidade e rapidez. A biblioteca está repleta de ferramentas e recursos para o ajudar a criar, construir e visualizar itens 3D. É perfeita para diversas utilizações, como projetar produtos, fabricar objetos, planear edifícios e trabalhar na construção civil.
Introdução ao OpenCascade.js
A forma recomendada de instalar é usando o npm. Utilize o seguinte comando para uma instalação sem problemas.
Instalar o OpenCascade.js via npm
npm install opencascade.js@beta
Também pode instalá-lo manualmente; descarregue os ficheiros de versão mais recentes directamente do repositório GitHub.
Suporte ao Multithreading em Aplicações JavaScript
A biblioteca OpenCascade de código aberto suporta multithreading para determinadas operações. A biblioteca não suporta nativamente multithreading, uma vez que JavaScript é uma linguagem de thread único. No entanto, os programadores podem utilizar Web Workers nas suas aplicações para executar determinadas tarefas num thread separado, o que pode melhorar o desempenho e a capacidade de resposta. O exemplo seguinte demonstra como utilizar um Web Worker para executar uma tarefa computacional pesada num thread separado, mantendo a interface do utilizador principal responsiva.
Como utilizar multithreading em aplicações 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");
Trabalhar com "Offsets" 2D e 3D via JavaScript
A biblioteca de código aberto OpenCascade permite aos programadores de software trabalhar com "Offsets" 2D e 3D dentro das suas próprias aplicações JavaScript. Para realizar as tarefas, primeiro precisa de carregar as bibliotecas necessárias e criar uma forma 2D ou 3D. Depois disso, pode deslocar uma forma 2D utilizando a classe BRepOffsetAPI_MakeOffset e a classe BRepBuilderAPI_MakeSolid para deslocar uma forma 3D. Pode utilizar um software de modelação 3D como o FreeCAD para exibir a forma deslocada.
Como criar formas 2D através de 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();