Bevezetés
Örömmel jelentjük be, hogy elérhető Aspose.3D FOSS TypeScript-hez mint a @aspose/3d npm csomag. Ez az MIT licenc alatt álló könyvtár termelésre kész 3D jelenetfeldolgozást biztosít a TypeScript és a Node.js alkalmazások számára, anélkül, hogy natív binárisokra, platformfüggő eszközkészletekre vagy kereskedelmi licencekre lenne szükség.
A könyvtár egy egyszerű köré tervezve Scene API: 3D fájlt betölt a scene.open(), ellenőrizze vagy alakítsa át a jelenet gráfot, és írja ki az eredményt a scene.save(). A teljes TypeScript típusdefiníciók be vannak csomagolva; nincs külön @types/ csomag szükséges.
Főbb jellemzők
Többformátumú I/O. A csomag egyetlen telepítéssel hat fő 3D formátumot olvas és ír. OBJ, glTF 2.0, GLB, STL, 3MF és COLLADA egyaránt támogatja az importot és az exportot. FBX importáló/exportáló osztályok léteznek, de a formátum automatikus felismerése még nincs beépítve, így az FBX fájlok nem tölthetők be a via scene.open().
Első osztályú TypeScript támogatás. Minden nyilvános osztály, felsorolás és opciótípus teljesen tipizált. A TypeScript nyelvi szolgáltatást támogató IDE-k (VS Code, WebStorm stb.) pontos automatikus kiegészítést és beágyazott dokumentációt biztosítanak minden API híváshoz.
Node.js 18–22+ kompatibilitás. A csomagot a Node.js 18, 20 és 22 LTS kiadásokkal tesztelték. Telepítéskor nem kerülnek natív kiegészítők fordításra, így minden Node.js által támogatott platformon működik.
Egy futásidejű függőség. Az egyetlen függőség a xmldom, amely kizárólag a COLLADA XML feldolgozásához használatos. A többi formátumparsoló tiszta JavaScript megvalósítás.
MIT licenc. Használat @aspose/3d kereskedelmi, nyílt forráskódú vagy belső projektekben korlátozás nélkül.
Gyors kezdés
Telepítse a csomagot:
npm install @aspose/3d
Töltsön be egy OBJ fájlt, és konvertálja bináris GLB formátumba:
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');
Iteráljon a jelenet csomópontjain, hogy megvizsgálja a geometriát:
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}`);
}
}
Támogatott formátumok
| Formátum | Kiterjesztés | Importálás | Exportálás | Megjegyzések |
|---|---|---|---|---|
| Wavefront OBJ | .obj | Igen | Igen | Olvas/ír .mtl anyagfájlok |
| glTF 2.0 | .gltf | Igen | Igen | JSON külsővel .bin puffer |
| Bináris GLB | .glb | Igen | Igen | Beállítás binaryMode: true ban GltfSaveOptions |
| STL | .stl | Igen | Igen | ASCII és bináris STL |
| 3MF | .3mf | Igen | Igen | Open Packaging Convention archívum |
| FBX | .fbx | Nem* | Nem* | Importáló/exportáló létezik, de a formátum automatikus felismerése nincs bekötve |
| COLLADA | .dae | Igen | Igen | Követeli a csomagolt xmldom függőséget |
A TypeScript előnyei
Munkavégzés a @aspose/3d a TypeScript-ben a kategória hibákat fordítási időben, nem pedig futásidőben észleli. Amikor meghívod scene.save(), a fordító ellenőrzi, hogy az opciók objektuma megfelel-e a várt SaveOptions alattípusnak a kiválasztott formátumhoz. A formátum-specifikus betöltési és mentési opciók csak a formátumra releváns tulajdonságokat fedik fel; nincs nem típusos opciós zsák, amire tippelni kellene.
Például, GltfSaveOptions.binaryMode egy típusos boolean, ezért a fordító elutasítja saveOpts.binaryMode = 'yes' mielőtt bármilyen kód futna. Animációs tulajdonságok a AnimationClip, anyagcsatornák a PbrMaterial, és csúcs elem típusok a VertexElement mind hasonlóan típusosak és felfedezhetők az IntelliSense segítségével anélkül, hogy külső dokumentációt kellene konzultálni.
Nyílt forráskód
A csomag a MIT Licenc. A forráskód elérhető a GitHubon. A közreműködések, hibajelentések és formátumtámogatási kérések szívesen fogadottak a tároló hibakövetőjén keresztül.
A könyvtárnak egy futásidejű függősége van: xmldom 0.9+ verzió, csak COLLADA fájlok olvasásakor vagy írásakor használatos. Minden más parser és író önálló, tiszta JavaScript megvalósítás, bináris komponensek nélkül.
Első lépések
- npm:
npm install @aspose/3d - Tudásbázis: 3D modellek betöltése TypeScriptben
- Tudásbázis: 3D jelenetek exportálása glTF/GLB formátumba TypeScriptben
- API Referencia: Aspose.3D FOSS TypeScripthez: Teljes osztályreferencia
- GitHub: aspose-3d/aspose-3d-node
Összegzés
@aspose/3d A 24.12.0-s verzió stabil, típusos, függőségekben kevés alapot biztosít a 3D fájlfeldolgozáshoz TypeScriptben és Node.js‑ben. Akár formátumkonverzió, jelenetellenőrzés, geometria kinyerése vagy feldolgozási lánc integráció a felhasználási eset, a könyvtár lefedi a leggyakoribb 3D csereformátumokat egy engedékeny nyílt forráskódú licenc alatt.
Telepítsd ma, és tudasd velünk, mit építesz.