FileFormat — Aspose.3D FOSS for .NET

Example

Example FileFormat class — это реестр всех поддерживаемых 3D форматов файлов. Публичных именованных констант для отдельных форматов нет — экземпляры форматов получаются во время выполнения через статические методы обнаружения или Formats коллекцию.

Реестр форматов

Поддерживаемые форматы регистрируются внутренне. Используйте следующий API для доступа к ним:

ExampleExampleExample
FileFormat.FormatsIList<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}");

См. также

 Русский