1. Produkter
  2.   Aspose.3D
  3.   Aspose.3D FOSS for TypeScript

Aspose.3D FOSS för TypeScript

Läs in, konstruera, transformera och exportera 3D‑scener från Node.js — fullt typad, öppen källkod och produktionsklar med en enda npm‑installation.

Öppen källkod TypeScript-bibliotek för 3D‑filbehandling

Aspose.3D FOSS för TypeScript är ett MIT-licensierat bibliotek för att arbeta med 3D-filformat i Node.js-applikationer. Installera det med ett enda npm install @aspose/3d kommando och börja läsa, konstruera och skriva 3D-scener i TypeScript omedelbart, utan inhemska tillägg att kompilera, utan externa SDK:er att installera och utan renderare krävs.

Biblioteket exponerar ett fullständigt typat scene‑graph‑API byggt kring Scene, Node, Entity, Mesh, Camera, Light och Transform, samma konceptuella modell som används av professionella 3D‑verktyg.
Formatstöd inkluderar OBJ (Wavefront, med .mtl materialladdning), glTF 2.0 och GLB binär (PBR‑material), STL (binär och ASCII, full roundtrip), COLLADA (DAE), 3MF och FBX.
Per‑format‑alternativklasser såsom ObjLoadOptions och GltfSaveOptions ger dig exakt kontroll över koordinatsystemets orientering, skala, normalisering av normaler, binär vs. JSON utdata, och materialladdning.

Aspose.3D FOSS riktar sig mot Node.js 18, 20 och 22+ med TypeScript 5.0+ och kompileras till CommonJS. Biblioteket levereras med strikta TypeScript‑kompilatorinställningar (noImplicitAny, strictNullChecks) så att din IDE ger fullständig autokomplettering och kompileringstidssäkerhet. Dess enda körtidssökändighet, xmldom, installeras automatiskt. För företagsproduktfamiljen, se Aspose.3D — Enterprise Product Family.

3D-formatstöd och typad scen‑graf‑API

  • OBJ / MTL: Ladda Wavefront OBJ-filer med medföljande materialdefinitioner.
  • glTF 2.0 / GLB: PBR-materialladdning och binär GLB-utmatning via GltfSaveOptions.
  • STL: Läs och skriv både binära och ASCII STL med fullständig rundresesverifiering.
  • COLLADA, 3MF, FBX: Ytterligare formatstöd med per-format alternativklasser.
  • Full TypeScript-typer: Varje klass, metod och alternativ är starkt typade med noImplicitAny och strictNullChecks.

Var Aspose.3D FOSS kan användas

  • Node.js asset pipelines: Importera OBJ-filer, validera och återorientera geometri, och exportera som GLB i CI.
  • Spelverktyg: Batchbearbeta 3D meshes utan en inbyggd motor eller renderare.
  • 3D printing workflows: Läs, validera och återexportera STL- och 3MF-filer.
  • Serverlösa backends: Kör 3D‑konverteringsändpunkter i Lambda eller Cloud Functions.
  • Innehållsmigrering: Konvertera mellan formatfamiljer i stor skala från ett enda skript.

Alternativ per format och koordinatkontroll

  • Koordinatsystemorientering: Vänd axlar och justera skala per format med alternativklasser.
  • Normal normalisering: Normalisera automatiskt vertexnormaler vid inläsning eller sparning.
  • Binär vs. JSON utdata: Välj kompakt GLB eller läsbar glTF via GltfSaveOptions.
  • Material loading control: Aktivera eller inaktivera MTL/texturladdning för snabbare parsning.
  • Rundresans noggrannhet: Okända scengrafnoder bevaras ordagrant vid återlagring.

Utvecklarupplevelse

Aspose.3D FOSS för TypeScript installeras med ett enda npm install @aspose/3d kommando. Det finns inga inhemska tillägg att kompilera. Biblioteket är ren TypeScript/JavaScript med ett automatiskt installerat beroende (xmldom).

Det starkt typade API:et ger fullständig IDE‑autocomplete för varje scen‑grafklass och formatalternativ. Biblioteket riktar sig mot Node.js 18–22+ och TypeScript 5.0+, körs identiskt på Linux CI‑runners och utvecklares arbetsstationer, och är MIT‑licensed med en open issue tracker på GitHub.

Läs in en OBJ-scen och exportera som glTF

Installera med npm, använd sedan scene.open() med ObjLoadOptions för att ladda mesh tillsammans med dess MTL‑materialfil. Både open() och save() är synkrona — ingen await eller Promise‑kedjning behövs. Att anropa scene.save() med en .gltf‑extension skriver standard glTF 2.0 JSON — formatet härleds automatiskt från filändelsen.

npm install @aspose/3d
import { Scene } from "@aspose/3d";
import { ObjLoadOptions } from "@aspose/3d/formats/obj";
const scene = new Scene();
scene.open("model.obj", new ObjLoadOptions());
// Export as glTF 2.0 JSON
scene.save("model.gltf");

Konvertera STL till binär GLB

För att producera en kompakt binär GLB istället för standard JSON glTF, skicka GltfSaveOptions med binaryMode = true. Både open() och save() är synkrona — ingen await behövs.

import { Scene } from "@aspose/3d";
import { GltfSaveOptions } from "@aspose/3d/formats/gltf";
const scene = new Scene();
scene.open("mesh.stl");
// Save as compact binary GLB
const opts = new GltfSaveOptions();
opts.binaryMode = true;
scene.save("mesh.glb", opts);

Vanliga Frågor

Vad är Aspose.3D FOSS för TypeScript?

Det är ett gratis, MIT-licensierat TypeScript/Node.js‑bibliotek för att läsa in, manipulera och spara 3D‑scener utan att installera något native‑tillägg eller externt SDK.

Vilka 3D-format stöds?

OBJ (med .mtl), glTF 2.0 och GLB, STL (binär och ASCII), COLLADA (DAE), 3MF och FBX. Varje format har en dedikerad typad alternativklass.

Kräver det inbyggda Node.js‑tillägg?

Nej. Aspose.3D FOSS för TypeScript är ren JavaScript/TypeScript. Det kräver inget kompileringssteg och har ett enda körtidberoende (xmldom) som installeras automatiskt av npm.

Hur installerar jag det?

Kör npm install @aspose/3d. Inga ytterligare systempaket eller inhemska tillägg krävs.

Vilka versioner av Node.js och TypeScript stöds?

Node.js 18, 20 och 22+. TypeScript 5.0+. Biblioteket kompileras till CommonJS och fungerar med strikta TypeScript-inställningar.

Levereras det med TypeScript-typdefinitioner?

Ja. Alla klasser, metoder, uppräkningar och alternativtyper är fullt typade med noImplicitAny och strictNullChecks aktiverade.

Kan jag styra orienteringen av koordinatsystemet?

Ja. Per-format alternativklasser som ObjLoadOptions och GltfSaveOptions låter dig vända axlar, justera skala och normalisera normaler utan egen parsingskod.

Var kan jag hitta källkoden?

Biblioteket är licensierat under MIT och finns på GitHub. Felrapporter och pull‑requests är välkomna.

  

Stöd och Lärande Resurser

 Svenska