Úvod
S radosťou oznamujeme dostupnosť Aspose.3D FOSS pre TypeScript ako @aspose/3d npm balík. Táto MIT-licencovaná knižnica prináša produkčnej kvality spracovanie 3D scén do aplikácií v TypeScripte a Node.js bez potreby natívnych bináriek, špecifických nástrojových reťazcov pre platformu ani komerčných licencií.
Knižnica je navrhnutá okolo jednoduchého Scene API: načítať 3D súbor pomocou scene.open(), skontrolovať alebo transformovať graf scény a zapísať výsledok pomocou scene.save(). Kompletné definície typov pre TypeScript sú zahrnuté; nie je potrebný žiadny samostatný @types/ balík.
Kľúčové funkcie
Vstup/výstup viacerých formátov. Balík číta a zapisuje šesť hlavných 3D formátov v jednej inštalácii. OBJ je podporovaný pre import; glTF 2.0, GLB, STL, 3MF a COLLADA podporujú import aj export. Triedy pre import/export FBX existujú, ale automatická detekcia formátu ešte nie je implementovaná, takže FBX súbory nie je možné načítať pomocou scene.open().
Prvotriedna podpora TypeScriptu. Všetky verejné triedy, výčty a typy možností sú plne typované. IDE s podporou TypeScript jazykovej služby (VS Code, WebStorm atď.) poskytujú presné automatické dopĺňanie a inline dokumentáciu pre každé volanie API.
Kompatibilita s Node.js 18–22+. Balík je testovaný proti verziám Node.js 18, 20 a 22 LTS. Počas inštalácie sa nekompilujú žiadne natívne doplnky, takže funguje na všetkých platformách, ktoré Node.js podporuje.
Jedna runtime závislosť. Jedinou závislosťou je xmldom, používaná výhradne na parsovanie COLLADA XML. Všetky ostatné parsery formátov sú čisté implementácie v JavaScripte.
Licencia MIT. Použiť @aspose/3d v komerčných, open-source alebo interných projektoch bez obmedzenia.
Rýchly štart
Nainštalujte balík:
npm install @aspose/3d
Načítajte OBJ súbor a konvertujte ho na binárny 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 cez uzly scény a prehliadajte geometriu:
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 | Rozšírenie | Import | Export | Poznámky |
|---|---|---|---|---|
| Wavefront OBJ | .obj | Áno | Nie | Iba import; číta .mtl súbory materiálov |
| glTF 2.0 | .gltf | Áno | Áno | JSON s externým .bin buffer |
| Binárny GLB | .glb | Áno | Áno | Nastaviť binaryMode: true v GltfSaveOptions |
| STL | .stl | Áno | Áno | ASCII a binárny STL |
| 3MF | .3mf | Áno | Áno | archív Open Packaging Convention |
| FBX | .fbx | Nie* | Nie* | Importér/exportér existuje, ale automatické rozpoznávanie formátu nie je prepojené |
| COLLADA | .dae | Áno | Áno | Vyžaduje bundled xmldom závislosť |
Výhody TypeScriptu
Práca s @aspose/3d v TypeScripte zachytáva chyby kategórie počas kompilácie namiesto v čase behu. Keď voláte scene.save(), kompilátor overuje, že objekt možností zodpovedá očakávanému SaveOptions podtypu pre zvolený formát. Formátovo špecifické možnosti načítania a ukladania odhaľujú iba vlastnosti relevantné pre daný formát; neexistuje nešpecifikovaná sada možností, o ktorej by sa muselo hádať.
Napríklad, GltfSaveOptions.binaryMode je typovaný boolean, takže kompilátor odmietne saveOpts.binaryMode = 'yes' predtým, ako sa spustí akýkoľvek kód. Vlastnosti animácie na AnimationClip, kanály materiálu na PbrMaterial, a typy vrcholových prvkov na VertexElement sú všetky podobne typované a objaviteľné prostredníctvom IntelliSense bez potreby konzultovať externú dokumentáciu.
Open Source a zadarmo
Balík je publikovaný pod MIT License. Zdrojový kód je dostupný na GitHub. Príspevky, hlásenia chýb a požiadavky na podporu formátov sú vítané prostredníctvom issue trackeru úložiska.
Knižnica má jednu runtime závislosť: xmldom verzia 0.9+, používaná iba pri čítaní alebo zápise súborov COLLADA. Všetky ostatné parsery a zapisovače sú samostatné pure-JavaScript implementácie bez binárnych komponentov.
Začíname
- npm:
npm install @aspose/3d - Znalostná databáza: Ako načítať 3D modely v TypeScript
- Znalostná databáza: Ako exportovať 3D scény do glTF/GLB v TypeScript
- Referenčná dokumentácia API: Aspose.3D FOSS pre TypeScript: Kompletná referenčná dokumentácia tried
- GitHub: aspose-3d/aspose-3d-node
Záver
@aspose/3d verzia 24.12.0 poskytuje stabilný, typovaný, s nízkymi závislosťami základ pre spracovanie 3D súborov v TypeScript a Node.js. Či už je prípad použitia konverzia formátu, kontrola scény, extrakcia geometrie alebo integrácia do pipeline, knižnica pokrýva najbežnejšie 3D výmenné formáty pod permisívnou open-source licenciou.
Nainštalujte si ho ešte dnes a dajte nám vedieť, čo vytvoríte.