Ofte stillede spørgsmål

Ofte stillede spørgsmål

Ofte stillede spørgsmål

Hvordan installerer jeg @aspose/3d?

Installer fra npm. Node.js 18 eller nyere er påkrævet:

npm install @aspose/3d

Bekræft installationen:

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

TypeScript-typedefinitioner er med i pakken. Ingen separat @types/ pakke er nødvendig.


Hvilke filformater understøttes?

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

Hvordan indlæser jeg en 3D-fil?

Opret en Scene og kald scene.open():

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

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

For formater, der ikke kræver særlige indstillinger, udelad det andet argument:

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

Er scene.open() asynkron?

Nej. scene.open() og scene.openFromBuffer() er synkrone kald. Hvis du har brug for ikke‑blokerende I/O, kør dem inden for en Node.js worker‑tråd eller indpak dem med setImmediate.


Hvordan gemmer jeg til glTF/GLB?

Kald scene.save() med en filsti. Formatet detekteres automatisk ud fra filendelsen:

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

Hvordan indlæser jeg fra en buffer (i hukommelsen)?

Brug 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());

Fejl: Kan ikke finde modulet ‘@aspose/3d/formats/obj’

Dette kræver Node.js 12.7+ pakkeeksportopløsning. Sørg for, at du kører Node.js 18+. For TypeScript skal du indstille "moduleResolution": "node16" eller "bundler" i tsconfig.json:

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

Hvad er typen af node.entity?

node.entity er typet bredt. For at få adgang til mesh‑specifikke egenskaber, skal du kontrollere deres tilstedeværelse med 'controlPoints' in node.entity eller bruge Mesh‑klassen fra @aspose/3d/entities:

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

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

Kører biblioteket i browseren?

Biblioteket er designet til Node.js. Browserunderstøttelse afhænger af bundlerkonfiguration og filsystem‑API’er, der erstattes med in‑memory‑alternativer.


Er biblioteket trådsikkert?

Hvert Scene-objekt er uafhængigt. Brug af separate Scene-instanser fra separate Node.js-arbejdstredere er sikkert, så længe du ikke deler en enkelt scene på tværs af tråde uden ekstern synkronisering.


Hvilke Node.js-versioner understøttes?

Node.js 18, 20 og 22 er officielt understøttet. TypeScript 5.0+ anbefales.


Understøtter @aspose/3d animationer?

Ja. Animationssystemet inkluderer AnimationClip, AnimationChannel og keyframe kurvetyper, som er tilgængelige fra @aspose/3d/animation.


Se også

 Dansk