FileFormat — Aspose.3D FOSS for .NET
Example
Example FileFormat class یک رجیستری از تمام فرمتهای 3D پشتیبانیشده است. ثابتهای عمومی نامدار برای فرمتهای تکتک وجود ندارند — نمونههای فرمت در زمان اجرا از طریق متدهای کشف ایستا یا the Formats collection.
رجیستری فرمت
فرمتهای پشتیبانیشده بهصورت داخلی ثبت میشوند. برای دسترسی به آنها از 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}");