FileFormat — Aspose.3D FOSS for .NET
Methods
Methods FileFormat klasa jest rejestrem wszystkich obsługiwanych formatów plików 3D. Nie ma publicznych nazwanych stałych dla poszczególnych formatów — instancje formatów są uzyskiwane w czasie wykonywania za pomocą statycznych metod wykrywania lub Formats kolekcji.
Rejestr formatów
Obsługiwane formaty są rejestrowane wewnętrznie. Użyj poniższego API, aby uzyskać do nich dostęp:
| Methods | Methods | Methods |
|---|---|---|
FileFormat.Formats | IList<FileFormat> | Wszystkie zarejestrowane instancje formatów |
FileFormat.Detect(string filePath) | FileFormat | Wykrywa format z ścieżki pliku (na podstawie rozszerzenia i zawartości) |
FileFormat.GetFormatByExtension(string ext) | FileFormat | Zwraca format dla podanego rozszerzenia pliku (np. ".obj") |
Zarejestrowane formaty obejmują: OBJ, STL, glTF/GLB, FBX, COLLADA, PLY oraz 3MF.
Methods
| Methods | Typ zwracany | Methods |
|---|---|---|
Detect(string filePath) | FileFormat | Wykrywa format z ścieżki pliku |
GetFormatByExtension(string ext) | FileFormat | Zwraca format pasujący do rozszerzenia |
CreateLoadOptions() | LoadOptions | Zwraca opcje wczytywania odpowiednie dla tej instancji formatu |
CreateSaveOptions() | SaveOptions | Zwraca opcje zapisu odpowiednie dla tej instancji formatu |
Uwaga dotycząca CreateLoadOptions() / CreateSaveOptions(): Te metody działają poprawnie, gdy wywoływane na instancjach formatu zwróconych przez Detect() lub GetFormatByExtension() — każdy zarejestrowany format nadpisuje te metody własną implementacją. Wywoływanie ich na surowej klasie bazowej FileFormat instancji (nie uzyskanej przez rejestr) rzuca NotImplementedException.
Methods
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}");