FileFormat — Aspose.3D FOSS for .NET
FileFormat klasa je registar svih podržanih 3D formata datoteka. Ne postoje javne imenovane konstante za pojedinačne formate — instance formata dobivaju se u vrijeme izvođenja putem statičkih metoda otkrivanja ili Formats kolekcija.Registar formata
Podržani formati su interno registrirani. Koristite sljedeći API za pristup njima:
FileFormat.Formats | IList<FileFormat> | Sve registrirane instance formata |
FileFormat.Detect(string filePath) | FileFormat | Otkriva format iz putanje datoteke (prema ekstenziji i sadržaju) |
FileFormat.GetFormatByExtension(string ext) | FileFormat | Vraća format za zadanu ekstenziju datoteke (npr. ".obj") |
Registrirani formati uključuju: OBJ, STL, glTF/GLB, FBX, COLLADA, PLY i 3MF.
| Tip povratka | ||
|---|---|---|
Detect(string filePath) | FileFormat | Otkriva format iz putanje datoteke |
GetFormatByExtension(string ext) | FileFormat | Vraća format koji odgovara ekstenziji |
CreateLoadOptions() | LoadOptions | Vraća opcije učitavanja prikladne za ovu instancu formata |
CreateSaveOptions() | SaveOptions | Vraća opcije spremanja prikladne za ovu instancu formata |
Napomena o CreateLoadOptions() / CreateSaveOptions(): Ove metode rade ispravno kada se pozivaju na instance formata koje vraća Detect() ili GetFormatByExtension() — svaka registrirana format nadjačava ove metode vlastitom implementacijom. Pozivanje istih na sirovoj baznoj klasi FileFormat instanca (nije dobivena putem registra) baca NotImplementedException.
using Aspose.ThreeD;
using Aspose.ThreeD.Formats;
// Detect format from a file path
var format = FileFormat.Detect("model.obj");
Console.WriteLine(format.Extension); // ".obj"
// Get load options from the detected format instance
var loadOpts = format.CreateLoadOptions(); // returns ObjLoadOptions via polymorphism
// Load and save — format inferred from extension
var scene = new Scene();
scene.Open("model.obj");
scene.Save("output.glb"); // binary GLB inferred from .glb extension
// Enumerate all registered formats
foreach (var fmt in FileFormat.Formats)
Console.WriteLine($"{fmt.Extension}: import={fmt.CanImport}, export={fmt.CanExport}");