FileFormat — Aspose.3D FOSS for .NET

Example

Example FileFormat η κλάση είναι ένα μητρώο όλων των υποστηριζόμενων μορφών αρχείων 3D. Δεν υπάρχουν δημόσιες ονομαστικές σταθερές για μεμονωμένες μορφές — τα στιγμιότυπα μορφής λαμβάνονται κατά το χρόνο εκτέλεσης μέσω των στατικών μεθόδων ανακάλυψης ή του Formats συλλογής.

Κατάλογος Μορφών

Οι υποστηριζόμενες μορφές καταχωρούνται εσωτερικά. Χρησιμοποιήστε το παρακάτω API για πρόσβαση σε αυτές:

ExampleExampleExample
FileFormat.FormatsIList<FileFormat>Όλα τα καταχωρημένα στιγμιότυπα μορφής
FileFormat.Detect(string filePath)FileFormatΑνιχνεύει τη μορφή από διαδρομή αρχείου (βάσει επέκτασης και περιεχομένου)
FileFormat.GetFormatByExtension(string ext)FileFormatΕπιστρέφει τη μορφή για μια δεδομένη επέκταση αρχείου (π.χ. ".obj")

Οι καταχωρημένες μορφές περιλαμβάνουν: OBJ, STL, glTF/GLB, FBX, COLLADA, PLY και 3MF.

Example

ExampleΤύπος ΕπιστροφήςExample
Detect(string filePath)FileFormatΑνιχνεύει τη μορφή από διαδρομή αρχείου
GetFormatByExtension(string ext)FileFormatΕπιστρέφει τη μορφή που ταιριάζει με την επέκταση
CreateLoadOptions()LoadOptionsΕπιστρέφει επιλογές φόρτωσης κατάλληλες για αυτό το στιγμιότυπο μορφής
CreateSaveOptions()SaveOptionsΕπιστρέφει επιλογές αποθήκευσης κατάλληλες για αυτό το στιγμιότυπο μορφής

Σημείωση για CreateLoadOptions() / CreateSaveOptions(): Αυτές οι μέθοδοι λειτουργούν σωστά όταν κλήθηκαν σε στιγμιότυπα μορφής που επιστράφηκαν από Detect() ή GetFormatByExtension() — κάθε καταχωρημένο μορφή παρακάμπτει αυτές τις μεθόδους με τη δική της υλοποίηση. Η κλήση τους σε μια ακατέργαστη βασική κλάση FileFormat αντίγραφο (που δεν αποκτήθηκε μέσω του μητρώου) ρίχνει 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}");

Δείτε επίσης

 Ελληνικά