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}");