FileFormat — Aspose.3D FOSS for .NET
Example
Example FileFormat class yra visų palaikomų 3D failų formatų registras. Nėra viešų pavadintų konstantų atskiriems formatams — formatų egzemplioriai gaunami vykdymo metu per statines atrankos metodus arba Formats kolekcija.
Formatų registras
Palaikomi formatai registruojami viduje. Naudokite šią API prieigai prie jų:
| Example | Example | Example |
|---|---|---|
FileFormat.Formats | IList<FileFormat> | Visi registruoti formatų egzemplioriai |
FileFormat.Detect(string filePath) | FileFormat | Nustato formatą iš failo kelio (pagal plėtinį ir turinį) |
FileFormat.GetFormatByExtension(string ext) | FileFormat | Grąžina formatą pagal nurodytą failo plėtinį (pvz. ".obj") |
Registruoti formatai apima: OBJ, STL, glTF/GLB, FBX, COLLADA, PLY ir 3MF.
Example
| Example | Grąžinimo tipas | Example |
|---|---|---|
Detect(string filePath) | FileFormat | Nustato formatą iš failo kelio |
GetFormatByExtension(string ext) | FileFormat | Grąžina formatą, atitinkantį plėtinį |
CreateLoadOptions() | LoadOptions | Grąžina įkėlimo parinktis, tinkamas šiam formatų egzemplioriui |
CreateSaveOptions() | SaveOptions | Grąžina išsaugojimo parinktis, tinkamas šiam formatų egzemplioriui |
Pastaba apie CreateLoadOptions() / CreateSaveOptions(): Šie metodai veikia teisingai, kai iškviečiami formatų egzemplioriams, grąžintiems Detect() arba GetFormatByExtension() — kiekvienas registruotas formatas perrašo šiuos metodus savo įgyvendinimu. Kviesdami juos ant neapdorotos bazinės klasės FileFormat instance (ne gauta per registrą) meta 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}");