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

Aspose.3D FOSS for .NET

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

Open-Source .NET Library for 3D File Processing

Aspose.3D FOSS for .NET is a MIT-licensed, pure-C# library for working with 3D file formats. Add a single NuGet package 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, and Transform, the same conceptual model used by professional 3D tools. Format support includes OBJ (with .mtl material loading), STL (binary and ASCII), glTF 2.0 (PBR materials), GLB (binary glTF), FBX (import and export), Collada, and 3MF. 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 targets .NET 10.0 and runs on Windows, macOS, and Linux. 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 export. Save as .glb for binary glTF output.
  • FBX: Import and export FBX files (binary output only; ASCII export is not active in this version).
  • Collada / 3MF: Additional format support for broader interoperability.
  • PLY: Import only (PLY export is not supported).
  • Scene-graph API: Scene, Node, Mesh, Camera, 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 and STL 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.
  • Per-format load options: Configure coordinate flipping, scale, and material loading per format.
  • Round-trip fidelity: Unknown scene-graph nodes are preserved verbatim on re-save.

Developer Experience

Aspose.3D FOSS for .NET installs with a single NuGet package (dotnet add package Aspose.3D --version 26.1.0). The library is pure C#, 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

Add the NuGet package, then call Scene.Open("model.obj") 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.

dotnet add package Aspose.3D --version 26.1.0
using Aspose.ThreeD;

// Load an OBJ file (with .mtl materials)
var scene = new Scene();
scene.Open("model.obj");

// Export as glTF 2.0
scene.Save("model.gltf");

Load OBJ with Options and Export as STL

Per-format option classes let you control import behaviour. For example, ObjLoadOptions lets you toggle coordinate flipping, scale, and material loading. The same pattern applies to all formats — swap out the options class for the format you are targeting.

using Aspose.ThreeD;
using Aspose.ThreeD.Formats;

var scene = new Scene();
var opts = new ObjLoadOptions();
opts.FlipCoordinateSystem = true;
opts.NormalizeNormal = true;
scene.Open("mesh.obj", opts);

// Re-export as STL
scene.Save("mesh.stl");

Frequently Asked Questions

What is Aspose.3D FOSS for .NET?

It is a free, MIT-licensed pure-C# 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, GLB (binary glTF), FBX (import and export; binary output only), Collada, 3MF, and PLY (import only). Each format has a dedicated load/save options class.

Does it require any native dependencies?

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

How do I install it?

Run dotnet add package Aspose.3D --version 26.1.0 to add the NuGet package to your project. 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 .NET versions are supported?

.NET 10.0 and later are supported. The library runs 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

 English