Installation

यह गाइड Aspose.3D FOSS को TypeScript के लिए स्थापित करने के सभी आवश्यक चरणों को कवर करता है और यह सुनिश्चित करता है कि यह सही ढंग से काम कर रहा है, इससे पहले कि आप अपनी पहली 3D प्रोसेसिंग स्क्रिप्ट लिखें।.

पूर्वापेक्षाएँ

सुनिश्चित करें कि निम्नलिखित स्थापित हैं और आपके PATH आगे बढ़ने से पहले:

टूलन्यूनतमनोट्स
Node.js18 LTS20 or 22 LTS recommended
npm7Node.js के साथ बंडल किया गया
TypeScript5.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"]
}

मुख्य सेटिंग्स और उनका महत्व:

सेटिंगमानक्यों
targetES2020आंतरिक रूप से उपयोग किए जाने वाले optional chaining, nullish coalescing, और अन्य ES2020 सुविधाओं को सक्षम करता है
modulecommonjsलाइब्रेरी CommonJS आउटपुट प्रदान करती है; इसे मिलना चाहिए
moduleResolutionnodeसही समाधान के लिए आवश्यक है @aspose/3d सब‑पाथ इम्पोर्ट्स
esModuleInteroptrueनेमस्पेस वर्कअराउंड्स के बिना CommonJS मॉड्यूल्स से डिफ़ॉल्ट इम्पोर्ट्स को सक्षम करता है
stricttrueलाइब्रेरी … के साथ लिखी गई है 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.js

Expected 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 में बिल्कुल एक रनटाइम निर्भरता है:

पैकेजउद्देश्यस्वचालित रूप से स्थापित
xmldomCOLLADA (DAE) और 3MF फ़ॉर्मेट समर्थन के लिए XML पार्सिंगहाँ, के माध्यम से npm install @aspose/3d

आपको स्थापित करने की आवश्यकता नहीं है xmldom हाथ से। यह आपके node_modules मुख्य इंस्टॉल कमांड के बाद दिखाई देगा। कोई मूल ऐडऑन (.node files) और कोई सिस्टम लाइब्रेरी आवश्यक नहीं है।.

अगले कदम

अब जबकि लाइब्रेरी स्थापित और सत्यापित हो गई है:

 हिन्दी