Ievads

Mēs esam priecīgi paziņot par pieejamību Aspose.3D FOSS for TypeScript@aspose/3d npm pakotne. Šī ar MIT licenci licencētā bibliotēka nodrošina ražošanas kvalitātes 3D skatu apstrādi TypeScript un Node.js lietojumprogrammām, neprasot vietējus bināros failus, platformas specifiskus rīku ķēdes vai komerciālas licences.

Bibliotēka ir veidota ap vienkāršu Scene API: ielādēt 3D failu ar scene.open(), pārbaudīt vai pārveidot ainas grafu, un ierakstīt rezultātu ar scene.save(). Pilnas TypeScript tipa definīcijas ir iekļautas; @types/ nav atsevišķas pakotnes vajadzības.

Galvenās funkcijas

Daudzformātu I/O. Pakotne lasa un raksta sešus galvenos 3D formātus vienā instalācijā. OBJ, glTF 2.0, GLB, STL, 3MF un COLLADA atbalsta gan importu, gan eksportu. FBX importētāja/eksportētāja klases pastāv, bet formāta automātiskā noteikšana vēl nav integrēta, tāpēc FBX failus nevar ielādēt caur scene.open().

Pirmklases TypeScript atbalsts. Visas publiskās klases, uzskaitījumi un opciju tipi ir pilnīgi tipizēti. IDE, kas atbalsta TypeScript valodas pakalpojumu (VS Code, WebStorm utt.), nodrošina precīzu automātisko pabeigšanu un iekļautu dokumentāciju katram API izsaukumam.

Node.js 18–22+ saderība. Pakotne ir pārbaudīta pret Node.js 18, 20 un 22 LTS laidieniem. Instalācijas laikā netiek kompilēti nekādi vietējie papildinājumi, tāpēc tā darbojas visās platformās, ko atbalsta Node.js.

Viena izpildlaika atkarība. Vienīgā atkarība ir xmldom, kas tiek izmantots tikai COLLADA XML parsēšanai. Visi pārējie formātu parsētāji ir tīri JavaScript implementācijas.

MIT licence. Izmantot @aspose/3d komerciālos, atvērtā koda vai iekšējos projektos bez ierobežojumiem.

Ātrais sākums

Instalējiet paketi:

npm install @aspose/3d

Ielādējiet OBJ failu un konvertējiet to uz bināro 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');

Iterējiet pāri skatu mezgliem, lai pārbaudītu ģeometriju:

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}`);
    }
}

Atbalstītie formāti

FormātsPaplašinājumsImportētEksportētPiezīmes
Wavefront OBJ.objLasa/raksta .mtl materiālu faili
glTF 2.0.gltfJSON ar ārējiem .bin buferis
Binārs GLB.glbIestatīt binaryMode: true iekš GltfSaveOptions
STL.stlASCII un binārais STL
3MF.3mfOpen Packaging Convention arhīvs
FBX.fbxNē*Nē*Importētājs/eksportētājs eksistē, bet formāta automātiskā noteikšana nav savienota
COLLADA.daePieprasa paketētu xmldom atkarība

TypeScript priekšrocības

Darbojoties ar @aspose/3d TypeScript noķer kategorijas kļūdas kompilācijas laikā, nevis izpildes laikā. Kad jūs izsaucat scene.save(), kompilators pārbauda, vai opciju objekts atbilst sagaidāmajam SaveOptions apakštipam izvēlētajam formātam. Formātam specifiskās ielādes un saglabāšanas opcijas atklāj tikai īpašības, kas attiecas uz šo formātu; nav neizveidotas (nepazīstamas) opciju kastes, ko vajadzētu uzminēt.

Piemēram, GltfSaveOptions.binaryMode ir tipizēts boolean, tāpēc kompilators atmet saveOpts.binaryMode = 'yes' pirms tiek izpildīts jebkāds kods. Animācijas īpašības uz AnimationClip, materiālu kanāli uz PbrMaterial, un virsotnes elementu tipi uz VertexElement ir visi līdzīgi tipizēti un atklājami caur IntelliSense, neapsverot ārējo dokumentāciju.

Atvērtā pirmkods

Pakotne ir publicēta zem MIT License. Avota kods ir pieejams GitHub. Ieguldījumi, kļūdu ziņojumi un formāta atbalsta pieprasījumi tiek laipni gaidīti caur repozitorija problēmu sekotāju.

Bibliotēkai ir viena izpildlaika atkarība: xmldom versija 0.9+, tiek izmantota tikai, lasot vai rakstot COLLADA failus. Visas pārējās parsēšanas un rakstīšanas bibliotēkas ir pašpietiekamas tīri JavaScript implementācijas bez bināriem komponentiem.

Sākums

Secinājums

@aspose/3d versija 24.12.0 nodrošina stabilu, tipizētu, atkarībām vieglu pamatu 3D failu apstrādei TypeScript un Node.js vidē. Neatkarīgi no tā, vai lietošanas gadījums ir formāta konvertēšana, ainas pārbaude, ģeometrijas izguve vai cauruļvadu integrācija, bibliotēka aptver visizplatītākos 3D apmaiņas formātus ar atļaujošu atvērtā koda licenci.

Instalējiet to jau šodien un dariet mums zināmu, ko izveidojat.