FileFormat — Aspose.3D FOSS for .NET
Example
Example FileFormat luokka on rekisteri kaikille tuetuille 3D-tiedostomuodoille. Yksittäisille muodoille ei ole julkisia nimettyjä vakioita — formaattien ilmentymät saadaan ajonaikaisesti staattisten havaitsemismenetelmien tai Formats kokoelman.
Formaattirekisteri
Tuetut formaatit rekisteröidään sisäisesti. Käytä seuraavaa API:a niiden käyttämiseen:
| Example | Example | Example |
|---|---|---|
FileFormat.Formats | IList<FileFormat> | Kaikki rekisteröidyt formaatti-instanssit |
FileFormat.Detect(string filePath) | FileFormat | Havaitsee formaatin tiedostopolusta (tiedostopäätteen ja sisällön perusteella) |
FileFormat.GetFormatByExtension(string ext) | FileFormat | Palauttaa formaatin annetulle tiedostopäätteelle (esim. ".obj") |
Rekisteröidyt formaatit sisältävät: OBJ, STL, glTF/GLB, FBX, COLLADA, PLY ja 3MF.
Example
| Example | Paluuarvon tyyppi | Example |
|---|---|---|
Detect(string filePath) | FileFormat | Havaitsee formaatin tiedostopolusta |
GetFormatByExtension(string ext) | FileFormat | Palauttaa päätteeseen sopivan formaatin |
CreateLoadOptions() | LoadOptions | Palauttaa latausasetukset, jotka sopivat tälle formaatti-instanssille |
CreateSaveOptions() | SaveOptions | Palauttaa tallennusasetukset, jotka sopivat tälle formaatti-instanssille |
Huomautus CreateLoadOptions() / CreateSaveOptions(): Nämä metodit toimivat oikein, kun kutsutaan formaatti-instansseilla, jotka on palautettu Detect() tai GetFormatByExtension() — jokainen rekisteröity formaatti korvaa nämä metodit omalla toteutuksellaan. Kutsuttaessa niitä raakaan perusluokkaan FileFormat instanssi (ei rekisterin kautta hankittu) heittää 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}");