1. Продукты
  2.   Aspose.3D
  3.   Aspose.3D FOSS for TypeScript

Aspose.3D FOSS для TypeScript

Загружайте, создавайте, трансформируйте и экспортируйте 3D‑сцены из Node.js — полностью типизировано, open-source и готово к продакшну с одной командой npm install.

Open-Source TypeScript библиотека для обработки 3D‑файлов

Aspose.3D FOSS for TypeScript — это библиотека с лицензией MIT для работы с 3D‑форматами файлов в приложениях Node.js. Установите её одной командой npm install @aspose/3d и сразу начните читать, конструировать и записывать 3D‑сцены на TypeScript, без необходимости компилировать нативные аддоны, без установки внешних SDK и без требуемого рендерера.

Библиотека предоставляет полностью типизированный API графа сцены, построенный вокруг Scene, Node, Entity, Mesh, Camera, Light и Transform, той же концептуальной модели, которая используется профессиональными 3D‑инструментами.
Поддержка форматов включает OBJ (Wavefront, с загрузкой материалов .mtl), glTF 2.0 и бинарный GLB (материалы PBR), STL (бинарный и ASCII, полный раунд‑трип), COLLADA (DAE), 3MF и FBX.
Классы параметров для каждого формата, такие как ObjLoadOptions и GltfSaveOptions, дают вам точный контроль над ориентацией системы координат, масштабом, нормализацией нормалей, бинарным и JSON выводом, а также загрузкой материалов.

Aspose.3D FOSS нацелен на Node.js 18, 20 и 22+ с TypeScript 5.0+ и компилируется в CommonJS. Библиотека поставляется со строгими настройками компилятора TypeScript (noImplicitAny, strictNullChecks), поэтому ваша IDE предоставляет полное автодополнение и безопасность во время компиляции. Ее единственная зависимость во время выполнения, xmldom, устанавливается автоматически. Для семейства корпоративных продуктов см. Aspose.3D — Enterprise Product Family.

Поддержка 3D‑форматов и типизированный API графа сцены

  • OBJ / MTL: Загрузить файлы Wavefront OBJ с сопутствующими определениями материалов.
  • glTF 2.0 / GLB: Загрузка PBR‑материалов и вывод бинарного GLB через GltfSaveOptions.
  • STL: Чтение и запись как бинарных, так и ASCII STL с полной проверкой обратного преобразования.
  • COLLADA, 3MF, FBX: Дополнительная поддержка форматов с классами параметров для каждого формата.
  • Full TypeScript types: Каждый класс, метод и параметр строго типизированы с помощью noImplicitAny и strictNullChecks.

Где Aspose.3D FOSS можно использовать

  • Node.js asset pipelines: Импортировать файлы OBJ, проверять и переориентировать геометрию, а также экспортировать в GLB в CI.
  • Инструменты для игр: Пакетно обрабатывайте 3D‑модели без собственного движка или рендерера.
  • 3D printing workflows: Чтение, проверка и повторный экспорт файлов STL и 3MF.
  • Безсерверные бэкенды: Запускайте конечные точки конвертации 3D в Lambda или Cloud Functions.
  • Content migration: Конвертировать между семействами форматов в масштабе из одного скрипта.

Опции для каждого формата и управление координатами

  • Ориентация системы координат: Переверните оси и отрегулируйте масштаб для каждого формата с помощью классов опций.
  • Нормализация нормалей: Автоматически нормализовать нормали вершин при загрузке или сохранении.
  • Бинарный vs. JSON вывод: Выберите компактный GLB или читаемый glTF через GltfSaveOptions.
  • Контроль загрузки материалов: Включайте или отключайте загрузку MTL/текстур для более быстрого разбора.
  • Качество обратного преобразования: Неизвестные узлы графа сцены сохраняются дословно при повторном сохранении.

Опыт разработчика

Aspose.3D FOSS для TypeScript устанавливается одной командой npm install @aspose/3d. Нет нативных аддонов для компиляции. Библиотека написана полностью на TypeScript/JavaScript и имеет одну автоматически устанавливаемую зависимость (xmldom).

Сильно типизированный API обеспечивает полное автодополнение в IDE для каждого класса графа сцены и параметра формата. Библиотека ориентирована на Node.js 18–22+ и TypeScript 5.0+, работает одинаково на Linux CI‑раннерах и рабочих станциях разработчиков, и имеет лицензию MIT‑licensed с открытой системой отслеживания проблем на GitHub.

Загрузить сцену OBJ и экспортировать как glTF

Установите через npm, затем используйте scene.open() с ObjLoadOptions для загрузки сетки вместе с её MTL‑файлом материала. Оба open() и save() являются синхронными — не требуется await или цепочка Promise. Вызов scene.save() с .gltf расширением записывает стандартный glTF 2.0 JSON — формат определяется автоматически по расширению файла.

npm install @aspose/3d
import { Scene } from "@aspose/3d";
import { ObjLoadOptions } from "@aspose/3d/formats/obj";
const scene = new Scene();
scene.open("model.obj", new ObjLoadOptions());
// Export as glTF 2.0 JSON
scene.save("model.gltf");

Преобразовать STL в Binary GLB

Чтобы получить компактный бинарный GLB вместо стандартного JSON glTF, передайте GltfSaveOptions с binaryMode = true. Оба open() и save() являются синхронными — await не требуется.

import { Scene } from "@aspose/3d";
import { GltfSaveOptions } from "@aspose/3d/formats/gltf";
const scene = new Scene();
scene.open("mesh.stl");
// Save as compact binary GLB
const opts = new GltfSaveOptions();
opts.binaryMode = true;
scene.save("mesh.glb", opts);

Часто задаваемые вопросы

Что такое Aspose.3D FOSS для TypeScript?

Это бесплатная библиотека TypeScript/Node.js с лицензией MIT для загрузки, манипулирования и сохранения 3D‑сцен без установки каких‑либо нативных аддонов или внешних SDK.

Какие 3D форматы поддерживаются?

OBJ (с .mtl), glTF 2.0 и GLB, STL (бинарный и ASCII), COLLADA (DAE), 3MF и FBX. Каждый формат имеет отдельный типизированный класс параметров.

Требует ли он нативных дополнений Node.js?

Нет. Aspose.3D FOSS для TypeScript — это чистый JavaScript/TypeScript. Он не требует шага компиляции и имеет единственную runtime‑зависимость (xmldom), устанавливаемую автоматически через npm.

Как его установить?

Запустите npm install @aspose/3d. Дополнительные системные пакеты или native‑аддоны не требуются.

Какие версии Node.js и TypeScript поддерживаются?

Node.js 18, 20 и 22+. TypeScript 5.0+. Библиотека компилируется в CommonJS и работает со строгими настройками TypeScript.

Поставляется ли он с типовыми определениями TypeScript?

Да. Все классы, методы, перечисления и типы опций полностью типизированы с включёнными noImplicitAny и strictNullChecks.

Могу ли я управлять ориентацией системы координат?

Да. Классы опций для каждого формата, такие как ObjLoadOptions и GltfSaveOptions, позволяют менять ориентацию осей, регулировать масштаб и нормализовать нормали без собственного кода парсинга.

Где можно найти исходный код?

Библиотека лицензирована по MIT и размещена на GitHub. Сообщения об ошибках и pull‑request’ы приветствуются.

  

Ресурсы поддержки и обучения

 Русский