Introduktion
Vi är glada att kunna meddela tillgängligheten av Aspose.3D FOSS för TypeScript som @aspose/3d npm-paket. Detta MIT-licensierade bibliotek ger produktionskvalitativ 3D-scenbearbetning till TypeScript- och Node.js-applikationer utan att kräva inhemska binärer, plattformspecifika verktygskedjor eller kommersiella licenser.
Biblioteket är utformat kring en enkel Scene API: ladda en 3D-fil med scene.open(), inspektera eller transformera scengrafen, och skriv resultatet med scene.save(). Fullständiga TypeScript-typsdefinitioner medföljer; inget separat @types/ paket krävs.
Viktiga funktioner
In- och utmatning i flera format. Paketet läser och skriver sex stora 3D-format i en enda installation. OBJ, glTF 2.0, GLB, STL, 3MF och COLLADA stödjer både import och export. FBX-import-/exportklasser finns men automatisk formatdetektering är ännu inte implementerad, så FBX-filer kan inte laddas via scene.open().
Förstklassigt TypeScript-stöd. Alla offentliga klasser, uppräkningar och alternativtyper är fullt typade. IDE:er med stöd för TypeScript-språktjänst (VS Code, WebStorm osv.) ger exakt autokomplettering och inbäddad dokumentation för varje API-anrop.
Kompatibilitet med Node.js 18–22+. Paketet testas mot Node.js 18, 20 och 22 LTS-utgåvor. Inga inhemska tillägg kompileras under installationen, så det fungerar på alla plattformar som Node.js stödjer.
Ett runtime‑beroende. Det enda beroendet är xmldom, används uteslutande för COLLADA XML‑parsing. Alla andra formatparsers är rena JavaScript‑implementationer.
MIT-licens. Använd @aspose/3d i kommersiella, öppen källkod eller interna projekt utan begränsningar.
Snabbstart
Installera paketet:
npm install @aspose/3d
Läs in en OBJ‑fil och konvertera den till en binär GLB:
import { Scene } from '@aspose/3d';
import { ObjLoadOptions } from '@aspose/3d/formats/obj';
import { GltfSaveOptions, GltfFormat } from '@aspose/3d/formats/gltf';
const scene = new Scene();
scene.open('model.obj', new ObjLoadOptions());
const saveOpts = new GltfSaveOptions();
saveOpts.binaryMode = true; // produce a single .glb file
scene.save('output.glb', GltfFormat.getInstance(), saveOpts);
console.log('Converted to GLB successfully');
Iterera över scen‑noder för att inspektera geometri:
import { Scene } from '@aspose/3d';
import { ObjLoadOptions } from '@aspose/3d/formats/obj';
const scene = new Scene();
scene.open('model.obj', new ObjLoadOptions());
for (const node of scene.rootNode.childNodes) {
console.log(`Node: ${node.name}`);
if (node.entity) {
console.log(` Entity type: ${node.entity.constructor.name}`);
}
}
Stödda format
| Format | Filändelse | Import | Export | Anteckningar |
|---|---|---|---|---|
| Wavefront OBJ | .obj | Ja | Ja | Läser/skriv .mtl materialfiler |
| glTF 2.0 | .gltf | Ja | Ja | JSON med externa .bin buffert |
| Binär GLB | .glb | Ja | Ja | Ställ in binaryMode: true i GltfSaveOptions |
| STL | .stl | Ja | Ja | ASCII och binär STL |
| 3MF | .3mf | Ja | Ja | Open Packaging Convention-arkiv |
| FBX | .fbx | Nej* | Nej* | Importör/exportör finns men automatisk formatdetektering är inte ansluten |
| COLLADA | .dae | Ja | Ja | Kräver inbäddad xmldom beroende |
Fördelar med TypeScript
Arbetar med @aspose/3d i TypeScript fångar kategorifel vid kompileringstid snarare än vid körning. När du anropar scene.save(), kompilatorn verifierar att options object matchar det förväntade SaveOptions subtyp för det valda formatet. Format‑specifika inläsnings‑ och sparalternativ exponerar endast de egenskaper som är relevanta för det formatet; det finns ingen otypad options bag att gissa på.
Till exempel, GltfSaveOptions.binaryMode är en typad boolean, så förkastar kompilatorn saveOpts.binaryMode = 'yes' innan någon kod körs. Animationsegenskaper på AnimationClip, materialkanaler på PbrMaterial, och vertexelementtyper på VertexElement är alla likadant typade och kan upptäckas via IntelliSense utan att konsultera extern dokumentation.
Öppen källkod
Paketet är publicerat under MIT License. Källkoden finns tillgänglig på GitHub. Bidrag, felrapporter och förfrågningar om formatstöd är välkomna via repositoryns ärendehanterare.
Biblioteket har ett runtime‑beroende: xmldom version 0.9+, används endast vid läsning eller skrivning av COLLADA‑filer. Alla andra parser‑ och skrivare är självständiga pure‑JavaScript‑implementationer utan binära komponenter.
Komma igång
- npm:
npm install @aspose/3d - Kunskapsbas: Hur man laddar 3D‑modeller i TypeScript
- Kunskapsbas: Hur man exporterar 3D‑scener till glTF/GLB i TypeScript
- API‑referens: Aspose.3D FOSS för TypeScript: Fullständig klassreferens
- GitHub: aspose-3d/aspose-3d-node
Slutsats
@aspose/3d version 24.12.0 tillhandahåller en stabil, typad, beroende‑lätt grund för 3D‑filbehandling i TypeScript och Node.js. Oavsett om användningsfallet är formatkonvertering, sceninspektion, geometriextraktion eller pipeline‑integration, täcker biblioteket de vanligaste 3D‑utbytesformaten under en tillåtande öppen källkodslicens.
Installera det idag och låt oss veta vad du bygger.