Pengantar
Kami dengan senang hati mengumumkan ketersediaan Aspose3D FOSS untuk TypeScript sebagai @aspose/3d Paket npm. Perpustakaan berlisensi MIT ini membawa pengolahan adegan 3D berkualitas produksi ke aplikasi TypeScript dan Node.js tanpa memerlukan binari asli, rantai alat khusus platform, atau lisensi komersial.
Perpustakaan ini dirancang dengan cara yang sederhana. Scene API: memuat file 3D dengan scene.open(), memeriksa atau mengubah grafik adegan, dan menulis hasil dengan scene.save().Definisi tipe TypeScript lengkap dikemas; tidak ada yang terpisah @types/ paket diperlukan.
Fitur Utama
I/O multi-format. Paket ini membaca dan menulis enam format 3D utama dalam satu instalasi. OBJ, glTF 2.0, GLB, STL, 3MF, dan COLLADA semua mendukung impor dan ekspor. Kelas importir / eksportir FBX ada tetapi deteksi otomatis format belum tertanam, jadi file FBx tidak dapat dimuat melalui scene.open().
Dukungan TypeScript kelas satu. Semua kelas publik, enumerasi dan tipe opsi sepenuhnya diketik. IDEs dengan dukungan layanan bahasa TypeScript (VS Code, WebStorm, dll.) menyediakan otomatis lengkap yang akurat dan dokumentasi inline untuk setiap panggilan API.
Node.js 18–22+ compatibility. Paket ini diuji terhadap rilis Node.js 18, 20, dan 22 LTS. Tidak ada addon asli yang dikompilasi selama instalasi, jadi berfungsi pada semua platform yang didukung oleh Node .js.
Satu ketergantungan runtime. Satu-satunya ketergantungan adalah xmldom, digunakan secara eksklusif untuk analisis XML COLLADA. Semua pemindai format lainnya adalah implementasi JavaScript murni.
Lisensi MIT. Penggunaan @aspose/3d dalam proyek komersial, open source atau internal tanpa batasan.
Memulai dengan cepat
Instal paket:
asposefoss/3d is not yet published — build from source until it ships. See the project README for build instructions.Mengunggah file OBJ dan mengkonversi ke GLB biner:
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');
Iterate over node adegan untuk memeriksa geometri:
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}`);
}
}
Format yang Didhukung
| Format (Inggris) | Perpanjangan | Impor | Ekspor | Catatan |
|---|---|---|---|---|
| OBJ | .obj | Ya, aku tahu. | Ya, aku tahu. | Wavefront OBJ; membaca/menulis .mtl file materiil |
| glTF (Penggunaan) | .gltf / .glb | Ya, aku tahu. | Ya, aku tahu. | glTF 2.0 JSON dan GLB biner |
| STL | .stl | Ya, aku tahu. | Ya, aku tahu. | ASCII dan STL biner |
| 3MF | .3mf | Ya, aku tahu. | Ya, aku tahu. | Arsip Konvensi Pembungkusan Terbuka |
| FBX | .fbx | Tidak* | Tidak* | Impor/ekspor ada tetapi format deteksi otomatis tidak terpasang kabel |
| COLLADA | .dae | Ya, aku tahu. | Ya, aku tahu. | Persyaratan yang dikelompokkan xmldom ketergantungan |
Keuntungan TypeScript
Bekerja dengan @aspose/3d di TypeScript menangkap kesalahan kategori pada waktu kompilasi daripada saat runtime. Ketika Anda memanggil scene.save(), kompilator memverifikasi bahwa opsi obyek sesuai dengan yang diharapkan SaveOptions subtipe untuk format yang dipilih. Opsi loading dan save khusus format hanya mengungkapkan properti yang relevan dengan format tersebut; tidak ada paket opsi yang belum diketik untuk ditebak.
Misalnya, GltfSaveOptions.binaryMode adalah tipe boolean, jadi compiler menolak saveOpts.binaryMode = 'yes' sebelum kode berjalan. Sifat animasi pada AnimationClip, saluran materi pada PbrMaterial, dan tipe elemen vertex pada VertexElement semuanya diketik dengan cara yang sama dan dapat ditemukan melalui IntelliSense tanpa berkonsultasi dengan dokumentasi eksternal.
Open Source (Sumber terbuka)
Paket ini diterbitkan di bawah nama: Lisensi MIT. Kode sumber tersedia di GitHub. Kontribusi, laporan bug, dan permintaan dukungan format disambut melalui pelacak masalah repositori.
Perpustakaan memiliki satu ketergantungan runtime: xmldom (^0.6.0), digunakan hanya saat membaca atau menulis file COLLADA. Semua parser dan penulis lainnya adalah implementasi JavaScript murni yang mandiri tanpa komponen biner.
Memulai
- npm:
npm install @aspose/3d - Basis Pengetahuan: Cara Mengunggah Model 3D di TypeScript
- Basis Pengetahuan: Cara Mengekspor Adegan 3D ke glTF/GLB dalam TypeScript
- Referensi API: Aspose.3D FOSS untuk TypeScript: Referensi Kelas Lengkap
- GitHub: Aspose-3d/aspose-node 3D
Kesimpulan
@aspose/3d versi 24.12.0 menyediakan dasar yang stabil, diketik, ketergantungan-cahaya untuk pengolahan file 3D di TypeScript dan Node.js. Apakah kasus penggunaan adalah konversi format, inspeksi adegan, ekstraksi geometri, atau integrasi pipa, perpustakaan mencakup format pertukaran 3d paling umum di bawah lisensi open source permissif .
Instal hari ini dan beritahu kami apa yang Anda bangun.