FileFormat — Aspose.3D FOSS for .NET

Example

Example FileFormat class یک رجیستری از تمام فرمت‌های 3D پشتیبانی‌شده است. ثابت‌های عمومی نام‌دار برای فرمت‌های تک‌تک وجود ندارند — نمونه‌های فرمت در زمان اجرا از طریق متدهای کشف ایستا یا the Formats collection.

رجیستری فرمت

فرمت‌های پشتیبانی‌شده به‌صورت داخلی ثبت می‌شوند. برای دسترسی به آن‌ها از 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}");

همچنین ببینید

 فارسی