Instalcja

Ten przewodnik obejmuje wszystko, co potrzebne, aby zainstalować Aspose.3D FOSS dla TypeScript i potwierdzić, że działa poprawnie, zanim napiszesz swój pierwszy skrypt przetwarzania 3D.

Wymagania wstępne

Upewnij się, że następujące są zainstalowane i znajdują się w twoim PATH przed kontynuacją:

NarzędzieMinimumUwagi
Node.js18 LTS20 or 22 LTS recommended
npm7Dołączony do Node.js
TypeScript5.0Instaluj za pomocą npm install -D typescript

Aby sprawdzić wersje:

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

Krok 1: Utwórz projekt (jeśli potrzebny)

Jeśli dodajesz Aspose.3D do istniejącego projektu TypeScript, pomiń ten krok i przejdź od razu do Kroku 2.

Dla nowego projektu:

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

Krok 2: Zainstaluj @aspose/3d

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

Instaluje to pakiet oraz jego jedyną zależność przechodnią, xmldom, automatycznie. Nie są wymagane dodatkowe pakiety systemowe, natywne dodatki ani kompilatory. Instalacja jest zakończona, gdy @aspose/3d pojawia się w twoim package.json w dependencies.

Zweryfikuj instalację:

ls node_modules/@aspose/3d

Powinieneś zobaczyć katalog pakietu z package.json, pliki definicji typów (.d.ts), oraz skompilowanym JavaScriptem.

Krok 3: Skonfiguruj TypeScript

Dodaj lub zaktualizuj tsconfig.json w katalogu głównym projektu z następującymi ustawieniami. Są one wymagane dla pełnej kompatybilności z definicjami typów biblioteki i wyjściem CommonJS:

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

Kluczowe ustawienia i ich znaczenie:

UstawienieWartośćDlaczego
targetES2020Włącza opcjonalne łańcuchowanie, operator nullish coalescing oraz inne funkcje ES2020 używane wewnętrznie
modulecommonjsBiblioteka dostarcza wyjście CommonJS; musi się zgadzać
moduleResolutionnodeWymagane do prawidłowego rozwiązywania the @aspose/3d importy podścieżek
esModuleInteroptrueUmożliwia domyślne importy z modułów CommonJS bez obejść przestrzeni nazw
stricttrueBiblioteka została napisana przy użyciu noImplicitAny oraz strictNullChecks; pozostaw to włączone

Krok 4: Zweryfikuj instalację

Utwórz src/verify.ts z następującym minimalnym testem importu:

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

Skompiluj i uruchom:

npx tsc
node dist/verify.js

Oczekiwany wynik:

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

Nazwa węzła głównego jest domyślnie pustym ciągiem znaków — scene.rootNode jest tworzony bez argumentu nazwy.

Jeśli wolisz pominąć krok kompilacji podczas rozwoju, uruchom bezpośrednio przy użyciu ts-node:

npx ts-node src/verify.ts

Krok 5: Szybki start: Załaduj scenę i wypisz informacje o węzłach

Poniższy skrypt ładuje plik 3D i wypisuje nazwę oraz typ encji każdego węzła w scenie. Działa z każdym obsługiwanym formatem: OBJ, glTF, GLB, STL, 3MF, FBX lub 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);

Zapisz to jako src/quickstart.ts i uruchom go:

npx ts-node src/quickstart.ts

Dla pliku OBJ z jedną siatką o nazwie Cube, wynik będzie wyglądał następująco:

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

Węzeł główny ma pustą nazwę (wyświetlaną jako pusty prefiks). Węzły potomne dziedziczą swoje nazwy z załadowanego pliku.

Uwagi dotyczące zależności

Aspose.3D FOSS for TypeScript ma dokładnie jedną zależność w czasie wykonywania:

PakietCelInstalowany automatycznie
xmldomParsowanie XML dla obsługi formatu COLLADA (DAE) i 3MFTak, przez npm install @aspose/3d

Nie musisz instalować xmldom ręcznie. Pojawi się w twoim node_modules po głównym poleceniu instalacji. Nie ma natywnych dodatków (.node pliki) i nie wymaga bibliotek systemowych.

Kolejne kroki

Teraz, gdy biblioteka jest zainstalowana i zweryfikowana:

  • Przeczytaj Przewodnik dewelopera aby uzyskać pełny przewodnik po wszystkich obszarach funkcji.
  • Zobacz Funkcje i możliwości w celu uzyskania szczegółów dotyczących obsługi formatów, wzorców grafu sceny, interfejsów API materiałów i animacji oraz pełnych przykładów kodu TypeScript.
 Polski