Aspose.3D FOSS for Python
A powerful, free, and open-source 3D file format library for Python. Aspose.3D FOSS for Python enables developers to create, manipulate, and convert 3D scenes and models programmatically. It supports popular 3D file formats including OBJ, STL, glTF, 3MF, and more, and is released under the permissive MIT License.
🏠 Aspose.3D FOSS lives on aspose.org — Aspose's home for free, open-source file-format libraries. The full commercial edition, Aspose.3D for Python via .NET, is available on aspose.com.
About Aspose.3D FOSS
Aspose.3D FOSS is the free, open-source edition of Aspose.3D. It shares the same public API design as the commercial Aspose.3D On-Premise library, so you can:
- Build and ship 3D applications at no cost under a permissive MIT License.
- Start free and grow without rewriting code — code written against the FOSS edition works with the commercial edition.
- Upgrade only when you need to — when you require the broader feature set, higher performance, or proprietary format support of the commercial On-Premise edition, simply swap in the commercial package, no API rewrites required.
The FOSS edition focuses on the most widely used open 3D formats. The commercial edition additionally covers proprietary and high-performance scenarios such as rendering, advanced mesh operations, and formats like FBX, USD, PDF, and more.
Features
-
Format Support
- OBJ - Import/export with materials, textures, and grouping
- GLTF - GL Transmission Format with full PBR material support
- STL - Stereo Lithography format for 3D printing
- 3MF - 3D Manufacturing Format for modern 3D printing workflows
-
Scene Management
- Create and manipulate 3D scenes
- Hierarchical node structure
- Mesh and entity management
- Material system with Lambert, Phong, and PBR materials
-
3D Primitives
- Vector math (Vector2, Vector3, Vector4, Matrix4, Quaternion)
- Bounding boxes and transformations
- Camera and light objects
-
Mesh Operations
- Triangulation support for polygon conversion
- Mesh manipulation and modification
-
Animation System
- Keyframe animation support
- Animation curves and interpolation
Installation
pip install aspose-3d-foss
Quick Start
from aspose.threed import Scene
from aspose.threed.formats.obj import ObjLoadOptions
# Create a new scene
scene = Scene()
# Import an OBJ file
options = ObjLoadOptions()
options.enable_materials = True
options.flip_coordinate_system = False
scene.open("model.obj", options)
# Access imported data
for node in scene.root_node.child_nodes:
if node.entity:
mesh = node.entity
print(f"Mesh: {node.name}")
print(f" Vertices: {len(mesh.control_points)}")
print(f" Polygons: {mesh.polygon_count}")
Supported Formats
Import (Implemented)
- OBJ - Wavefront OBJ with full material support
- GLTF - GL Transmission Format (glTF 2.0)
- STL - Stereo Lithography format
- 3MF - 3D Manufacturing Format
- More formats coming soon...
Export (Implemented)
- OBJ - Export with vertices, faces, and materials
- GLTF - Export to glTF 2.0 format
- STL - Export to STL format
- 3MF - Export to 3MF format
- More formats coming soon...
Python Version Support
- Python 3.7+
- Python 3.8+
- Python 3.9+
- Python 3.10+
- Python 3.11+
- Python 3.12+
Format-Specific Features
OBJ Format
Import Features:
- Vertices (v), texture coordinates (vt), vertex normals (vn)
- Faces (f) with multiple index formats
- Objects (o), groups (g), smoothing groups (s)
- Materials (usemtl, mtllib)
Load Options:
flip_coordinate_system- Swap Y and Z coordinatesenable_materials- Enable/disable material loadingscale- Scale factor for all coordinatesnormalize_normal- Normalize normal vectors
Save Options:
apply_unit_scale- Apply unit scalingpoint_cloud- Export as point cloudverbose- Verbose outputserialize_w- Include W coordinateenable_materials- Export materialsflip_coordinate_system- Flip coordinate system
GLTF Format
Features:
- glTF 2.0 specification support
- PBR material system (metallic/roughness workflow)
- Mesh primitives with attributes
- Node hierarchy and transforms
- Texture and image support
STL Format
Features:
- Binary and ASCII STL support
- Triangular mesh representation
- Unit conversion and scaling
- Import for 3D printing workflows
3MF Format
Features:
- 3D Manufacturing Format 1.2 support
- Rich metadata support
- Production-grade 3D printing
- Color and material support
Architecture
The library is organized into several modules:
aspose.threed- Core scene classes (Scene, Node, Entity)aspose.threed.entities- 3D entities (Mesh, Camera, Light)aspose.threed.formats- File format importers and exporters (OBJ, GLTF, STL, 3MF)aspose.threed.shading- Material system (Lambert, Phong, PBR materials)aspose.threed.utilities- Math utilities (vectors, matrices, quaternions)aspose.threed.animation- Animation system (keyframes, curves)
Contributing
Contributions are welcome! Please feel free to submit issues and pull requests.
License
This project is licensed under the MIT License — see the LICENSE file for details.
Resources
Aspose.3D FOSS — free & open source (aspose.org)
- Aspose.3D FOSS for Python — product page
- Aspose.3D FOSS family — all platforms (Python, .NET, Java, TypeScript)
- Aspose FOSS documentation — guides for all open-source libraries
- Aspose FOSS blog — tutorials and announcements
Aspose.3D — commercial On-Premise edition (aspose.com)
- Aspose.3D for Python via .NET — full-featured commercial edition
- Aspose.3D product family — overview
- Developer documentation — API guides
- API reference — complete API documentation
- Download / free trial — get the commercial package
Community & support
- Aspose.3D support forum — questions and help
- Free online 3D apps — convert and view 3D files in your browser
Acknowledgments
- Aspose.3D FOSS is inspired by the Aspose.3D API.
- 3D format specifications are maintained by various 3D software vendors and standards bodies.
Metadata
Release files for aspose-3d-foss 26.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| aspose_3d_foss-26.1.0-py3-none-any.whl | Python 3 | none | any | Details for aspose_3d_foss-26.1.0-py3-none-any.whl |
Release files / aspose_3d_foss-26.1.0-py3-none-any.whl
| Download URL | aspose_3d_foss-26.1.0-py3-none-any.whl |
|---|---|
| Size | 218.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
0a45fda12691c65e571ff5d0bb8f0a03a09a4400ff559f5feb6bc169f2ef70a1
|
|
BLAKE2b-256 checksum How to use checksums |
bfe53891e14effcac1ac003c6fbbef4bb66f69bdf2b491e29356dbdab279c489
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.5
|
Security for aspose-3d-foss 26.1.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.