FileFormat — Aspose.3D FOSS for .NET

Example

Example FileFormat клас є реєстром усіх підтримуваних 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() — кожен зареєстрований формат перевизначає ці методи власною реалізацією. Виклик їх на необробленому базовому класі FileFormat екземпляр (не отриманий через реєстр) викидає 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}");

Див. також

 Українська