FileFormat — Aspose.3D FOSS for .NET

Example

Example 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 poprzez statyczne metody wykrywania lub Formats kolekcję.

Rejestr formatów

Obsługiwane formaty są rejestrowane wewnętrznie. Użyj poniższego API, aby uzyskać do nich dostęp:

ExampleExampleExample
FileFormat.FormatsIList<FileFormat>Wszystkie zarejestrowane instancje formatów
FileFormat.Detect(string filePath)FileFormatWykrywa format z ścieżki pliku (na podstawie rozszerzenia i zawartości)
FileFormat.GetFormatByExtension(string ext)FileFormatZwraca format dla podanego rozszerzenia pliku (np. ".obj")

Zarejestrowane formaty obejmują: OBJ, STL, glTF/GLB, FBX, COLLADA, PLY oraz 3MF.

Example

ExampleTyp zwracanyExample
Detect(string filePath)FileFormatWykrywa format ze ścieżki pliku
GetFormatByExtension(string ext)FileFormatZwraca format pasujący do rozszerzenia
CreateLoadOptions()LoadOptionsZwraca opcje ładowania odpowiednie dla tej instancji formatu
CreateSaveOptions()SaveOptionsZwraca 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łanie ich na surowej klasie bazowej FileFormat instancja (nie uzyskana przez rejestr) rzuca wyjątek NotImplementedException.

Example

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}");

Zobacz także

 Polski