FileFormat — Aspose.3D FOSS for .NET
Enumerations
Enumerations FileFormat class هو سجل لجميع صيغ ملفات 3D المدعومة. لا توجد ثوابت مسماة عامة للصيغ الفردية — يتم الحصول على كائنات الصيغة في وقت التشغيل عبر طرق الاكتشاف الساكنة أو الـ Formats المجموعة.
سجل الصيغ
يتم تسجيل الصيغ المدعومة داخليًا. استخدم واجهة برمجة التطبيقات التالية للوصول إليها:
| Enumerations | Enumerations | Enumerations |
|---|---|---|
FileFormat.Formats | IList<FileFormat> | جميع كائنات الصيغ المسجلة |
FileFormat.Detect(string filePath) | FileFormat | يكتشف الصيغة من مسار الملف (حسب الامتداد والمحتوى) |
FileFormat.GetFormatByExtension(string ext) | FileFormat | يعيد الصيغة لامتداد ملف معين (مثالاً على ذلك. ".obj") |
تشمل الصيغ المسجلة: OBJ، STL، glTF/GLB، FBX، COLLADA، PLY، و3MF.
Enumerations
| Enumerations | نوع الإرجاع | Enumerations |
|---|---|---|
Detect(string filePath) | FileFormat | يكتشف الصيغة من مسار الملف |
GetFormatByExtension(string ext) | FileFormat | يعيد الصيغة المطابقة للامتداد |
CreateLoadOptions() | LoadOptions | يعيد خيارات التحميل المناسبة لهذا كائن الصيغة |
CreateSaveOptions() | SaveOptions | يعيد خيارات الحفظ المناسبة لهذا كائن الصيغة |
ملاحظة حول CreateLoadOptions() / CreateSaveOptions(): تعمل هذه الطرق بشكل صحيح عندما يتم استدعاؤها على مثيلات format التي تُرجعها Detect() أو GetFormatByExtension() — كل مسجل تستبدل format هذه الطرق بتنفيذها الخاص. استدعاؤها على فئة أساسية خام FileFormat مثيل (لم يتم الحصول عليه عبر السجل) يثير NotImplementedException.
Enumerations
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}");