Installation
यह गाइड Aspose.3D FOSS को TypeScript के लिए स्थापित करने के सभी आवश्यक चरणों को कवर करता है और यह सुनिश्चित करता है कि यह सही ढंग से काम कर रहा है, इससे पहले कि आप अपनी पहली 3D प्रोसेसिंग स्क्रिप्ट लिखें।.
पूर्वापेक्षाएँ
सुनिश्चित करें कि निम्नलिखित स्थापित हैं और आपके PATH आगे बढ़ने से पहले:
| टूल | न्यूनतम | नोट्स |
|---|---|---|
| Node.js | 18 LTS | 20 or 22 LTS recommended |
| npm | 7 | Node.js के साथ बंडल किया गया |
| TypeScript | 5.0 | के माध्यम से इंस्टॉल करें npm install -D typescript |
अपने संस्करणों की जाँच करने के लिए:
node --version # v18.x.x or later
npm --version # 7.x or later
npx tsc --version # Version 5.x.xचरण 1: एक प्रोजेक्ट बनाएं (यदि आवश्यक हो)
यदि आप Aspose.3D को मौजूदा TypeScript प्रोजेक्ट में जोड़ रहे हैं, तो इस चरण को छोड़ दें और सीधे चरण 2 पर जाएँ।.
एक नए प्रोजेक्ट के लिए:
mkdir my-3d-project && cd my-3d-project
npm init -y
npm install -D typescript ts-node @types/nodeचरण 2: @aspose/3d स्थापित करें
npm install @aspose/3dयह पैकेज और उसकी एकल ट्रांज़िटिव निर्भरता को स्थापित करता है, xmldom, स्वचालित रूप से। कोई अतिरिक्त सिस्टम पैकेज, नेटिव ऐडऑन, या कंपाइलर आवश्यक नहीं हैं। स्थापना तब पूर्ण होती है जब @aspose/3d आपके में दिखाई देता है package.json के तहत dependencies.
स्थापना की पुष्टि करें:
ls node_modules/@aspose/3dआपको पैकेज डायरेक्टरी के साथ दिखनी चाहिए package.json, टाइप डिफिनिशन फ़ाइलें (.d.ts), और संकलित जावास्क्रिप्ट।.
चरण 3: TypeScript को कॉन्फ़िगर करें
जोड़ें या अपडेट करें tsconfig.json अपने प्रोजेक्ट रूट में निम्न सेटिंग्स के साथ। ये लाइब्रेरी की टाइप डिफिनिशन और CommonJS आउटपुट के साथ पूर्ण संगतता के लिए आवश्यक हैं:
{
"compilerOptions": {
"target": "ES2020",
"module": "commonjs",
"moduleResolution": "node",
"esModuleInterop": true,
"strict": true,
"outDir": "dist",
"rootDir": "src"
},
"include": ["src/**/*.ts"],
"exclude": ["node_modules", "dist"]
}मुख्य सेटिंग्स और उनका महत्व:
| सेटिंग | मान | क्यों |
|---|---|---|
target | ES2020 | आंतरिक रूप से उपयोग किए जाने वाले optional chaining, nullish coalescing, और अन्य ES2020 सुविधाओं को सक्षम करता है |
module | commonjs | लाइब्रेरी CommonJS आउटपुट प्रदान करती है; इसे मिलना चाहिए |
moduleResolution | node | सही समाधान के लिए आवश्यक है @aspose/3d सब‑पाथ इम्पोर्ट्स |
esModuleInterop | true | नेमस्पेस वर्कअराउंड्स के बिना CommonJS मॉड्यूल्स से डिफ़ॉल्ट इम्पोर्ट्स को सक्षम करता है |
strict | true | लाइब्रेरी … के साथ लिखी गई है noImplicitAny और strictNullChecks; इसे चालू रखें |
चरण 4: स्थापना की पुष्टि करें
बनाएँ src/verify.ts निम्नलिखित न्यूनतम इम्पोर्ट टेस्ट के साथ:
import { Scene } from '@aspose/3d';
const scene = new Scene();
console.log('Aspose.3D FOSS for TypeScript is installed correctly.');
console.log('rootNode name:', scene.rootNode.name);कम्पाइल करें और चलाएँ:
npx tsc
node dist/verify.jsExpected output:
Aspose.3D FOSS for TypeScript is installed correctly.
rootNode name:रूट नोड का नाम डिफ़ॉल्ट रूप से एक खाली स्ट्रिंग होता है — scene.rootNode कोई नाम आर्ग्यूमेंट दिए बिना बनाया गया है।.
यदि आप विकास के दौरान कंपाइल चरण को छोड़ना चाहते हैं, तो सीधे इस के साथ चलाएँ ts-node:
npx ts-node src/verify.tsचरण 5: त्वरित प्रारंभ: एक सीन लोड करें और नोड जानकारी प्रिंट करें
निम्नलिखित स्क्रिप्ट एक 3D फ़ाइल लोड करती है और सीन में प्रत्येक नोड का नाम और एंटिटी प्रकार प्रिंट करती है। यह किसी भी समर्थित फ़ॉर्मेट के साथ काम करती है: OBJ, glTF, GLB, STL, 3MF, FBX, या COLLADA।.
import { Scene, Node } from '@aspose/3d';
function printNode(node: Node, depth: number = 0): void {
const indent = ' '.repeat(depth);
const entityType = node.entity ? node.entity.constructor.name : '(no entity)';
console.log(`${indent}${node.name} [${entityType}]`);
for (const child of node.childNodes) {
printNode(child, depth + 1);
}
}
const scene = new Scene();
// Replace 'model.obj' with any supported 3D file path.
// Format is detected automatically from binary magic numbers.
scene.open('model.obj');
console.log('Scene loaded. Node hierarchy:');
printNode(scene.rootNode);इसे इस नाम से सहेजें src/quickstart.ts और इसे चलाएँ:
npx ts-node src/quickstart.tsएक OBJ फ़ाइल जिसमें एक मेष का नाम है Cube, आउटपुट इस प्रकार दिखेगा:
Scene loaded. Node hierarchy:
[(no entity)]
Cube [Mesh]रूट नोड का नाम खाली है (खाली उपसर्ग के रूप में प्रिंट किया गया)। चाइल्ड नोड्स अपने नाम लोड की गई फ़ाइल से विरासत में लेते हैं।.
निर्भरता नोट्स
Aspose.3D FOSS for TypeScript में बिल्कुल एक रनटाइम निर्भरता है:
| पैकेज | उद्देश्य | स्वचालित रूप से स्थापित |
|---|---|---|
xmldom | COLLADA (DAE) और 3MF फ़ॉर्मेट समर्थन के लिए XML पार्सिंग | हाँ, के माध्यम से npm install @aspose/3d |
आपको स्थापित करने की आवश्यकता नहीं है xmldom हाथ से। यह आपके node_modules मुख्य इंस्टॉल कमांड के बाद दिखाई देगा। कोई मूल ऐडऑन (.node files) और कोई सिस्टम लाइब्रेरी आवश्यक नहीं है।.
अगले कदम
अब जबकि लाइब्रेरी स्थापित और सत्यापित हो गई है:
- पढ़ें डेवलपर गाइड सभी फीचर क्षेत्रों की पूरी walkthrough के लिए।.
- देखें विशेषताएँ और कार्यात्मकताएँ फ़ॉर्मेट समर्थन विवरण, सीन-ग्राफ पैटर्न, मैटेरियल और एनीमेशन API, और पूर्ण TypeScript कोड उदाहरणों के लिए।.