परिचय
हमें यह घोषणा करते हुए खुशी हो रही है कि उपलब्धता है Aspose.3D FOSS for TypeScript के रूप में @aspose/3d npm पैकेज। यह MIT-licensed लाइब्रेरी प्रोडक्शन-क्वालिटी 3D सीन प्रोसेसिंग को TypeScript और Node.js एप्लिकेशनों में लाती है, बिना native binaries, platform-specific toolchains, या commercial licenses की आवश्यकता के।.
लाइब्रेरी को एक सरल Scene API: 3D फ़ाइल को लोड करें scene.open(), सीन ग्राफ़ की जाँच या रूपांतरण करें, और परिणाम को … के साथ लिखें scene.save(). पूर्ण TypeScript टाइप परिभाषाएँ बंडल की गई हैं; कोई अलग @types/ पैकेज आवश्यक है।.
मुख्य विशेषताएँ
बहु-फ़ॉर्मेट I/O।. पैकेज एक ही इंस्टॉल में छह प्रमुख 3D फ़ॉर्मेट पढ़ता और लिखता है। OBJ, glTF 2.0, GLB, STL, 3MF, और COLLADA सभी आयात और निर्यात दोनों का समर्थन करते हैं। FBX इम्पोर्टर/एक्सपोर्टर क्लासेज मौजूद हैं लेकिन फ़ॉर्मेट ऑटो-डिटेक्शन अभी तक जोड़ा नहीं गया है, इसलिए FBX फ़ाइलें लोड नहीं की जा सकती हैं via scene.open().
फ़र्स्ट‑क्लास TypeScript समर्थन।. सभी सार्वजनिक क्लासेज, एनेमरेशन, और विकल्प प्रकार पूरी तरह टाइप किए गए हैं। TypeScript भाषा सेवा समर्थन वाले IDEs (VS Code, WebStorm, आदि) प्रत्येक API कॉल के लिए सटीक ऑटोकम्प्लीशन और इनलाइन डॉक्यूमेंटेशन प्रदान करते हैं।.
Node.js 18–22+ संगतता।. पैकेज को Node.js 18, 20, और 22 LTS रिलीज़ के खिलाफ परीक्षण किया गया है। इंस्टॉल के दौरान कोई नेटिव ऐडऑन कंपाइल नहीं होते, इसलिए यह सभी प्लेटफ़ॉर्म पर काम करता है जो Node.js समर्थन करता है।.
एक रनटाइम निर्भरता।. एकमात्र निर्भरता है xmldom, जो केवल COLLADA XML पार्सिंग के लिए उपयोग किया जाता है। अन्य सभी फ़ॉर्मेट पार्सर शुद्ध JavaScript कार्यान्वयन हैं।.
MIT लाइसेंस।. उपयोग करें @aspose/3d व्यावसायिक, ओपन‑सोर्स, या आंतरिक प्रोजेक्ट्स में बिना किसी प्रतिबंध के।.
त्वरित प्रारंभ
पैकेज स्थापित करें:
npm install @aspose/3d
एक OBJ फ़ाइल लोड करें और उसे बाइनरी 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');
सीन नोड्स पर इटररेट करके जियोमेट्री की जाँच करें:
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}`);
}
}
समर्थित फ़ॉर्मेट्स
| फ़ॉर्मेट | एक्सटेंशन | आयात | निर्यात | टिप्पणियाँ |
|---|---|---|---|---|
| Wavefront OBJ | .obj | हाँ | हाँ | पढ़ता/लिखता है .mtl मैटेरियल फ़ाइलें |
| glTF 2.0 | .gltf | हाँ | हाँ | बाहरी के साथ JSON .bin बफ़र |
| बाइनरी GLB | .glb | हाँ | हाँ | सेट binaryMode: true में GltfSaveOptions |
| STL | .stl | हाँ | हाँ | ASCII और बाइनरी STL |
| 3MF | .3mf | हाँ | हाँ | Open Packaging Convention आर्काइव |
| FBX | .fbx | नहीं* | नहीं* | Importer/exporter मौजूद हैं लेकिन फ़ॉर्मेट ऑटो-डिटेक्शन जुड़ा नहीं है |
| COLLADA | .dae | हाँ | हाँ | बंडल्ड की आवश्यकता है xmldom निर्भरता |
TypeScript के लाभ
के साथ काम करना @aspose/3d TypeScript में श्रेणी त्रुटियों को रनटाइम के बजाय कंपाइल टाइम पर पकड़ता है। जब आप कॉल करते हैं scene.save(), कंपाइलर यह सत्यापित करता है कि विकल्प ऑब्जेक्ट अपेक्षित SaveOptions उपप्रकार से मेल खाता है। फ़ॉर्मेट-विशिष्ट लोड और सेव विकल्प केवल उस फ़ॉर्मेट से संबंधित गुणों को उजागर करते हैं; अनुमान लगाने के लिए कोई अनटाइप्ड विकल्प बैग नहीं है।.
उदाहरण के लिए, GltfSaveOptions.binaryMode एक टाइप्ड है boolean, इसलिए कंपाइलर अस्वीकार करता है saveOpts.binaryMode = 'yes' कोड चलने से पहले। एनीमेशन प्रॉपर्टीज़ पर AnimationClip, मैटेरियल चैनल्स पर PbrMaterial, और वर्टेक्स एलिमेंट टाइप्स पर VertexElement सभी समान रूप से टाइप्ड हैं और बाहरी दस्तावेज़ीकरण की सलाह लिए बिना IntelliSense के माध्यम से खोजे जा सकते हैं।.
ओपन सोर्स
पैकेज प्रकाशित किया गया है MIT License. स्रोत कोड GitHub पर उपलब्ध है। योगदान, बग रिपोर्ट, और फ़ॉर्मेट समर्थन अनुरोध रिपॉज़िटरी के इश्यू ट्रैकर के माध्यम से स्वागत योग्य हैं।.
लाइब्रेरी की एक रनटाइम निर्भरता है: xmldom संस्करण 0.9+, केवल COLLADA फ़ाइलों को पढ़ने या लिखने के समय उपयोग किया जाता है। अन्य सभी पार्सर और राइटर स्व-निहित शुद्ध-JavaScript कार्यान्वयन हैं जिनमें कोई बाइनरी घटक नहीं है।.
शुरू करना
- npm:
npm install @aspose/3d - ज्ञान आधार: TypeScript में 3D मॉडल कैसे लोड करें
- ज्ञान आधार: TypeScript में 3D सीन को glTF/GLB में कैसे एक्सपोर्ट करें
- API रेफ़रेंस: Aspose.3D FOSS for TypeScript: पूर्ण क्लास रेफ़रेंस
- GitHub: aspose-3d/aspose-3d-node
निष्कर्ष
@aspose/3d संस्करण 24.12.0 TypeScript और Node.js में 3D फ़ाइल प्रोसेसिंग के लिए एक स्थिर, टाइप्ड, डिपेंडेंसी-लाइट आधार प्रदान करता है। चाहे उपयोग मामला फ़ॉर्मेट रूपांतरण, सीन निरीक्षण, ज्यामिति निष्कर्षण, या पाइपलाइन एकीकरण हो, लाइब्रेरी एक उदार ओपन-सोर्स लाइसेंस के तहत सबसे सामान्य 3D इंटरचेंज फ़ॉर्मेट को कवर करती है।.
इसे आज ही इंस्टॉल करें और हमें बताएं कि आप क्या बनाते हैं।.