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

Aspose.3D FOSS 适用于 Python

加载、创建、转换并导出来自 Python 的 3D 场景 — 免费且开源。

开源 Python 库,用于 3D 文件处理

Aspose.3D FOSS for Python 是一个 MIT 许可证的 pure-Python 库,用于处理 3D 文件格式。只需一个 pip 命令即可安装,并立即开始读取、构建和写入 3D 场景,无需安装任何本机运行时、外部 SDK 或第三方渲染器。

该库提供了一个围绕 SceneNodeMeshCameraLightTransform 构建的简洁场景图 API,这与专业 3D 工具使用的概念模型相同。支持的格式包括 OBJ(带 .mtl 材质加载)、STL(二进制和 ASCII,已验证往返)、glTF 2.0 / GLB(PBR 材质)、COLLADA(DAE)、3MF 和 FBX。每种格式的加载和保存选项让您能够在不编写任何特定格式解析代码的情况下控制坐标翻转、缩放、法线归一化和材质加载。

Aspose.3D FOSS 支持 Python 3.7 到 3.12,并在 Windows、macOS 和 Linux CI 运行器、Docker 容器以及无服务器环境中表现完全相同。对于企业功能和支持,请参阅 Aspose.3D for Python — Enterprise Product

3D 格式支持与场景图 API

  • OBJ / MTL: 加载带有伴随材质定义的 Wavefront OBJ 文件。
  • STL: 读取和写入二进制及 ASCII STL,并进行完整的往返验证。
  • glTF 2.0 / GLB: 通过 GltfSaveOptions 加载 PBR 材质并输出二进制 GLB。
  • COLLADA, 3MF, FBX: 通过每种格式的选项类提供额外的格式支持。
  • 场景图 API: Scene, Node, Mesh, Camera, Light, Transform.

Aspose.3D FOSS 可用于何处

  • 资产验证流水线: 验证、重新定向并在 CI 中重新导出 3D 资产。
  • 游戏开发工具: 在没有原生引擎的情况下批量处理 OBJ/GLB 网格。
  • 3D 打印工作流: 读取、验证并重新导出 STL 和 3MF 文件。
  • Web 后端: 在 Docker 或无服务器函数中提供 3D 转换端点。
  • 内容迁移: 在大规模下在格式族之间进行转换。

每种格式的选项与坐标控制

  • 坐标系方向: 翻转轴并根据格式调整比例,无需自定义代码。
  • Normal normalization: 在加载或保存时自动归一化顶点法线。
  • Material loading control: 启用或禁用 MTL/纹理加载以加快解析。
  • Binary vs. JSON output: 通过选项选择紧凑的 GLB 或可读的 glTF。
  • 往返保真度: 场景图结构在加载和保存循环中保持不变(节点保真度取决于格式,且未对所有格式进行独立验证)。

开发者体验

使用单个 pip install aspose-3d-foss 命令即可为 Python 安装 Aspose.3D FOSS。该库是纯 Python,没有需要编译的本机扩展,也不需要安装系统软件包。

场景图 API 反映了专业 3D 工具的概念模型,因此对于熟悉 Three.js 或 Blender 数据模型的用户来说,学习曲线很短。该库采用 MIT 许可证,开源,并欢迎在 GitHub 上提交错误报告和贡献。

加载 OBJ 场景并导出为 glTF

使用 pip 安装,然后调用 Scene.open() 并传入 ObjLoadOptions 来加载 OBJ 文件及其 MTL 材质定义。一次性使用 scene.save() 调用并使用 .gltf 扩展名即可写入 glTF 2.0 JSON 文件——无需格式注册表或转换器对象。

pip install aspose-3d-foss
from aspose.threed import Scene
from aspose.threed.formats import ObjLoadOptions
# Load an OBJ file (with .mtl materials)
scene = Scene()
scene.open("model.obj", ObjLoadOptions())
# Export as glTF 2.0
scene.save("model.gltf")

将 STL 转换为二进制 GLB 并进行坐标翻转

要生成紧凑的二进制 GLB 而不是默认的 JSON glTF,请传入一个带有 binary_mode = TrueGltfSaveOptions 实例。相同的模式适用于坐标系调整——将选项类替换为您所针对的格式。

from aspose.threed import Scene
from aspose.threed.formats import GltfSaveOptions
scene = Scene()
scene.open("mesh.stl")
# Save as binary GLB
opts = GltfSaveOptions()
opts.binary_mode = True
scene.save("mesh.glb", opts)

常见问题

什么是 Aspose.3D FOSS 用于 Python?

它是一个免费、MIT 许可证的 pure-Python 库,用于加载、操作和保存 3D 场景,无需安装任何本地运行时或外部 SDK。

支持哪些 3D 格式?

OBJ(带 .mtl)、STL(二进制和 ASCII)、glTF 2.0 和 GLB、COLLADA(DAE)、3MF 和 FBX。每种格式都有专用的加载/保存选项类。

它需要任何本机依赖吗?

不。Aspose.3D FOSS for Python 是纯 Python,没有任何本地扩展。它可在 Windows、macOS 和 Linux 上运行,无需任何编译步骤。

我该如何安装它?

运行 pip install aspose-3d-foss。不需要额外的系统软件包或本机扩展。

我可以控制坐标系方向吗?

是的。每种格式的选项类允许您翻转轴、调整比例,并在不编写任何特定格式解析代码的情况下归一化法线。

支持哪些 Python 版本?

Python 3.7 到 3.12 均受支持。该库在所有主流操作系统上表现一致。

源代码可用吗?

是的。该库采用 MIT 许可证,托管在 GitHub 上。欢迎提交错误报告和拉取请求。

  

支持和学习资源

 中文