Įdiegimas

Šiame vadove apžvelgiama visa, ko reikia įdiegti Aspose.3D FOSS TypeScript ir patvirtinti, kad jis veikia tinkamai, prieš rašant pirmąjį 3D apdorojimo skriptą.

Reikalavimai

Įsitikinkite, kad šie elementai yra įdiegti ir jūsų PATH prieš tęsdami:

ĮrankisMinimalusPastabos
Node.js18 LTS20 or 22 LTS recommended
npm7Įtrauktas su Node.js
TypeScript5.0Įdiekite per npm install -D typescript

Norėdami patikrinti savo versijas:

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

1 žingsnis: Sukurkite projektą (jei reikia)

Jei prie esamo TypeScript projekto pridedate Aspose.3D, praleiskite šį žingsnį ir eikite tiesiai prie 2 žingsnio.

Naujam projektui:

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

2 žingsnis: Įdiekite @aspose/3d

npm install @aspose/3d

Tai įdiegia paketą ir jo vienintelę transityvią priklausomybę, xmldom, automatiškai. Nereikia jokių papildomų sistemos paketų, natūralių papildinių ar kompiliatorių. Įdiegimas baigiamas, kai @aspose/3d atsiranda jūsų package.json skiltyje dependencies.

Patikrinkite įdiegimą:

ls node_modules/@aspose/3d

Turėtumėte matyti paketo katalogą su package.json, tipų apibrėžimo failais (.d.ts), ir sukompiliuotu JavaScript.

3 žingsnis: Konfigūruokite TypeScript

Pridėkite arba atnaujinkite tsconfig.json jūsų projekto šakniniame kataloge su šiais nustatymais. Tai būtina, norint visiškai suderinti su bibliotekos tipų apibrėžimais ir CommonJS išvestimi:

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

Svarbiausi nustatymai ir kodėl jie svarbūs:

NustatymasReikšmėKodėl
targetES2020Įgalina optional chaining, nullish coalescing ir kitas ES2020 funkcijas, naudojamas viduje
modulecommonjsBiblioteka tiekia CommonJS išvestį; turi atitikti
moduleResolutionnodeReikalinga teisingam išsprendimui @aspose/3d subkelių importai
esModuleInteroptrueLeidžia numatytuosius importus iš CommonJS modulių be vardų srities apeigų
stricttrueBiblioteka sukurta naudojant noImplicitAny ir strictNullChecks; palikite tai įjungtą

4 žingsnis: Patikrinkite įdiegimą

Sukurkite src/verify.ts su šiuo minimaliu importo testu:

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

Kompiliuokite ir vykdykite:

npx tsc
node dist/verify.js

Expected output:

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

Šaknies mazgo pavadinimas pagal numatymą yra tuščia eilutė — scene.rootNode sukuriamas be vardo argumento.

Jei norite praleisti kompiliavimo žingsnį kūrimo metu, paleiskite tiesiogiai su ts-node:

npx ts-node src/verify.ts

Žingsnis 5: Greitas pradžia: Įkelti sceną ir atspausdinti mazgo informaciją

Toliau pateiktas scenarijus įkelia 3D failą ir atspausdina kiekvieno scenos mazgo pavadinimą bei objekto tipą. Jis veikia su bet kuriuo palaikomu formatu: OBJ, glTF, GLB, STL, 3MF, FBX arba 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);

Išsaugokite tai kaip src/quickstart.ts ir paleiskite jį:

npx ts-node src/quickstart.ts

OBJ failui su viena tinkleliu, pavadintu Cube, išvestis atrodys taip:

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

Šaknies mazgas turi tuščią pavadinimą (atspausdinamas kaip tuščias priešdėlis). Vaikiniai mazgai paveldi savo pavadinimus iš įkelto failo.

Priklausomybių pastabos

Aspose.3D FOSS for TypeScript turi lygiai vieną vykdymo laiką priklausomybę:

PaketasTikslasĮdiegta automatiškai
xmldomXML analizė COLLADA (DAE) ir 3MF formatų palaikymuiTaip, per npm install @aspose/3d

Jums nereikia įdiegti xmldom rankiniu būdu. Tai pasirodys jūsų node_modules po pagrindinės įdiegimo komandos. Nėra natūralių papildinių (.node failų) ir nėra reikalingų sistemos bibliotekų.

Kiti žingsniai

Dabar, kai biblioteka įdiegta ir patikrinta:

  • Skaitykite Kūrėjo vadovą norėdami gauti išsamų visų funkcijų sričių apžvalgą.
  • Žr. Funkcijos ir galimybės dėl formato palaikymo detalių, scenų grafiko šablonų, medžiagų ir animacijos API bei pilnų TypeScript kodo pavyzdžių.
 Lietuvių