Developer Guide

Aspose.3D FOSS for Python is an open-source, MIT-licensed library that lets Python developers load, construct, transform, and export 3D scenes without any external runtime dependencies. Whether you are building an asset pipeline, a validation tool, a geometry processing script, or a format-conversion service, this library provides a clean, consistent API backed by a scene-graph model that mirrors industry-standard 3D concepts.

This Developer Guide covers everything you need to go beyond the quick-start installation and write production-quality 3D processing code.

What You Will Find in This Section

Features and Functionalities

The Features page is the primary reference for working with Aspose.3D FOSS for Python. It covers:

  • Format support: OBJ (with .mtl materials), STL (binary and ASCII), glTF 2.0 / GLB, COLLADA (DAE), 3MF, and the in-progress FBX tokenizer, with per-format load and save option classes.
  • Scene graph: How Scene, Node, Entity, Transform, and GlobalTransform compose into a full scene hierarchy, including child-node traversal patterns.
  • Mesh API: Working with control_points, VertexElementNormal, VertexElementUV, VertexElementVertexColor, and VertexElementSmoothingGroup for geometry processing.
  • Material system: Applying LambertMaterial and PhongMaterial to scene nodes, and reading material properties loaded from .mtl files.
  • Math utilities: Using Vector2, Vector3, Vector4, FVector3, Quaternion, Matrix4, and BoundingBox for transforms, bounding-box queries, and geometric calculations.
  • Animation: Constructing and reading AnimationClip, AnimationNode, KeyFrame, and KeyframeSequence data.
  • Load and save options: Per-format option classes such as ObjLoadOptions (flip_coordinate_system, scale, enable_materials, normalize_normal) and StlSaveOptions.
  • Complete usage examples: End-to-end Python scripts for loading OBJ, exporting STL, round-tripping glTF, and traversing scene graphs.
  • Tips, common issues, and FAQ: Practical guidance for avoiding common pitfalls in production use.
  • API reference summary: Quick-reference listing of all key classes.

Key Concepts

Scene graph: All 3D content in Aspose.3D FOSS is represented as a tree of Node objects rooted at scene.root_node. Each node can carry an Entity (such as a Mesh, Camera, or Light) and a Transform that positions it in the hierarchy.

Format-agnostic API: You open any supported format through Scene.open() or Scene.from_file() and save to any supported format through Scene.save(). The same scene-graph objects are used regardless of the source or destination format.

Zero dependencies: The library is pure Python. There is no native extension to compile, no system package to install, and no third-party library to manage.

Getting Started

If you have not yet installed the library, see the Getting Started section and the Installation guide before reading further.

Available Topics