Въведение
С удоволствие ще обявим наличието на Aspose.3D FOSS за TypeScript Като на @aspose/3d Тази библиотека, лицензирана от MIT, носи качествено 3D обработване на сцената за приложенията TypeScript и Node.js без да изисква бинарни материали, инструменти или търговски лицензии.
Библиотеката е проектирана около еднократна Scene API: изтегляне на 3D файл с scene.open(), инспектиране или трансформация на графиката на сцената, и да напише резултата с scene.save().Определенията на типа Full TypeScript са обвързани; няма отделни @types/ Пакетът е необходим.
Ключови характеристики
Мултиформат I/O. Пакетът чете и пише шест основни 3D формати в една инсталация. OBJ, glTF 2.0, GLB, STL, 3MF и COLLADA всички поддържат както внос и износ. FBX импортер/експортер клас съществува, но формата авто-откриване все още не е на проводник, така че файловете FBx не могат да бъдат заредени чрез scene.open().
Поддръжка за TypeScript от първи клас. Всички публични класове, списъци и опции са напълно типирани. IDEs с поддръжка на услугите за език TypeScript (VS Code, WebStorm и т.н.) осигуряват точна самозавършване и вградена документация за всеки API повикване.
Node.js 18 – 22+ съвместимост. Пакетът е тестван срещу Node.js 18, 20 и 22 LTS издания. Няма коренни добавки се съставят по време на инсталацията, така че работи върху всички платформи, които поддържат Noda.js.
Една зависимост от време. Единствената зависимост е xmldom, използвани изключително за COLLADA XML парашут. Всички други формати са чисти JavaScript изпълнения.
Мит лиценз. Използване @aspose/3d в търговски, отворени или вътрешни проекти без ограничения.
Бързо стартиране
Инсталирайте пакета:
npm install @aspose/3d
Изтеглете файл OBJ и го конвертирайте в бинарна 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');
Изпратете над сцени за проверка на геометрията:
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}`);
}
}
Подкрепени формати
| Форматът | Разширяване | Вносът | Износът | бележки |
|---|---|---|---|---|
| OBJ | .obj | Да | Да | Wavefront OBJ; четене / писане .mtl Материални файлове |
| ГЛТФ | .gltf / .glb | Да | Да | GLTF 2.0 JSON и GLB бинарни |
| STL | .stl | Да | Да | ASCII и бинарни STL |
| 3MF | .3mf | Да | Да | Архив на Конвенцията за открито опаковане |
| FBX | .fbx | Не * | Не * | Внос/експортер съществува, но форматът на авто-откриване не е верижен |
| COLLADA | .dae | Да | Да | изисквания за обвързване xmldom зависимост |
Предимства на TypeScript
Работи с @aspose/3d в TypeScript се улавя грешките на категория по време на съставяне, а не по времето на работа. scene.save(), копирачът проверява, че опциите обекта съответства на очакваното SaveOptions Подтип за избрания формат. опции за зареждане и съхранение, специфични за формата, разкриват само свойствата, свързани с този формати; няма безтипичен пакет от опциите, които да се изненадват.
Например, за, GltfSaveOptions.binaryMode Това е типично boolean,И така, съставът отхвърля saveOpts.binaryMode = 'yes' преди да се изпълнява кода. анимационни свойства на AnimationClip,Каналите на материалите са PbrMaterial,Въртецът на елементите в VertexElement всички са подобно типирани и открити чрез IntelliSense без консултация с външна документация.
Отворени източници
Пакетът е публикуван под Мит лиценз.Source code е на разположение в GitHub. Contributions, bug reports, and format support requests are welcome through the repository’s issue tracker.
Библиотеката има едно зависимост от работното време: xmldom (^0.6.0Всички други партньори и писатели са самосъдържани чисти JavaScript изпълнения без бинарни компоненти.
Започваме
- npm:
npm install @aspose/3d - Знание база: Как да изтеглите 3D модели в TypeScript
- Знание база: Как да експортирате 3D сцени към glTF/GLB в TypeScript
- Огнено референтно: Aspose.3D FOSS за TypeScript: пълно класиране
- GitHub: Асоцииране на 3D / 3d-node
заключението
@aspose/3d версията 24.12.0 осигурява стабилна, типирана, зависимост-светлина основа за 3D обработка на файлове в TypeScript и Node.js. Независимо дали случаят на използване е формат конверсия, сценична инспекция, геометрични екстракции или тръбопровод интеграция библиотеката обхваща най-често срещаните 3Д формати за размяна под разрешителна лиценз от отворен код.
Инсталирайте го днес и нека знаем какво изграждате.