Veelgestelde vragen
Veelgestelde vragen
Hoe installeer ik @aspose/3d?
Installeer via npm. Node.js 18 of hoger is vereist:
npm install @aspose/3dControleer 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?
| Formaat | Import | Export |
|---|---|---|
| OBJ (Wavefront) | Ja | Ja |
| glTF 2.0 / GLB | Ja | Ja |
| FBX (Autodesk) | Nee* | Nee* |
| STL (Stereo Lithography) | Ja | Ja |
| 3MF (3D Manufacturing) | Ja | Ja |
| COLLADA (.dae) | Ja | Ja |
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.