FileFormat — Aspose.3D FOSS for .NET
Example
Example FileFormat clasa este un registru al tuturor formatelor 3D suportate. Nu există constante publice denumite pentru formatele individuale — instanțele de format sunt obținute la rulare prin metodele statice de descoperire sau prin Formats colecție.
Registru de Formate
Formatele acceptate sunt înregistrate intern. Folosiți API-ul următor pentru a le accesa:
| Example | Example | Example |
|---|---|---|
FileFormat.Formats | IList<FileFormat> | Toate instanțele de format înregistrate |
FileFormat.Detect(string filePath) | FileFormat | Detectează formatul dintr-o cale de fișier (după extensie și conținut) |
FileFormat.GetFormatByExtension(string ext) | FileFormat | Returnează formatul pentru o extensie de fișier dată (de ex. ".obj") |
Formatele înregistrate includ: OBJ, STL, glTF/GLB, FBX, COLLADA, PLY și 3MF.
Example
| Example | Tip de returnare | Example |
|---|---|---|
Detect(string filePath) | FileFormat | Detectează formatul dintr-o cale de fișier |
GetFormatByExtension(string ext) | FileFormat | Returnează formatul care corespunde extensiei |
CreateLoadOptions() | LoadOptions | Returnează opțiunile de încărcare adecvate pentru această instanță de format |
CreateSaveOptions() | SaveOptions | Returnează opțiunile de salvare adecvate pentru această instanță de format |
Notă privind CreateLoadOptions() / CreateSaveOptions(): Aceste metode funcționează corect când aplicate pe instanțe de format returnate de Detect() sau GetFormatByExtension() — fiecare înregistrat format suprascrie aceste metode cu propria implementare. Apelarea lor pe o clasă de bază brută FileFormat instanță (neobținută prin registru) aruncă 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}");