FileFormat — Aspose.3D FOSS for .NET
Methods
Methods FileFormat klase ir reģistrs visām atbalstītajām 3D failu formātiem. Nav publisku nosauktu konstantu atsevišķiem formātiem — formātu instances tiek iegūtas izpildlaikā, izmantojot statiskās atklāšanas metodes vai the Formats kolekcija.
Formātu reģistrs
Atbalstītie formāti tiek reģistrēti iekšēji. Izmantojiet šādu API, lai piekļūtu tiem:
| Methods | Methods | Methods |
|---|---|---|
FileFormat.Formats | IList<FileFormat> | Visi reģistrētie formātu instances |
FileFormat.Detect(string filePath) | FileFormat | Noteic formātu no faila ceļa (pēc paplašinājuma un satura) |
FileFormat.GetFormatByExtension(string ext) | FileFormat | Atgriež formātu dotajam faila paplašinājumam (piemēram. ".obj") |
Reģistrētie formāti ietver: OBJ, STL, glTF/GLB, FBX, COLLADA, PLY un 3MF.
Methods
| Methods | Atgriešanas tips | Methods |
|---|---|---|
Detect(string filePath) | FileFormat | Nosaka formātu no faila ceļa |
GetFormatByExtension(string ext) | FileFormat | Atgriež formātu, kas atbilst paplašinājumam |
CreateLoadOptions() | LoadOptions | Atgriež ielādes iespējas, kas piemērotas šim formāta instancei |
CreateSaveOptions() | SaveOptions | Atgriež saglabāšanas iespējas, kas piemērotas šim formāta instancei |
Piezīme par CreateLoadOptions() / CreateSaveOptions(): Šīs metodes darbojas pareizi, ja izsauc uz formāta instancēm, kuras atgriež Detect() vai GetFormatByExtension() — katrs reģistrētais formāts pārraksta šīs metodes ar savu īstenojumu. Izsaucot tās uz neapstrādātas pamata klases FileFormat instancē (kas nav iegūta caur reģistru) izsauc 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}");