FileFormat — Aspose.3D FOSS for .NET
Example
Example FileFormat class is een register van alle ondersteunde 3D-bestandsformaten. Er zijn geen openbare benoemde constanten voor individuele formaten — formatinstanties worden verkregen tijdens runtime via de statische ontdekkingsmethoden of de Formats collectie.
Formaatregister
Ondersteunde formaten worden intern geregistreerd. Gebruik de volgende API om ze te benaderen:
| Example | Example | Example |
|---|---|---|
FileFormat.Formats | IList<FileFormat> | Alle geregistreerde formatinstanties |
FileFormat.Detect(string filePath) | FileFormat | Detecteert formaat van een bestandspad (op extensie en inhoud) |
FileFormat.GetFormatByExtension(string ext) | FileFormat | Retourneert het formaat voor een gegeven bestandsextensie (bijv. ".obj") |
Geregistreerde formaten omvatten: OBJ, STL, glTF/GLB, FBX, COLLADA, PLY en 3MF.
Example
| Example | Retourtype | Example |
|---|---|---|
Detect(string filePath) | FileFormat | Detecteert het formaat van een bestandspad |
GetFormatByExtension(string ext) | FileFormat | Retourneert het formaat dat overeenkomt met de extensie |
CreateLoadOptions() | LoadOptions | Retourneert laadopties die geschikt zijn voor deze formatinstantie |
CreateSaveOptions() | SaveOptions | Retourneert opslaanopties die geschikt zijn voor deze formatinstantie |
Opmerking over CreateLoadOptions() / CreateSaveOptions(): Deze methoden werken correct wanneer aangeroepen op formatinstanties die worden geretourneerd door Detect() of GetFormatByExtension() — elke geregistreerde formaat overschrijft deze methoden met zijn eigen implementatie. Ze aanroepen op een ruwe basisklasse FileFormat instantie (niet verkregen via het register) gooit 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}");