FileFormat — Aspose.3D FOSS for .NET
Example
Example FileFormat class est un registre de tous les formats de fichiers 3D pris en charge. Il n’existe aucune constante nommée publique pour les formats individuels — les instances de format sont obtenues à l’exécution via les méthodes de découverte statiques ou le Formats collection.
Registre des formats
Les formats pris en charge sont enregistrés en interne. Utilisez l’API suivante pour y accéder :
| Example | Example | Example |
|---|---|---|
FileFormat.Formats | IList<FileFormat> | Toutes les instances de format enregistrées |
FileFormat.Detect(string filePath) | FileFormat | Détecte le format à partir d’un chemin de fichier (par extension et contenu) |
FileFormat.GetFormatByExtension(string ext) | FileFormat | Renvoie le format pour une extension de fichier donnée (par ex. ".obj") |
Les formats enregistrés incluent : OBJ, STL, glTF/GLB, FBX, COLLADA, PLY et 3MF.
Example
| Example | Type de retour | Example |
|---|---|---|
Detect(string filePath) | FileFormat | Détecte le format à partir d’un chemin de fichier |
GetFormatByExtension(string ext) | FileFormat | Renvoie le format correspondant à l’extension |
CreateLoadOptions() | LoadOptions | Renvoie les options de chargement appropriées pour cette instance de format |
CreateSaveOptions() | SaveOptions | Renvoie les options d’enregistrement appropriées pour cette instance de format |
Note sur CreateLoadOptions() / CreateSaveOptions(): Ces méthodes fonctionnent correctement lorsque appelées sur des instances de format renvoyées par Detect() ou GetFormatByExtension() — chaque format enregistré le format remplace ces méthodes par sa propre implémentation. Les appeler sur une classe de base brute FileFormat instance (non obtenue via le registre) lance 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}");