Veelgestelde vragen

Veelgestelde vragen

Veelgestelde vragen

Hoe installeer ik @aspose/3d?

Installeer via npm. Node.js 18 of hoger is vereist:

npm install @aspose/3d

Controleer de installatie:

import { Scene } from '@aspose/3d';
const scene = new Scene();
console.log('@aspose/3d ready');

TypeScript-typedefinities worden meegeleverd met het pakket. Er is geen apart @types/-pakket nodig.


Welke bestandsformaten worden ondersteund?

FormaatImportExport
OBJ (Wavefront)JaJa
glTF 2.0 / GLBJaJa
FBX (Autodesk)Nee*Nee*
STL (Stereo Lithography)JaJa
3MF (3D Manufacturing)JaJa
COLLADA (.dae)JaJa

Hoe laad ik een 3D‑bestand?

Maak een Scene en roep scene.open() aan:

import { Scene } from '@aspose/3d';
import { ObjLoadOptions } from '@aspose/3d/formats/obj';

const scene = new Scene();
scene.open('model.obj', new ObjLoadOptions());

Voor formaten die geen speciale opties nodig hebben, laat het tweede argument weg:

const scene = new Scene();
scene.open('model.glb');

Is scene.open() asynchroon?

Nee. scene.open() en scene.openFromBuffer() zijn synchrone oproepen. Als je non-blocking I/O nodig hebt, voer ze dan uit binnen een Node.js worker thread of wikkel ze met setImmediate.


Hoe sla ik op naar glTF/GLB?

Roep scene.save() aan met een bestandspad. Het formaat wordt automatisch gedetecteerd aan de hand van de extensie:

scene.save('output.glb');   // binary glTF
scene.save('output.gltf');  // JSON glTF
scene.save('output.obj');   // OBJ
scene.save('output.stl');   // STL

Hoe laad ik vanuit een buffer (in‑memory)?

Gebruik scene.openFromBuffer():

import * as fs from 'fs';
import { Scene } from '@aspose/3d';
import { ObjLoadOptions } from '@aspose/3d/formats/obj';

const buffer = fs.readFileSync('model.obj');
const scene = new Scene();
scene.openFromBuffer(buffer, new ObjLoadOptions());

Fout: Kan module ‘@aspose/3d/formats/obj’ niet vinden

Dit vereist Node.js 12.7+ package‑exports‑resolutie. Zorg ervoor dat je Node.js 18+ gebruikt. Voor TypeScript, stel "moduleResolution": "node16" of "bundler" in tsconfig.json:

{
  "compilerOptions": {
    "moduleResolution": "node16",
    "target": "ES2020"
  }
}

Wat is het type van node.entity?

node.entity is breed getypeerd. Om mesh‑specifieke eigenschappen te benaderen, controleer hun aanwezigheid met 'controlPoints' in node.entity of gebruik de Mesh‑klasse van @aspose/3d/entities:

import { Mesh } from '@aspose/3d/entities';

if (node.entity instanceof Mesh) {
    const mesh = node.entity;
    console.log(mesh.controlPoints.length);
}

Werkt de bibliotheek in de browser?

De bibliotheek is ontworpen voor Node.js. Browserondersteuning hangt af van de bundlerconfiguratie en van het vervangen van bestandsysteem‑API’s door in‑memory‑alternatieven.


Is de bibliotheek thread-safe?

Elk Scene-object is onafhankelijk. Het gebruiken van afzonderlijke Scene-instanties vanuit afzonderlijke Node.js-werknemerthreads is veilig, zolang je geen enkele scène over threads deelt zonder externe synchronisatie.


Welke Node.js‑versies worden ondersteund?

Node.js 18, 20 en 22 worden officieel ondersteund. TypeScript 5.0+ wordt aanbevolen.


Ondersteunt @aspose/3d animaties?

Ja. Het animatiesysteem omvat AnimationClip, AnimationChannel en keyframe-curve types die toegankelijk zijn via @aspose/3d/animation.


Zie ook

 Nederlands