FileFormat — Aspose.3D FOSS for .NET
Example
Example FileFormat class — это реестр всех поддерживаемых 3D форматов файлов. Публичных именованных констант для отдельных форматов нет — экземпляры форматов получаются во время выполнения через статические методы обнаружения или Formats коллекцию.
Реестр форматов
Поддерживаемые форматы регистрируются внутренне. Используйте следующий API для доступа к ним:
| Example | Example | Example |
|---|---|---|
FileFormat.Formats | IList<FileFormat> | Все зарегистрированные экземпляры форматов |
FileFormat.Detect(string filePath) | FileFormat | Определяет формат по пути к файлу (по расширению и содержимому) |
FileFormat.GetFormatByExtension(string ext) | FileFormat | Возвращает формат для заданного расширения файла (например,. ".obj") |
Зарегистрированные форматы включают: OBJ, STL, glTF/GLB, FBX, COLLADA, PLY и 3MF.
Example
| Example | Тип возвращаемого значения | Example |
|---|---|---|
Detect(string filePath) | FileFormat | Определяет формат по пути к файлу |
GetFormatByExtension(string ext) | FileFormat | Возвращает формат, соответствующий расширению |
CreateLoadOptions() | LoadOptions | Возвращает параметры загрузки, соответствующие данному экземпляру формата |
CreateSaveOptions() | SaveOptions | Возвращает параметры сохранения, соответствующие данному экземпляру формата |
Примечание к CreateLoadOptions() / CreateSaveOptions(): Эти методы работают корректно, когда вызываются у экземпляров формата, возвращаемых Detect() или GetFormatByExtension() — каждый зарегистрированный format переопределяет эти методы своей собственной реализацией. Вызов их на необработанном базовом классе FileFormat instance (не полученный через реестр) бросает 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}");