FileFormat — Aspose.3D FOSS for .NET
Example
Example FileFormat classe é um registro de todos os formatos de arquivo 3D suportados. Não há constantes nomeadas públicas para formatos individuais — as instâncias de formato são obtidas em tempo de execução através dos métodos de descoberta estáticos ou o Formats coleção.
Registro de Formatos
Os formatos suportados são registrados internamente. Use a API a seguir para acessá-los:
| Example | Example | Example |
|---|---|---|
FileFormat.Formats | IList<FileFormat> | Todas as instâncias de formato registradas |
FileFormat.Detect(string filePath) | FileFormat | Detecta o formato a partir de um caminho de arquivo (por extensão e conteúdo) |
FileFormat.GetFormatByExtension(string ext) | FileFormat | Retorna o formato para uma determinada extensão de arquivo (ex. ".obj") |
Os formatos registrados incluem: OBJ, STL, glTF/GLB, FBX, COLLADA, PLY e 3MF.
Example
| Example | Tipo de Retorno | Example |
|---|---|---|
Detect(string filePath) | FileFormat | Detecta o formato a partir de um caminho de arquivo |
GetFormatByExtension(string ext) | FileFormat | Retorna o formato que corresponde à extensão |
CreateLoadOptions() | LoadOptions | Retorna opções de carregamento apropriadas para esta instância de formato |
CreateSaveOptions() | SaveOptions | Retorna opções de salvamento apropriadas para esta instância de formato |
Observação sobre CreateLoadOptions() / CreateSaveOptions(): Esses métodos funcionam corretamente quando chamados em instâncias de formato retornadas por Detect() ou GetFormatByExtension() — cada registrado formato substitui esses métodos com sua própria implementação. Chamá‑los em uma classe base crua FileFormat instância (não obtida através do registro) lança 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}");