Úvod
S potěšením oznamujeme dostupnost Aspose.3D FOSS pro TypeScript jako @aspose/3d npm balíček. Tato knihovna licencovaná pod MIT přináší produkční kvalitu zpracování 3D scén do aplikací v TypeScriptu a Node.js, aniž by vyžadovala nativní binárky, platformně specifické toolchainy nebo komerční licence.
Knihovna je navržena kolem jednoduchého Scene API: načíst 3D soubor pomocí scene.open(), prohlédnout nebo transformovat graf scény a výsledek zapsat pomocí scene.save(). Kompletní typové definice pro TypeScript jsou součástí; není potřeba samostatný @types/ balíček není vyžadován.
Klíčové vlastnosti
Víceformátové I/O. Balíček čte a zapisuje šest hlavních 3D formátů v jedné instalaci. OBJ je podporován pro import; glTF 2.0, GLB, STL, 3MF a COLLADA podporují jak import, tak export. Třídy pro import/export FBX existují, ale automatická detekce formátu ještě není zapojena, takže soubory FBX nelze načíst pomocí scene.open().
Plnohodnotná podpora TypeScriptu. Všechny veřejné třídy, výčty a typy možností jsou plně typované. IDE s podporou TypeScript language service (VS Code, WebStorm atd.) poskytují přesné automatické doplňování a inline dokumentaci pro každý API volání.
Kompatibilita s Node.js 18–22+. Balíček je testován proti verzím Node.js 18, 20 a 22 LTS. Během instalace se nekompilují žádné nativní doplňky, takže funguje na všech platformách, které Node.js podporuje.
Jedna runtime závislost. Jedinou závislostí je xmldom, používá se výhradně pro parsování COLLADA XML. Všechny ostatní parsery formátů jsou čisté implementace v JavaScriptu.
Licence MIT. Použít @aspose/3d v komerčních, open-source nebo interních projektech bez omezení.
Quick Start
Nainstalujte balíček:
npm install @aspose/3d
Načtěte soubor OBJ a převeďte jej na binární 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');
Iterujte přes uzly scény a prohlédněte geometrii:
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}`);
}
}
Podporované formáty
| Formát | Přípona | Import | Export | Poznámky |
|---|---|---|---|---|
| Wavefront OBJ | .obj | Ano | Ne | Pouze import; čte .mtl soubory materiálů |
| glTF 2.0 | .gltf | Ano | Ano | JSON s externími .bin buffer |
| Binární GLB | .glb | Ano | Ano | Nastavit binaryMode: true v GltfSaveOptions |
| STL | .stl | Ano | Ano | ASCII a binární STL |
| 3MF | .3mf | Ano | Ano | archiv Open Packaging Convention |
| FBX | .fbx | Ne* | Ne* | Importér/exportér existuje, ale automatické rozpoznání formátu není napojeno |
| COLLADA | .dae | Ano | Ano | Vyžaduje zabalené xmldom závislost |
Výhody TypeScriptu
Práce s @aspose/3d v TypeScript zachytává chyby kategorií při kompilaci místo během běhu. Když voláte scene.save(), kompilátor ověřuje, že objekt možností odpovídá očekávanému SaveOptions podtyp pro zvolený formát. Formátově specifické možnosti načítání a ukládání vystavují pouze vlastnosti relevantní pro tento formát; neexistuje žádná netypovaná sbírka možností, kterou by bylo třeba hádat.
Například, GltfSaveOptions.binaryMode je typovaný boolean, takže kompilátor odmítá saveOpts.binaryMode = 'yes' před spuštěním jakéhokoli kódu. Vlastnosti animace na AnimationClip, kanály materiálu na PbrMaterial, a typy vrcholových elementů na VertexElement jsou všechny podobně typované a objevitelných pomocí IntelliSense bez nutnosti konzultovat externí dokumentaci.
Open source a zdarma
Balíček je publikován pod MIT License. Zdrojový kód je dostupný na GitHubu. Přispěvky, hlášení chyb a žádosti o podporu formátů jsou vítány prostřednictvím issue trackeru repozitáře.
Knihovna má jednu runtime závislost: xmldom verze 0.9+, používá se pouze při čtení nebo zápisu souborů COLLADA. Všechny ostatní parsery a zapisovače jsou samostatné čistě JavaScriptové implementace bez binárních komponent.
Začínáme
- npm:
npm install @aspose/3d - Znalostní báze: Jak načíst 3D modely v TypeScriptu
- Znalostní báze: Jak exportovat 3D scény do glTF/GLB v TypeScriptu
- API Reference: Aspose.3D FOSS pro TypeScript: Kompletní referenční příručka tříd
- GitHub: aspose-3d/aspose-3d-node
Závěr
@aspose/3d verze 24.12.0 poskytuje stabilní, typovanou, lehkou na závislosti základnu pro zpracování 3D souborů v TypeScriptu a Node.js. Ať už je případ použití konverze formátů, inspekce scény, extrakce geometrie nebo integrace do pipeline, knihovna pokrývá nejběžnější 3D výměnné formáty pod permisivní open-source licencí.
Nainstalujte ji ještě dnes a dejte nám vědět, co vytvoříte.