Uvod u članak
Zadovoljstvo nam je da objavimo dostupnost: Aspose.3D FOSS za TypeScript kao i u @aspose/3d Ova MIT-licencirana knjižnica donosi proizvodnu kvalitetu 3D obrade scene za TypeScript i Node.js aplikacije bez potrebe za izvornim binarima, platformi specifičnim lancima alata ili komercijalnim licencama.
Biblioteka je dizajnirana oko jednostavnog, Scene API: učitavanje 3D datoteke s scene.open(), pregledati ili transformirati scene grafu, i napisati rezultat s scene.save(). Sve definicije tipova TypeScript-a su u paketu; ne postoje zasebni @types/ -Potreban je paket.
Glavne karakteristike
Uputni/izlazni sustav više formata. Ovaj paket čita i piše šest glavnih 3D formata u jednoj instalaciji. OBJ, glTF 2.0, GLB, STL, 3MF i COLLADA podržavaju uvoz i izvoz. Postoje FBX klase uvoznika/izvoznika ali automatsko otkrivanje formate još nije vezano tako da se FBx datoteke ne mogu učitati putem scene.open().
Prva klasa TypeScript podrška. Sve javne klase, popis i opcije su potpuno tipirane. IDE-ovi s podrškom za TypeScript jezik usluge (VS Code, WebStorm itd.) pružaju točnu autokompletiranje i inline dokumentaciju za svaki poziv API-ja.
Node.js 18–22+ compatibility. Paket je testiran protiv Node.js 18, 20 i 22 LTS izdanja. Nijedan izvorni dodatak nije kompilovan tijekom instalacije, tako da radi na svim platformama koje podržava Node .js.
Jedna zavjetnost. Jedina ovisnost je… xmldom, koji se koristi isključivo za COLLADA XML parsing. Svi ostali formatni parseri su čiste JavaScript implementacije.
MIT-ova dozvola. Upotreba: @aspose/3d u komercijalnim, otvorenim ili internim projektima bez ograničenja.
Brzi početak
Instaliraj paket:
npm install @aspose/3d
Uplatiti OBJ datoteku i pretvoriti je u binarni 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');
Iterirati preko scene čvorovi provjeriti geometriju:
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}`);
}
}
Podržani formati
| Format: | Proračunska sredstva | Uvoz | Izvoz | Upis: |
|---|---|---|---|---|
| OBJ | .obj | - Da, u redu. | - Da, u redu. | Objektivni signal na talasnom frontu; čita/piše .mtl materijalni dosje |
| GTF-a | .gltf / .glb | - Da, u redu. | - Da, u redu. | GTF 2.0 JSON i GLB binarni |
| STL | .stl | - Da, u redu. | - Da, u redu. | U ovom slučaju, u skladu s člankom 21. stavkom 1. točkom (a) ovog članka. |
| 3MF | .3mf | - Da, u redu. | - Da, u redu. | Arhiva Konvencije o otvorenom pakiranju |
| FBX | .fbx | Ne* | Ne* | Uvoznik/izvoznik postoji, ali format: automatsko otkrivanje nije vezano za kablovske veze. |
| COLLADA | .dae | - Da, u redu. | - Da, u redu. | Uređeni zahtjevi xmldom ovisnost |
Prednosti tipovnog pisma
Rad s: @aspose/3d u TypeScript uhvati greške kategorije na vrijeme kompilacije, a ne na vreme pokretanja. Kada pozovete scene.save(), kompilant provjerava da se objekt opcija poklapa s očekivanim SaveOptions Opcije za učitavanje i pohranjivanje specifične za oblik prikazuju samo svojstva koja su relevantna za taj format; ne postoji vreća opcija bez tipa na koju se može pogoditi.
Na primjer, GltfSaveOptions.binaryMode je tipiran boolean, tako da kompilator odbija saveOpts.binaryMode = 'yes' Animativna svojstva na AnimationClip, materijalni kanali na PbrMaterial, i tipovi elemenata vrhova na VertexElement Svi su slično tipkani i mogu se otkriti putem IntelliSense-a bez posjećivanja vanjske dokumentacije.
Otvoreni izvor
Ovaj paket objavljen je pod naslovom: MIT licenca.Pristup, izvješća o grešcima i zahtjevi za podršku formata dobrodošli su putem praćenja problema skladišta.
Biblioteka ima jednu zavjesnost u vrijeme izvođenja: xmldom (^0.6.0Svi ostali parserovi i pisci su samostalne implementiranja čiste JavaScript-a bez binarnih komponenti.
Početak
- npm:
npm install @aspose/3d - Osnova znanja: Kako učitati 3D modele u TypeScript-u?
- Osnova znanja: Kako izvoziti 3D scene u glTF/GLB u TypeScript-u
- Odgovor na API: Aspose.3D FOSS za TypeScript: Referencija punog razreda
- GitHub: Aspoza-3d/aspozna-3D čvor
Izvješće
@aspose/3d Verzija 24.12.0 pruža stabilnu, tipku i temelje za 3D obradu datoteka u TypeScript-u i Node.js-a. Bilo da je slučaj korištenja pretvaranje formata, inspekcija scene, ekstrakcija geometrije ili integracija cijevi, knjižnica pokriva najčešće 3d razmjene formatima pod dozvolijom otvorenog koda.
Instaliraj ga danas i reci nam što si napravio.