Bevezetés

Örömmel jelentjük be, hogy a következők elérhetők: Aspose3D FOSS a TypeScripthez mint a @aspose/3d Ez az MIT-licencelt könyvtár termelési minőségű 3D jelenet feldolgozását hozza a TypeScript és Node.js alkalmazásokhoz anélkül, hogy természetes bináris programok, platformspecifikus szerszámláncok vagy kereskedelmi licencek szükségesek lennének.

A könyvtár egy egyszerű, és átlátható módszerrel készült. Scene API: töltse be a 3D fájlt scene.open(), ellenőrizze vagy átalakítja a jelenet grafikon, és írja le az eredményt scene.save().A teljes TypeScript típusdefiníciókat össze kell kötni; nincs különálló . @types/ A csomagolás szükséges.

Fő jellemzői

Többformátumú bemeneti/kibocsátási rendszer. A csomag egy telepítéssel hat fő 3D formátumot olvas és ír. OBJ, glTF 2.0, GLB, STL, 3MF és COLLADA mind import-export támogatást nyújt. FBX importőr/exportáló osztályok léteznek, de a format automatikus felderítése még nem vezetékes, így az FBx fájlok nem tölthetők be via scene.open().

Első osztályú TypeScript támogatást. Minden nyilvános osztály, felszámolás és opció típus teljesen betipolva van. A TypeScript nyelvi szolgáltatási támogatással rendelkező IDE-k (VS Code, WebStorm stb.) pontos automatikus kitöltést és inline dokumentációt biztosítanak minden API híváshoz.

Node.js 18–22+ compatibility. A csomag Node.js 18, 20 és 22 LTS kiadásokkal tesztelt, nem állítanak össze nativen kiegészítőket a telepítés során, így minden platformon működik, amelyet a Node .js támogat.

Egy futási idő függőség. Az egyetlen függőség az, hogy… xmldom,A többi formátum-elemző tiszta JavaScript implementáció.

MIT-i engedély. Használat @aspose/3d kereskedelmi, nyílt forráskódú vagy belső projektekben korlátozás nélkül.

Gyors kezdés

A csomag telepítése:

asposefoss/3d is not yet published — build from source until it ships. See the project README for build instructions.

Töltse be egy OBJ fájlt és konvertálja bináris GLB-be:

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áljuk a jelenet csomópontjait, hogy ellenőrizzük a geometria:

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átumA BizottságBehozatalaKivitelMegjegyzések
OBJ.objIgen, igen. - Az is jó.Igen, igen. - Az is jó.Hullámfront OBJ; olvas/ír .mtl anyagfájlok
glTF-t.gltf / .glbIgen, igen. - Az is jó.Igen, igen. - Az is jó.glTF 2.0 JSON és GLB bináris
STL.stlIgen, igen. - Az is jó.Igen, igen. - Az is jó.ASCII és bináris STL
3MF.3mfIgen, igen. - Az is jó.Igen, igen. - Az is jó.Nyitott csomagolási egyezmény archívuma
FBX.fbxNem*Nem*Importőr/exportőr létezik, de formátum automatikus felderítése nem vezetékes
COLLADA.daeIgen, igen. - Az is jó.Igen, igen. - Az is jó.A követelmények összevontak. xmldom függőség

TypeScript előnyei

A munkavégzés során a @aspose/3d a TypeScript felveszi a kategóriás hibákat az összeállítási időben, nem pedig futtatási idő alatt. Amikor hívja a scene.save(), a kompilátor ellenőrzi, hogy az opciós objektum megfelel-e a várt értéknek. SaveOptions A kiválasztott formátum altípusának. A formáttal kapcsolatos betöltés és mentési lehetőségek csak az adott formához kapcsolódó tulajdonságokat mutatják be; nincs hozzáadható, nem típusosított opciókatartály.

Például:, GltfSaveOptions.binaryMode egy betűzött boolean, így a kompilátor elutasítja az saveOpts.binaryMode = 'yes' Az animációs tulajdonságok a AnimationClip, az anyagi csatornákon a PbrMaterial, és a csúcs elemtípusok az alábbiakban: VertexElement Az IntelliSense-en keresztül azonosíthatóak, anélkül hogy külső dokumentációkhoz kellene fordulni.

Nyitott forrású

A csomag a következő cím alatt kerül közzétételre: MIT Licenc.A forráskód elérhető a GitHub-on. Az adatszolgáltatások, hibakutatások és formátum támogatási kérések szívesen fogadhatók az adattár problémamegfigyelőjével.

A könyvtárnak van egy futási idő függősége: xmldom (^0.6.0), csak a COLLADA fájlok olvasásakor vagy írásában használható. Minden más elemző és író önálló, tiszta JavaScript-implementációk bináris komponensek nélkül.

Kezdjük!

A Bizottság következtetései

@aspose/3d A 24.12.0 verzió stabil, betipzott és függőséges alapokat biztosít a 3D fájl feldolgozáshoz TypeScript-ben és Node.js-en. Függetlenül attól, hogy az alkalmazás formátumkonverziót jelent-e, jelenetellenőrzést, geometria kivonást vagy csővezeték integrációt, a könyvtár egy engedélyező nyílt forráskódú licenc alapján fedezi a leggyakoribb 3 D cseréformákat.

Most telepítse be, és mondja meg nekünk mit épített.