FileFormat — Aspose.3D FOSS for .NET
Methods
Methods FileFormat class 是所有受支持的 3D 文件格式的注册表。对于各个格式没有公共的具名常量——格式实例在运行时通过静态发现方法或 Formats 集合。.
格式注册表
受支持的格式在内部已注册。使用以下 API 访问它们::
| Methods | Methods | Methods |
|---|---|---|
FileFormat.Formats | IList<FileFormat> | 所有已注册的格式实例 |
FileFormat.Detect(string filePath) | FileFormat | 从文件路径检测格式(通过扩展名和内容) |
FileFormat.GetFormatByExtension(string ext) | FileFormat | 返回给定文件扩展名的格式(例如. ".obj") |
已注册的格式包括:OBJ、STL、glTF/GLB、FBX、COLLADA、PLY 和 3MF。.
Methods
| Methods | 返回类型 | Methods |
|---|---|---|
Detect(string filePath) | FileFormat | 从文件路径检测格式 |
GetFormatByExtension(string ext) | FileFormat | 返回与扩展名匹配的格式 |
CreateLoadOptions() | LoadOptions | 返回适用于此格式实例的加载选项 |
CreateSaveOptions() | SaveOptions | 返回适用于此格式实例的保存选项 |
关于 CreateLoadOptions() / CreateSaveOptions(): 这些方法在…时能够正常工作 在由…返回的格式实例上调用 Detect() 或 GetFormatByExtension() — 每个已注册的 格式使用其自身实现覆盖这些方法。在原始基类上调用它们 FileFormat 实例(未通过注册表获取)抛出 NotImplementedException.
Methods
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.Extension}: import={fmt.CanImport}, export={fmt.CanExport}");