JS-bibliotheek voor het lezen en schrijven van 2D- en 3D-CAD-bestanden
Met de gratis open source JavaScript-bibliotheek kunnen programmeurs AutoCAD-bestanden en 2D- of 3D-vormen maken en bewerken. 3D-objecten kunnen ook in JavaScript-applicaties worden gemaakt en bewerkt.
Wat is Aspose.CAD voor OpenCascade.js?
OpenCascade.js is een handige open-sourcebibliotheek waarmee ontwikkelaars zoals u eenvoudig 3D-objecten kunnen maken en beheren met JavaScript. Deze bibliotheek is gebaseerd op Open Cascade Technology (OCCT), een open-sourcetool voor 3D-modellering en numerieke simulatie. Met OpenCascade.js kunt u robuuste applicaties maken met behulp van de OpenCascade CAD-kernel. Deze applicaties kunnen naadloos werken in webbrowsers, servers of op verschillende apparaten die WebAssembly ondersteunen. De bibliotheek is zeer snel dankzij de kracht van Emscripten en WebAssembly, de CAD-kernel draait op bijna native snelheden en biedt volledige ondersteuning voor multithreading in alle moderne browsers.
De OpenCascade.js-bibliotheek is populair in diverse branches vanwege zijn precisie, betrouwbaarheid en snelheid. Een groot voordeel van OpenCascade.js is dat het meerdere bestandstypen ondersteunt, zoals STL, IGES en STEP. Dit betekent dat u 3D-modellen vanuit verschillende CAD-software of databronnen probleemloos kunt importeren en bewerken met de bibliotheek. De bibliotheek biedt ook diverse tools voor het maken en bewerken van 3D-objecten, waaronder de mogelijkheid om complexe vormen, curven en oppervlakken te creëren, en geometrische transformaties uit te voeren, zoals schalen, roteren en transleren.
De OpenCascade.js-bibliotheek helpt u 3D-objecten live te bekijken en biedt vele tools voor het weergeven, belichten en arceren van 3D-objecten. Dit stelt u in staat om levensechte en boeiende 3D-werelden te creëren. De bibliotheek beschikt over uitgebreide documentatie, zodat u in een mum van tijd aan de slag kunt en geavanceerde 3D-apps kunt ontwikkelen. De bibliotheek zit boordevol tools en functies om u te helpen bij het maken, construeren en bekijken van 3D-objecten. Het is perfect voor diverse doeleinden, zoals het ontwerpen van producten, het maken van objecten, het plannen van gebouwen en het werken in de bouw.
Aan de slag met OpenCascade.js
De aanbevolen manier om te installeren is via npm. Gebruik de volgende opdracht voor een soepele installatie.
OpenCascade.js installeren via npm
npm install opencascade.js@beta
Je kunt het ook handmatig installeren; download de nieuwste releasebestanden rechtstreeks van de GitHub-repository.
Multi-threadingondersteuning in JavaScript-apps
De open-source OpenCascade-bibliotheek ondersteunt multi-threading voor bepaalde bewerkingen. De bibliotheek biedt geen native ondersteuning voor multi-threading, omdat JavaScript een single-threaded taal is. Ontwikkelaars kunnen echter webworkers in hun applicatie gebruiken om bepaalde taken in een aparte thread uit te voeren, wat de prestaties en responsiviteit kan verbeteren. Het volgende voorbeeld laat zien hoe u een webworkers kunt gebruiken om een zware rekentaak in een aparte thread uit te voeren, terwijl de hoofdinterface responsief blijft.
Multi-threading gebruiken in JavaScript-apps
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");
Werken met 2D- en 3D-offsets via JavaScript
Met de open-sourcebibliotheek OpenCascade kunnen softwareontwikkelaars met 2D- en 3D-offsets werken in hun eigen JavaScript-applicaties. Om deze taken uit te voeren, moet u eerst de vereiste bibliotheken laden en een 2D- of 3D-vorm maken. Vervolgens kunt u een 2D-vorm offsetten met de klasse BRepOffsetAPI_MakeOffset en de klasse BRepBuilderAPI_MakeSolid. U kunt 3D-modelleringssoftware zoals FreeCAD gebruiken om de offsetvorm weer te geven.
Hoe maak je een 2D-vorm via de JavaScript 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();