Einführung

Wir freuen uns, die Verfügbarkeit von 3D-FOSS für TypScript als die @aspose/3d Diese MIT-lizenzierte Bibliothek bringt Produktionsqualität 3D Szenenverarbeitung zu TypeScript und Node.js Anwendungen, ohne dass native Binäre, Plattformspezifische Toolchains oder kommerzielle Lizenzen erforderlich sind.

Die Bibliothek ist auf eine einfache und unkomplizierte Art konzipiert. Scene API: Laden Sie eine 3D-Datei mit scene.open(), die Szene zu überprüfen oder zu verändern, und das Ergebnis mit scene.save().Vollständige TypeScript-Typdefinitionen sind gebündelt; keine separaten @types/ Die Verpackung ist erforderlich.

Hauptmerkmale

Mehrformatige E/A. Das Paket liest und schreibt sechs große 3D-Formate in einer einzigen Installation. OBJ, glTF 2.0, GLB, STL, 3MF und COLLADA unterstützen alle Import und Export. FBX Importeur/Exporter Klassen existieren aber Format Auto-Erkennung ist noch nicht verdrahtet, so dass FBx Dateien nicht über geladen werden können scene.open().

Erstklassige TypScript-Unterstützung. Alle öffentlichen Klassen, Erzählungen und Optionstypen sind vollständig eingetippt. IDEs mit TypScript-Dienstunterstützung (VS Code, WebStorm usw.) bieten eine genaue Autokomplettung und Inline-Dokumentation für jeden API-Anruf.

Node.js 18–22+ compatibility. Das Paket wird gegen die LTS-Versionen von Node.js 18, 20 und 22 getestet. Während der Installation werden keine nativen Addons kompiliert, so dass es auf allen Plattformen funktioniert.

Eine Laufzeit-Abhängigkeit. Die einzige Abhängigkeit ist: xmldom, ausschließlich für COLLADA XML-Parsing verwendet. Alle anderen Formatparser sind reine JavaScript-Implementierungen.

MIT-Lizenz. Verwendung @aspose/3d in kommerziellen, Open-Source- oder internen Projekten ohne Einschränkung.

Schneller Start

Installieren Sie das Paket:

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

Laden Sie eine OBJ-Datei und konvertieren sie in einen binären GLB:

import { Scene } from '@aspose/3d';
import { ObjLoadOptions } from '@aspose/3d/formats/obj';
import { GltfSaveOptions, GltfFormat } from '@aspose/3d/formats/gltf';

const scene = new Scene();
scene.open('model.obj', new ObjLoadOptions());

const saveOpts = new GltfSaveOptions();
saveOpts.binaryMode = true;   // produce a single .glb file
scene.save('output.glb', GltfFormat.getInstance(), saveOpts);

console.log('Converted to GLB successfully');

Iteration über Szenenknoten zur Geometrieüberprüfung:

import { Scene } from '@aspose/3d';
import { ObjLoadOptions } from '@aspose/3d/formats/obj';

const scene = new Scene();
scene.open('model.obj', new ObjLoadOptions());

for (const node of scene.rootNode.childNodes) {
    console.log(`Node: ${node.name}`);
    if (node.entity) {
        console.log(`  Entity type: ${node.entity.constructor.name}`);
    }
}

Unterstützte Formate

Format der DatenbankErweiterungEinfuhrAusfuhrAnmerkungen
OBJ.obj- Ja , das ist gut .- Ja , das ist gut .Wavefront OBJ; Lies-/Schreibverbindungen .mtl Materialdateien
GFT-Systeme.gltf / .glb- Ja , das ist gut .- Ja , das ist gut .glTF 2.0 JSON und GLB binär
STL.stl- Ja , das ist gut .- Ja , das ist gut .ASCII und binäre STL-Nummern
3MF.3mf- Ja , das ist gut .- Ja , das ist gut .Archiv der Verpackungskonvention für offene Produkte
FBX.fbxNicht verfügbar*Nicht verfügbar*Importeur/Exporter existiert, aber Format-Autoerkennung nicht verdrahtet
COLLADA.dae- Ja , das ist gut .- Ja , das ist gut .Erfordernisse gebündelt xmldom Abhängigkeit

Vorteile von Typenschrift

Zusammenarbeit mit den @aspose/3d in TypeScript erfasst Kategoriefehler bei der Kompilierung statt beim Ausführen. Wenn Sie aufrufen scene.save(), der Kompilator überprüft, ob das Optionsobjekt dem erwarteten entspricht. SaveOptions Format-spezifische Optionen zum Laden und Speichern zeigen nur die für dieses Format relevanten Eigenschaften; es gibt keinen untypierten Optionsbeutel, auf den man raten kann.

Zum Beispiel:, GltfSaveOptions.binaryMode ist ein eingetipptes boolean, so dass der Compiler ablehnt saveOpts.binaryMode = 'yes' Animations-Eigenschaften auf der AnimationClip, Materialkanäle auf der PbrMaterial, und Winkel-Elementtypen auf VertexElement Die Daten werden alle ähnlich eingegeben und durch IntelliSense ohne die Anfrage an externe Dokumentation ermittelt.

Open Source (Offene Quelle)

Das Paket wird unter dem Titel “Das Europäische Parlament” veröffentlicht. MIT-Lizenz. Quellcode ist auf GitHub verfügbar. Beiträge, Fehlerberichte und Formatunterstützungsanfragen sind über den Problemverfolgungsschlüssel des Repositories willkommen.

Die Bibliothek hat eine Laufzeit-Abhängigkeit: xmldom (^0.6.0Alle anderen Parser und Writer sind eigenständige reine JavaScript-Implementierungen ohne binäre Komponenten.

Wie man anfängt

Schlussfolgerung

@aspose/3d Die Version 24.12.0 bietet eine stabile, typisierte und abhängigkeitslichte Grundlage für die 3D-Dateiverarbeitung in TypeScript und Node.js. Ob es sich um Formatkonvertierung, Szenenerfassung, Geometrieextraktion oder Pipeline-Integration handelt, deckt die Bibliothek unter einer permissiven Open-Source-Lizenz die häufigsten 3 D-Austauschformate ab.

Installieren Sie es heute und lassen Sie uns wissen, was Sie bauen.