1. 产品
  2.   Aspose.3D
  3.   Aspose.3D FOSS for TypeScript

Aspose.3D FOSS for TypeScript

从 Node.js 加载、构建、转换和导出 3D 场景——完整类型定义、开源且可用于生产,只需一次 npm 安装。

开源型字体库用于3D文件处理

Aspose.3D FOSS for TypeScript 是一个 MIT 许可证的库,用于在 Node.js 应用中处理 3D 文件格式。使用单个 npm install @aspose/3d 命令安装它,即可立即在 TypeScript 中读取、构建和写入 3D 场景,无需编译本机插件、无需安装外部 SDK,也不需要渲染器。

该库公开了一个完整类型化的场景图 API,围绕 SceneNodeEntityMeshCameraLightTransform 构建,这与专业 3D 工具使用的概念模型相同。支持的格式包括 OBJ(Wavefront,带 .mtl 材质加载)、glTF 2.0 和 GLB 二进制(PBR 材质)、STL(二进制和 ASCII,完整往返)、COLLADA(DAE)、3MF 和 FBX。每种格式的选项类,如 ObjLoadOptionsGltfSaveOptions,让您能够精确控制坐标系方向、缩放、法线归一化、二进制与 JSON 输出以及材质加载。

Aspose.3D FOSS 目标 Node.js 18、20 和 22+,使用 TypeScript 5.0+ 并编译为 CommonJS。该库随严格的 TypeScript 编译器设置(noImplicitAnystrictNullChecks)一起发布,使您的 IDE 提供完整的自动完成和编译时安全性。它唯一的运行时依赖 xmldom 会自动安装。有关企业产品系列,请参阅 Aspose.3D — Enterprise Product Family

支持3D格式和打字场景图 API

  • **OBJ/MTL:**加载波面 OBJ 文件,并附带材料定义.
  • **glTF 2.0 / GLB:**通过 GltfSaveOptions 进行 PBR材料加载和二进制GLB输出.
  • **STL:**阅读和写双重和ASCII STL,并进行全程验证.
  • COLLADA,3MF,FBX: 支持每个格式的选项类.
  • 全文类型: 每个类,方法和选项都强烈地输入noImplicitAnystrictNullChecks.

在哪里可以使用Aspose.3D FOSS?

  • **Node.js资产管道:**导入OBJ文件,验证和重新定向几何结构,并将其输出为CI中的GLB.
  • 游戏工具:**批量处理3D网格没有本地引擎或染器.
  • **3D打印工作流程:**阅读,验证和再出口STL和3MF文件.
  • **无服务器后端:**在Lambda或云功能中运行3D转换终点.
  • **内容迁移:**从单个脚本进行格式家庭之间规模转换.

设置格式选项和协调控制

  • 坐标系统方向: 转轴,并根据格式与选项类调整尺度.
  • 正常化: 在加载或保存时自动实现顶点的正常.
  • 二进制与JSON输出: 通过GltfSaveOptions选择紧的GLB或可读性glTF.
  • 材料加载控制: 启用或禁用MTL/纹理加載,以便更快的解析.
  • **回程忠实性:**未知场景图节点在重新保存时被保留.

开发者经验

Aspose.3D 是用于 TypeScript 的 FOSS,只需一个 npm install @aspose/3d 命令即可安装。没有需要编译的原生插件。该库纯粹使用 TypeScript/JavaScript,并且只有一个自动安装的依赖 (xmldom)。

强类型的 API 为每个场景图类和格式选项提供完整的 IDE 自动完成。该库面向 Node.js 18–22+ 和 TypeScript 5.0+,在 Linux CI 运行器和开发者工作站上表现一致,并采用 MIT 许可证,且在 GitHub 上拥有公开的 issue 跟踪系统。

载入一个 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转换为二进制GLB

要生成紧凑的二进制 GLB 而不是默认的 JSON glTF,请使用 GltfSaveOptions 并传入 binaryMode = trueopen()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 的字体?

它是一个免费的,MIT许可证TypeScript/Node.js库用于加载,3D场景,操作和保存而无需安装任何本地附加程序或外部SDK.

支持哪些3D格式?

OBJ (带mtl),glTF 2.0和GLB,STL (二进制和ASCII),COLLADA (DAE),3MF和FBX.每个格式都有一个专用的打字选项类.

它需要本地 Node.js 附加程序吗?

没有.Aspose.3D FOSS for TypeScript 是纯JavaScript/TypeScript的,不需要编译步骤,并且有一个单个运行时间依赖 (xmldom) 由 npm 自动安装.

我怎么安装它?

运行 npm install @aspose/3d。不需要额外的系统软件包或本机插件。

支持哪些 Node.js 和 TypeScript 的版本?

Node.js 18,20 和 22+. TypeScript 5.0+ 库编译为 CommonJS,并使用严格的TypeScript设置工作.

它是否提供了TypeScript类型定义?

是的.所有类,方法,数和选项类型都完全输入了noImplicitAnystrictNullChecks 启用.

我能控制坐标系统的方向吗?

是的. ObjLoadOptionsGltfSaveOptions 等每个格式选项类允许您翻动轴,调整尺度并正常化常态无需自定义解析代码.

在哪里可以找到源代码?

图书馆是MIT授权的,并托管在GitHub.错误报告和拉请求都欢迎.

  

支持和学习资源

 中文