Aspose.3D FOSS for Python is a MIT-licensed, pure-Python library for working with 3D file formats. Install it with a single pip command and immediately start reading, constructing, and writing 3D scenes without installing any native runtime, external SDK, or third-party renderer.
The library exposes a clean scene-graph API built around Scene, Node, Mesh, Camera, Light, and Transform, the same conceptual model used by professional 3D tools. Format support includes OBJ (with .mtl material loading), STL (binary and ASCII, roundtrip verified), glTF 2.0 / GLB (PBR materials), COLLADA (DAE), 3MF, and FBX. Per-format load and save options let you control coordinate flipping, scale, normal normalization, and material loading without writing any format-specific parsing code.
Aspose.3D FOSS supports Python 3.7 through 3.12 and runs identically on Windows, macOS, and Linux CI runners, Docker containers, and serverless environments. There is no native extension to compile and no system package to install.
GltfSaveOptions.Scene, Node, Mesh, Camera, Light, Transform.Aspose.3D FOSS for Python installs with a single pip install aspose-3d command. The library is pure Python, with no native extensions to compile and no system packages to install.
The scene-graph API mirrors the conceptual model of professional 3D tools, so the learning curve is short for anyone familiar with Three.js or Blender’s data model. The library is MIT-licensed, open-source, and welcomes bug reports and contributions on GitHub.
Install with pip, then call Scene.open() with ObjLoadOptions to load the OBJ file together with its MTL material definitions. A single scene.save() call with a .gltf extension writes a glTF 2.0 JSON file, with no format registry or converter object needed.
pip install aspose-3d
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")
To produce a compact binary GLB instead of the default JSON glTF, pass a GltfSaveOptions instance with use_binary = True. The same pattern applies to coordinate-system adjustments — swap out the options class for the format you are targeting.
from aspose.threed import Scene
from aspose.threed.formats import GltfSaveOptions, Axis, CoordinateSystem
scene = Scene()
scene.open("mesh.stl")
# Save as binary GLB
opts = GltfSaveOptions()
opts.use_binary = True
scene.save("mesh.glb", opts)
It is a free, MIT-licensed pure-Python library for loading, manipulating, and saving 3D scenes without installing any native runtime or external SDK.
OBJ (with .mtl), STL (binary and ASCII), glTF 2.0 and GLB, COLLADA (DAE), 3MF, and FBX. Each format has a dedicated load/save options class.
No. Aspose.3D FOSS for Python is pure Python with zero native extensions. It runs on Windows, macOS, and Linux without any compilation step.
Run pip install aspose-3d. No additional system packages or native extensions are required.
Yes. Per-format option classes let you flip axes, adjust scale, and normalize normals without writing any format-specific parsing code.
Python 3.7 through 3.12 are supported. The library runs identically on all major operating systems.
Yes. The library is MIT-licensed and hosted on GitHub. Bug reports and pull requests are welcome.