介绍

我们正在发布 Aspose.3D FOSS 用于 Python,,一个纯-Python 库,用于读取、写入和转换常见的 3D 文件格式。该库已在 PyPI 上发布为 aspose-3d-foss,,采用 MIT 许可证,且没有任何外部依赖。.

如果您曾经需要以编程方式检查或转换 3D 文件(提取网格顶点计数、将 OBJ 几何传入处理脚本,或批量将 STL 文件转换为用于网页查看器的 glTF),该库正为此场景而构建。它不需要图形驱动、原生扩展模块或任何云连接。.


包含内容

核心场景图

每个文件都会加载到一个 Scene 对象,该对象镜像原始文件的节点层次结构。节点携带 Transform (平移、旋转、缩放)以及一个或多个附加实体,例如 Mesh, Camera,,或 Light. 场景图在不同源格式下保持一致,因此编写的遍历和处理几何体的代码可以在所有受支持的格式中直接使用,无需修改。.

几何体访问

Mesh 对象公开::

  • control_points::顶点位置列表,形式为 Vector4 (x, y, z, w)
  • polygons: 面索引列表的列表(任意多边形的边数,不仅限于三角形)
  • get_element(VertexElementType): 检索用于法线、UV、顶点颜色和平滑组的命名顶点数据层

材质

LambertMaterialPhongMaterial 包含从 OBJ 读取的材质属性 .mtl 文件(ambient、diffuse、specular、emissive、transparency、shininess)。对于支持这些属性的格式,材质能够在加载‑保存的往返过程中保持不变。.

数学工具

Vector2, Vector3, Vector4, FVector3, Quaternion, Matrix4,,以及 BoundingBox 被包含为几何计算的轻量值类型。.

动画

AnimationClip, AnimationNode, KeyframeSequence,,以及 KeyFrame 类提供对关键帧动画数据的访问,这些数据来自支持该功能的格式,例如 glTF 和 COLLADA。.


快速入门

pip install aspose-3d-foss

加载 3D 文件并打印每个网格的顶点数量::

from aspose.threed import Scene
from aspose.threed.entities import Mesh

scene = Scene.from_file("model.obj")

def visit(node):
    for entity in node.entities:
        if isinstance(entity, Mesh):
            print(f"{node.name}: {len(entity.control_points)} vertices, "
                  f"{len(entity.polygons)} polygons")
    for child in node.child_nodes:
        visit(child)

visit(scene.root_node)

将同一文件转换为 glTF::

from aspose.threed import Scene
from aspose.threed.formats import GltfSaveOptions

scene = Scene.from_file("model.obj")
scene.save("model.gltf", GltfSaveOptions())

这就是完整的程序。没有配置文件,没有 API 密钥,也没有网络调用。.


支持的格式

格式Extension(s)加载保存笔记
Wavefront OBJ.obj.mtl 支持材质加载
STL.stl二进制和 ASCII;坐标系翻转选项
glTF 2.0.gltf, .glb支持 GLB(自包含二进制)
COLLADA.daeColladaSaveOptions 可用于 flip_coordinate_system, enable_materials, indented
3MF.3mf适用于 3D 打印工作流
FBX.fbx部分N/A仅限分词器;完整解析器正在开发中

格式检测会根据文件扩展名自动完成。特定格式的加载和保存选项 (ObjLoadOptions, StlSaveOptions, GltfSaveOptions, ThreeMfSaveOptions) 可用于细粒度控制。.


开源且免费

该库采用 MIT 许可证。您可以在商业应用中使用、修改并自由再分发。源码在 GitHub 上的 Aspose 组织下提供。.

没有使用层级、没有令牌限制,也没有遥测。库在本地完成所有处理。.

依赖项: 无。该软件包以纯-Python wheel 形式安装,不含 C 扩展,也没有第三方运行时依赖。.


入门指南


结论

Aspose.3D FOSS for Python 26.1.0 覆盖了在工具、流水线和 Web 应用中最常用的 3D 文件格式(OBJ、STL、glTF、COLLADA 和 3MF),提供一致的 Python API 且无需安装障碍。如果您遇到 bug、未支持的边缘情况或需要添加的格式,请在 GitHub 上提交 issue。我们积极维护该库,欢迎贡献。.