Instalație

Acest ghid acoperă tot ce trebuie să instalați Aspose.3D FOSS pentru TypeScript și să confirmați că funcționează corect înainte de a scrie primul script de procesare 3D.

Precondiții

Asigurați-vă că următoarele sunt instalate și pe sistemul dvs. PATH înainte de a continua:

InstrumentMinimNote
Node.js18 LTS20 or 22 LTS recommended
npm7Inclus cu Node.js
TypeScript5.0Instalați prin npm install -D typescript

Pentru a verifica versiunile:

node --version   # v18.x.x or later
npm --version    # 7.x or later
npx tsc --version  # Version 5.x.x

Pasul 1: Creați un proiect (dacă este necesar)

Dacă adăugați Aspose.3D la un proiect TypeScript existent, săriți peste acest pas și treceți direct la Pasul 2.

Pentru un proiect nou:

mkdir my-3d-project && cd my-3d-project
npm init -y
npm install -D typescript ts-node @types/node

Pasul 2: Instalați @aspose/3d

asposefoss/3d is not yet published — build from source until it ships. See the project README for build instructions.

Aceasta instalează pachetul și dependența sa tranzitivă unică, xmldom, automat. Nu sunt necesare pachete suplimentare de sistem, module native sau compilatoare. Instalarea este finalizată când @aspose/3d apare în package.json sub dependencies.

Verificați instalarea:

ls node_modules/@aspose/3d

Ar trebui să vedeți directorul pachetului cu package.json, fișiere de definiție de tip (.d.ts), și JavaScript compilat.

Pasul 3: Configurați TypeScript

Adăugați sau actualizați tsconfig.json în rădăcina proiectului dvs. cu următoarele setări. Acestea sunt necesare pentru compatibilitate completă cu definițiile de tip ale bibliotecii și cu ieșirea CommonJS:

{
  "compilerOptions": {
    "target": "ES2020",
    "module": "commonjs",
    "moduleResolution": "node",
    "esModuleInterop": true,
    "strict": true,
    "outDir": "dist",
    "rootDir": "src"
  },
  "include": ["src/**/*.ts"],
  "exclude": ["node_modules", "dist"]
}

Setări cheie și de ce sunt importante:

SetareValoareDe ce
targetES2020Activează chaining opțional, coalescență nullish și alte caracteristici ES2020 utilizate intern
modulecommonjsBiblioteca furnizează ieșire CommonJS; trebuie să se potrivească
moduleResolutionnodeNecesar pentru rezolvarea corectă a the @aspose/3d importuri sub-cale
esModuleInteroptruePermite importuri implicite din module CommonJS fără soluții de ocolire a spațiului de nume
stricttrueBiblioteca este scrisă cu noImplicitAny și strictNullChecks; păstrează aceasta activă

Pasul 4: Verificați instalarea

Creează src/verify.ts cu următorul test minimal de import:

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);

Compilați și rulați:

npx tsc
node dist/verify.js

Ieșire așteptată:

Aspose.3D FOSS for TypeScript is installed correctly.
rootNode name:

Numele nodului rădăcină este un șir gol în mod implicit — scene.rootNode este creat fără argument de nume.

Dacă preferi să sari peste pasul de compilare în timpul dezvoltării, rulează direct cu ts-node:

npx ts-node src/verify.ts

Pasul 5: Pornire rapidă: Încarcă o scenă și afișează informațiile nodului

Scriptul de mai jos încarcă un fișier 3D și afișează numele și tipul entității fiecărui nod din scenă. Funcționează cu orice format suportat: OBJ, glTF, GLB, STL, 3MF, FBX sau 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);

Salvează asta ca src/quickstart.ts și rulează-l:

npx ts-node src/quickstart.ts

Pentru un fișier OBJ cu un singur mesh numit Cube, ieșirea va arăta astfel:

Scene loaded. Node hierarchy:
 [(no entity)]
  Cube [Mesh]

Nodul rădăcină are un nume gol (afișat ca un prefix gol). Nodurile copil își moștenesc numele din fișierul încărcat.

Note privind dependențele

Aspose.3D FOSS pentru TypeScript are exact o dependență la runtime:

PachetScopInstalat automat
xmldomAnaliză XML pentru suportul formatelor COLLADA (DAE) și 3MFDa, prin npm install @aspose/3d

Nu trebuie să instalați xmldom manual. Va apărea în node_modules după comanda principală de instalare. Nu există addon-uri native (.node fișiere) și nu sunt necesare biblioteci de sistem.

Pași următori

Acum că biblioteca este instalată și verificată:

 Română