FileFormat — Aspose.3D FOSS for .NET
Methods
Methods FileFormat کلاس یک رجیستری از تمام فرمتهای فایل 3D پشتیبانیشده است. برای فرمتهای تکتک ثابتهای عمومی نامگذاریشدهای وجود ندارد — نمونههای فرمت در زمان اجرا از طریق متدهای کشف ایستا یا Formats مجموعه.
رجیستری فرمتها
فرمتهای پشتیبانیشده بهصورت داخلی ثبت میشوند. برای دسترسی به آنها از API زیر استفاده کنید:
| Methods | Methods | Methods |
|---|---|---|
FileFormat.Formats | IList<FileFormat> | تمام نمونههای فرمت ثبتشده |
FileFormat.Detect(string filePath) | FileFormat | قالب را از مسیر فایل تشخیص میدهد (بر اساس پسوند و محتوا) |
FileFormat.GetFormatByExtension(string ext) | FileFormat | فرمت مربوط به پسوند فایل دادهشده را برمیگرداند (مثلاً. ".obj") |
فرمتهای ثبتشده شامل: OBJ, STL, glTF/GLB, FBX, COLLADA, PLY و 3MF هستند.
Methods
| Methods | نوع بازگشت | Methods |
|---|---|---|
Detect(string filePath) | FileFormat | قالب را از مسیر فایل تشخیص میدهد |
GetFormatByExtension(string ext) | FileFormat | قالبی را که با پسوند مطابقت دارد برمیگرداند |
CreateLoadOptions() | LoadOptions | گزینههای بارگذاری مناسب برای این نمونه قالب را برمیگرداند |
CreateSaveOptions() | SaveOptions | گزینههای ذخیرهسازی مناسب برای این نمونه قالب را برمیگرداند |
یادداشت درباره CreateLoadOptions() / CreateSaveOptions(): این متدها بهدرستی کار میکنند زمانی که فراخوانی شده بر روی نمونههای فرمت بازگرداندهشده توسط Detect() یا GetFormatByExtension() — هر یک ثبتشده فرمت این متدها را با پیادهسازی خود بازنویسی میکند. فراخوانی آنها بر روی یک کلاس پایهٔ خام FileFormat نمونه (که از طریق رجیستری بهدست نیامده) استثنا میاندازد NotImplementedException.
Methods
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.Extension}: import={fmt.CanImport}, export={fmt.CanExport}");