FileFormat — Aspose.3D FOSS for .NET
Example
Example FileFormat class เป็นทะเบียนของรูปแบบไฟล์ 3D ที่รองรับทั้งหมด ไม่มีค่าคงที่ที่ตั้งชื่อสาธารณะสำหรับรูปแบบแต่ละแบบ — อินสแตนซ์ของรูปแบบจะถูกดึงมาในเวลารันไทม์ผ่านวิธีการค้นพบแบบสถิตหรือ Formats คอลเลกชัน.
ทะเบียนรูปแบบ
รูปแบบที่รองรับจะถูกลงทะเบียนภายใน ใช้ API ต่อไปนี้เพื่อเข้าถึงพวกมัน:
| Example | Example | Example |
|---|---|---|
FileFormat.Formats | IList<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}");