FileFormat — Aspose.3D FOSS for .NET

Example

Example FileFormat class är ett register över alla stödda 3D-filformat. Det finns inga offentliga namngivna konstanter för enskilda format — formatinstanser erhålls vid körning via de statiska upptäcktsmetoderna eller den Formats samlingen.

Formatregister

Stödjade format registreras internt. Använd följande API för att komma åt dem:

ExampleExampleExample
FileFormat.FormatsIList<FileFormat>Alla registrerade formatinstanser
FileFormat.Detect(string filePath)FileFormatDetekterar format från en filsökväg (baserat på filändelse och innehåll)
FileFormat.GetFormatByExtension(string ext)FileFormatReturnerar formatet för en given filändelse (t.ex. ".obj")

Registrerade format inkluderar: OBJ, STL, glTF/GLB, FBX, COLLADA, PLY och 3MF.

Example

ExampleReturtypExample
Detect(string filePath)FileFormatDetekterar formatet från en filsökväg
GetFormatByExtension(string ext)FileFormatReturnerar formatet som matchar filändelsen
CreateLoadOptions()LoadOptionsReturnerar laddningsalternativ som är lämpliga för denna formatinstans
CreateSaveOptions()SaveOptionsReturnerar sparalternativ som är lämpliga för denna formatinstans

Anmärkning om CreateLoadOptions() / CreateSaveOptions(): Dessa metoder fungerar korrekt när anropas på formatinstanser som returneras av Detect() eller GetFormatByExtension() — varje registrerad format åsidosätter dessa metoder med sin egen implementation. Att anropa dem på en rå basklass FileFormat instans (inte erhållen via registret) kastar 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}");

Se även

 Svenska