1. Products
  2.   Aspose.3D
  3.   Aspose.3D FOSS for Python

Aspose.3D FOSS for Python

Load, create, transform, and export 3D scenes from Python — free and open-source.

Open-Source Python Library for 3D File Processing

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.

3D Format Support and Scene-Graph API

  • OBJ / MTL: Load Wavefront OBJ files with accompanying material definitions.
  • STL: Read and write both binary and ASCII STL with full roundtrip verification.
  • glTF 2.0 / GLB: PBR material loading and binary GLB output via GltfSaveOptions.
  • COLLADA, 3MF, FBX: Additional format support with per-format option classes.
  • Scene-graph API: Scene, Node, Mesh, Camera, Light, Transform.

Where Aspose.3D FOSS Can Be Used

  • Asset validation pipelines: Verify, re-orient, and re-export 3D assets in CI.
  • Game development tooling: Batch-process OBJ/GLB meshes without a native engine.
  • 3D printing workflows: Read, validate, and re-export STL and 3MF files.
  • Web backends: Serve 3D conversion endpoints in Docker or serverless functions.
  • Content migration: Convert between format families at scale.

Per-Format Options and Coordinate Control

  • Coordinate-system orientation: Flip axes and adjust scale per format without custom code.
  • Normal normalization: Automatically normalize vertex normals on load or save.
  • Material loading control: Enable or disable MTL/texture loading for faster parsing.
  • Binary vs. JSON output: Choose compact GLB or human-readable glTF via options.
  • Round-trip fidelity: Unknown scene-graph nodes are preserved verbatim on re-save.

Developer Experience

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.

Load an OBJ Scene and Export as glTF

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")

Convert STL to Binary GLB with Coordinate Flipping

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)

Frequently Asked Questions

What is Aspose.3D FOSS for Python?

It is a free, MIT-licensed pure-Python library for loading, manipulating, and saving 3D scenes without installing any native runtime or external SDK.

Which 3D formats are supported?

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.

Does it require any native dependencies?

No. Aspose.3D FOSS for Python is pure Python with zero native extensions. It runs on Windows, macOS, and Linux without any compilation step.

How do I install it?

Run pip install aspose-3d. No additional system packages or native extensions are required.

Can I control coordinate-system orientation?

Yes. Per-format option classes let you flip axes, adjust scale, and normalize normals without writing any format-specific parsing code.

Which Python versions are supported?

Python 3.7 through 3.12 are supported. The library runs identically on all major operating systems.

Is the source code available?

Yes. The library is MIT-licensed and hosted on GitHub. Bug reports and pull requests are welcome.

  

Support and Learning Resources