Aspose.3D FOSS per a .NET suposa set formats de fitxers 3D: OBJ, STL, GSTF, GLB, FBX, Col·labora,i 3MF.Aquest post és un guia pràctic, format per format que mostra com carregar i salvar cadascun, quines opcions estan disponibles, i com convertir entre ells.
Tots els exemples utilitzen el Aspose.ThreeD Nom de la ciutat:
using Aspose.ThreeD;
using Aspose.ThreeD.Formats;
El paquet de nuGet:
dotnet add package Aspose.3D --version 26.1.0
El front de la nau (Wavefront)
OBJ és un format basat en text àmpliament recolzat per a la geometria de mesh. Aspose.3D FOSS carrega arxius OBj juntament amb el seu company .mtl Arxius de material.
El càrrec OBJ
var scene = new Scene();
scene.Open("model.obj");
Console.WriteLine("Nodes: " + scene.RootNode.ChildNodes.Count);
Carregar amb opcions
var opts = new ObjLoadOptions();
// Configure loading behavior as needed
var scene = new Scene();
scene.Open("model.obj", opts);
El que s’estalvia com a OBJ
var scene = new Scene();
var box = new Entities.Box(2, 2, 2);
scene.RootNode.CreateChildNode("BoxNode", box);
scene.Save("output.obj");
OBJ amb opcions de Save
var opts = new ObjSaveOptions();
scene.Save("output.obj", opts);
STL (Stereolithografia de la Terra)
STL és el format estàndard per a la impressió 3D. Està emmagatzemant geometria triangulada cru sense materials o jerarquia. Aspose.3D FOSS suporta tant binària com ASCII STl.
Lloc STL
var scene = new Scene();
scene.Open("part.stl");
Console.WriteLine("Nodes: " + scene.RootNode.ChildNodes.Count);
Estalvi com a STL
var scene = new Scene();
var sphere = new Entities.Sphere(1);
scene.RootNode.CreateChildNode("SphereNode", sphere);
scene.Save("output.stl");
STL amb opcions de Save
var opts = new StlSaveOptions();
// Control binary mode, scale, and coordinate flipping
scene.Save("output.stl", opts);
El Tour de la Ronda
// Load an STL file and re-save it -- geometry is preserved
var scene = new Scene();
scene.Open("original.stl");
scene.Save("copy.stl");
GLTF 2.0 i GLB
GlTF és la norma moderna per a web i 3D en temps real. S’hi dóna suport als materials PBR, les jerarquies de l’escena completa i l’envasament binari eficient (GLB).
Carregador de gltf
var scene = new Scene();
scene.Open("model.gltf");
Carregar amb opcions
var opts = new GltfLoadOptions();
var scene = new Scene();
scene.Open("model.gltf", opts);
Estalvi com a glTF
var scene = new Scene();
var box = new Entities.Box(2, 2, 2);
scene.RootNode.CreateChildNode("BoxNode", box);
scene.Save("output.gltf");
L’estalvi com a GLB (GlTF binari)
Per produir un binari autòcontenut .glb El fitxer, guardat amb un .glb La biblioteca incorpora el format binari glTF de l’extens:
scene.Save("output.glb");
El llibre (Filmbox)
FBX és àmpliament utilitzat en el desenvolupament de jocs i la creació de continguts digitals. Aspose.3D FOSS per .NET suposa FB X Import i Exportació.Exportació produeix FBX binari; el codi d’exportacions de FBC existeix a la font però no es diu pel camí d’export en aquesta versió. FbxSaveOptions La classe proporciona ajustos de default.
Lladida FBX
var scene = new Scene();
scene.Open("model.fbx");
Carregar amb opcions
var opts = new FbxLoadOptions();
var scene = new Scene();
scene.Open("model.fbx", opts);
Com a FBX
var scene = new Scene();
var box = new Entities.Box(2, 2, 2);
scene.RootNode.CreateChildNode("BoxNode", box);
// FBX export always produces binary FBX output
scene.Save("output.fbx");
Estalvi amb opcions
// Use FbxSaveOptions for format-specific defaults
var opts = new FbxSaveOptions();
scene.Save("output.fbx", opts);
3MF (3D Manufacturing Format)
3MF is a modern 3D printing format developed by the 3MF Consortium. It supports rich metadata, materials, and multi-object scenes in a single ZIP-based package.
càrrega 3MF
var scene = new Scene();
scene.Open("model.3mf");
Carregar amb opcions
var opts = new TmfLoadOptions();
var scene = new Scene();
scene.Open("model.3mf", opts);
Com a 3MF
var scene = new Scene();
var box = new Entities.Box(2, 2, 2);
scene.RootNode.CreateChildNode("BoxNode", box);
scene.Save("output.3mf");
Estalvi amb opcions
var opts = new TmfSaveOptions();
scene.Save("output.3mf", opts);
Basada en el corrent I/O
Tots els formats suporten la càrrega i l’estalvi a les fluxos, que és útil per als serveis web i el processament en núvol:
using var stream = File.OpenRead("model.obj");
var scene = new Scene();
var opts = new ObjLoadOptions();
scene.Open(stream, opts);
// Save to a memory stream
using var output = new MemoryStream();
var saveOpts = new GltfSaveOptions();
scene.Save(output, saveOpts);
Detecció de format
La biblioteca pot detectar automàticament formats de les extensions de fitxers o el contingut en flux:
// Auto-detect from extension
var scene = new Scene();
scene.Open("model.obj"); // Detects OBJ from .obj extension
// Auto-detect from stream content
using var stream = File.OpenRead("model.obj");
scene.Open(stream); // Inspects stream content to determine format
Conversió Batx
Per convertir múltiples arxius, iterar sobre un directori i convertir cadascun:
using Aspose.ThreeD;
using Aspose.ThreeD.Formats;
var inputDir = "assets/";
var outputDir = "converted/";
foreach (var file in Directory.GetFiles(inputDir, "*.fbx"))
{
var scene = new Scene();
scene.Open(file);
var outputPath = Path.Combine(outputDir,
Path.GetFileNameWithoutExtension(file) + ".glb");
scene.Save(outputPath);
Console.WriteLine("Converted: " + file);
}
Format de comparació
| Feinació | OBJ | STL | GSTF | FBX | 3MF |
|---|---|---|---|---|---|
| Materials | MTL | No | PBR | Sí | Sí |
| La jerarquia de l’escenari | No | No | Sí | Sí | Sí |
| Animació SSTUBS | No | No | Sí | Sí | No |
| Modi binari | No | Sí | GLB | Sí | ZIP |
| 3D printing ready | Limitat | Sí | No | No | Sí |
| Web de lliurament | No | No | Sí | No | No |
Resum
Aspose.3D FOSS per a .NET li dóna una única, API consistent per treballar amb tots els formats de fitxers 3D principals. Scene,El truc Open() per carregar, opcionalment configurar les opcions específiques de format i trucar Save() Detecció de formats, I/O basada en el flux i conversió d’un batxel fan que sigui fàcil integrar-se a qualsevol pipeline .NET.
Per a més informació:
- Referència API - Documentació de classe i mètode detallada.
- Base de coneixement - Com fer els articles pràctics.
- GitHub - codi font i tracker de sortides.