Įvadas
Džiaugiamės galėdami pranešti apie prieinamumą Aspose.3D FOSS for TypeScript kaip @aspose/3d npm paketas. Ši MIT-licencijuota biblioteka suteikia gamybos kokybės 3D scenų apdorojimą TypeScript ir Node.js programoms, nereikalaujant natūralių binarinių failų, platformai specifinių įrankių grandinių ar komercinių licencijų.
Biblioteka sukurta aplink paprastą Scene API: įkelti 3D failą su scene.open(), peržiūrėti arba transformuoti scenos grafiką, ir įrašyti rezultatą su scene.save(). Pilni TypeScript tipų apibrėžimai yra supakuoti; nėra atskirų @types/ paketas būtinas.
Pagrindinės savybės
Daugių formatų I/O. Paketas skaito ir rašo šešis pagrindinius 3D formatus vienoje įdiegimo operacijoje. OBJ, glTF 2.0, GLB, STL, 3MF ir COLLADA palaiko tiek importą, tiek eksportą. FBX importavimo/eksportavimo klasės egzistuoja, tačiau formato automatinis aptikimas dar neįgyvendintas, todėl FBX failų negalima įkelti per scene.open().
Pirmos klasės TypeScript palaikymas. Visos viešosios klasės, išvardijimai ir parinkčių tipai yra visiškai tipizuoti. IDE, turinčios TypeScript kalbos paslaugų palaikymą (VS Code, WebStorm ir kt.), suteikia tikslią automatinę užbaigimą ir įterptą dokumentaciją kiekvienam API iškvietimui.
Node.js 18–22+ suderinamumas. Paketas testuojamas su Node.js 18, 20 ir 22 LTS versijomis. Įdiegimo metu nenaudojami jokie natūralūs papildiniai, todėl jis veikia visose Node.js palaikomose platformose.
Viena vykdymo laiko priklausomybė. Vienintelė priklausomybė yra xmldom, naudojama išskirtinai COLLADA XML analizavimui. Visi kiti formatų analizatoriai yra grynai JavaScript įgyvendinimai.
MIT licencija. Naudoti @aspose/3d komerciniuose, atviro kodo arba vidiniuose projektuose be apribojimų.
Greitas pradžia
Įdiekite paketą:
npm install @aspose/3d
Įkelkite OBJ failą ir konvertuokite jį į binarinį 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');
Iteruokite per scenos mazgus, kad patikrintumėte geometriją:
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}`);
}
}
Palaikomi formatai
| Format | Plėtinys | Importuoti | Eksportuoti | Pastabos |
|---|---|---|---|---|
| Wavefront OBJ | .obj | Taip | Taip | Skaito/rašo .mtl medžiagų failai |
| glTF 2.0 | .gltf | Taip | Taip | JSON su išoriniu .bin buferis |
| Dvejetainis GLB | .glb | Taip | Taip | Nustatyti binaryMode: true į GltfSaveOptions |
| STL | .stl | Taip | Taip | ASCII ir binarinis STL |
| 3MF | .3mf | Taip | Taip | Open Packaging Convention archyvas |
| FBX | .fbx | Ne* | Ne* | Importer/exporter egzistuoja, bet formato automatinis aptikimas nesusietas |
| COLLADA | .dae | Taip | Taip | Reikalauja paketuoto xmldom priklausomybė |
TypeScript privalumai
Dirbama su @aspose/3d TypeScript kalboje gaudo kategorijos klaidas kompiliavimo metu, o ne vykdymo metu. Kai iškvieki scene.save(), kompiliatorius patikrina, ar parametrų objektas atitinka laukiamą SaveOptions potipį pasirinktam formatui. Formato specifinės įkėlimo ir išsaugojimo parinktys atskleidžia tik tas savybes, kurios yra svarbios tam formatui; nėra neapibrėžtų parametrų maišo, kurį reikėtų spėlioti.
Pavyzdžiui, GltfSaveOptions.binaryMode yra tipizuotas boolean, todėl kompiliatorius atmeta saveOpts.binaryMode = 'yes' prieš vykdant bet kokį kodą. Animacijos savybės ant AnimationClip, medžiagos kanalai ant PbrMaterial, ir viršūnių elementų tipai ant VertexElement visi yra panašiai tipizuoti ir atrandami per IntelliSense be išorės dokumentacijos konsultavimo.
Atviro kodo
Paketas publikuojamas pagal MIT licenciją. Šaltinis kodas prieinamas GitHub. Indėliai, klaidų pranešimai ir formatų palaikymo prašymai yra laukiami per saugyklos problemų sekiklį.
Biblioteka turi vieną vykdymo laiką priklausomybę: xmldom versija 0.9+, naudojama tik skaitant arba rašant COLLADA failus. Visi kiti analizatoriai ir rašytojai yra savarankiškos grynojo JavaScript įgyvendinimai be jokių binarinių komponentų.
Pradžia
- npm:
npm install @aspose/3d - Žinių bazė: Kaip įkelti 3D modelius TypeScript kalboje
- Žinių bazė: Kaip eksportuoti 3D scenas į glTF/GLB TypeScript kalboje
- API nuoroda: Aspose.3D FOSS TypeScript kalbai: Pilna klasės nuoroda
- GitHub: aspose-3d/aspose-3d-node
Išvada
@aspose/3d versija 24.12.0 suteikia stabilų, tipizuotą, priklausomybių‑lengvą pagrindą 3D failų apdorojimui TypeScript ir Node.js aplinkoje. Nesvarbu, ar naudojimo atvejis yra formato konvertavimas, scenos inspekcija, geometrijos išgavimas ar duomenų srauto integracija, biblioteka apima dažniausiai pasitaikančius 3D keitimosi formatus pagal liberalų atviro kodo licenciją.
Įdiekite ją šiandien ir praneškite mums, ką kuriate.