FileFormat — Aspose.3D FOSS for .NET
Enumerations
Enumerations FileFormat třída je registr všech podporovaných 3D formátů souborů. Neexistují žádné veřejné pojmenované konstanty pro jednotlivé formáty — instance formátů jsou získávány za běhu pomocí statických metod pro objevování nebo Formats kolekce.
Registr formátů
Podporované formáty jsou registrovány interně. Použijte následující API pro jejich přístup:
| Enumerations | Enumerations | Enumerations |
|---|---|---|
FileFormat.Formats | IList<FileFormat> | Všechny registrované instance formátů |
FileFormat.Detect(string filePath) | FileFormat | Detekuje formát z cesty k souboru (podle přípony a obsahu) |
FileFormat.GetFormatByExtension(string ext) | FileFormat | Vrací formát pro danou příponu souboru (např. ".obj") |
Registrované formáty zahrnují: OBJ, STL, glTF/GLB, FBX, COLLADA, PLY a 3MF.
Enumerations
| Enumerations | Návratový typ | Enumerations |
|---|---|---|
Detect(string filePath) | FileFormat | Detekuje formát z cesty k souboru |
GetFormatByExtension(string ext) | FileFormat | Vrací formát odpovídající příponě |
CreateLoadOptions() | LoadOptions | Vrací možnosti načtení vhodné pro tuto instanci formátu |
CreateSaveOptions() | SaveOptions | Vrací možnosti uložení vhodné pro tuto instanci formátu |
Poznámka k CreateLoadOptions() / CreateSaveOptions(): Tyto metody fungují správně, když jsou volány na instance formátů vrácené Detect() nebo GetFormatByExtension() — každá registrovaná formát přepíše tyto metody vlastní implementací. Volání těchto metod na surové základní třídě FileFormat instance (ne získaná přes registr) vyhazuje NotImplementedException.
Enumerations
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.Name}: import={fmt.CanImport}, export={fmt.CanExport}");