Aspose.3D FOSS for .NET يدعم سبعة تنسيقات ملف 3D: OBJ, STL, GLTF, GLB, FBX, كولايدا,و ، و 3MF.هذا المنشور هو دليل عملي، تنسيق حسب النموذج يظهر كيفية تحميل وتخزين كل واحد منهم، ما هي الخيارات المتاحة، وكيفية تحويل بينهما.
كل الأمثلة تستخدم Aspose.ThreeD اسم الفضاء :
using Aspose.ThreeD;
using Aspose.ThreeD.Formats;
حزمة نوكيا :
dotnet add package Aspose.3D.FOSSجبهة الموجات (Wavefront)
OBJ هو تنسيق نصي مدعوم على نطاق واسع لجيومتريا الماس. Aspose.3D FOSS يحمل ملفات OBG جنبا إلى جنب مع رفيقها .mtl المواد الملفات .
تحميل OBJ
var scene = new Scene();
scene.Open("model.obj");
Console.WriteLine("Nodes: " + scene.RootNode.ChildNodes.Count);
تحميل مع الخيارات
var opts = new ObjLoadOptions();
// Configure loading behavior as needed
var scene = new Scene();
scene.Open("model.obj", opts);
التخزين كأوبج
var scene = new Scene();
var box = new Entities.Box(2, 2, 2);
scene.RootNode.CreateChildNode("BoxNode", box);
scene.Save("output.obj");
OBJ مع خيارات حفظ
var opts = new ObjSaveOptions();
scene.Save("output.obj", opts);
STL (الستريوليثوغرافيا )
STL هو النموذج القياسي للطباعة 3D. فإنه يخزن الهندسة المثلث الخام دون مواد أو الهرم. Aspose.3D FOSS يدعم كل من الثنائية و ASCII STl.
تحميل STL
var scene = new Scene();
scene.Open("part.stl");
Console.WriteLine("Nodes: " + scene.RootNode.ChildNodes.Count);
الادخار كالقمر
var scene = new Scene();
var sphere = new Entities.Sphere(1);
scene.RootNode.CreateChildNode("SphereNode", sphere);
scene.Save("output.stl");
STL مع خيارات حفظ
var opts = new StlSaveOptions();
// Control binary mode, scale, and coordinate flipping
scene.Save("output.stl", opts);
جولة سباق
// Load an STL file and re-save it -- geometry is preserved
var scene = new Scene();
scene.Open("original.stl");
scene.Save("copy.stl");
GLTF 2.0 و GLB
glTF هو المعيار الحديث للويب والزمن الحقيقي 3D. فإنه يدعم مواد PBR، سلسلة المسرح الكامل، وفعالة التعبئة الثنائية (GLB).
تحميل GLTF
var scene = new Scene();
scene.Open("model.gltf");
تحميل مع الخيارات
var opts = new GltfLoadOptions();
var scene = new Scene();
scene.Open("model.gltf", opts);
توفير مثل glTF
var scene = new Scene();
var box = new Entities.Box(2, 2, 2);
scene.RootNode.CreateChildNode("BoxNode", box);
scene.Save("output.gltf");
توفير ك GLB (GlTF الثنائي)
إنتاج محفظة ثنائية ذاتية الحجم .glb الملفات، حفظ مع A .glb يُدخل المكتبة تنسيق glTF الثنائي من التمديد:
scene.Save("output.glb");
FBX (صورة الفيلم)
ويستخدم FBX على نطاق واسع في تطوير الألعاب وإنشاء المحتوى الرقمي. Aspose.3D FOSS for .NET يدعم FB X الاستيراد والتصدير.تصدير ينتج FBX الثنائي؛ ASCII FBx رمز التصدير موجود في المصدر ولكن لا يسمى من خلال مسار التصادير في هذا الإصدار. FbxSaveOptions تتوفر فئة إعدادات افتراضية.
تحميل FBX
var scene = new Scene();
scene.Open("model.fbx");
تحميل مع الخيارات
var opts = new FbxLoadOptions();
var scene = new Scene();
scene.Open("model.fbx", opts);
التخزين ك FBX
var scene = new Scene();
var box = new Entities.Box(2, 2, 2);
scene.RootNode.CreateChildNode("BoxNode", box);
// FBX export always produces binary FBX output
scene.Save("output.fbx");
توفير المال مع الخيارات
// Use FbxSaveOptions for format-specific defaults
var opts = new FbxSaveOptions();
scene.Save("output.fbx", opts);
3MF (3D Manufacturing Format)
3MF is a modern 3D printing format developed by the 3MF Consortium. It supports rich metadata, materials, and multi-object scenes in a single ZIP-based package.
تحميل 3MF
var scene = new Scene();
scene.Open("model.3mf");
تحميل مع الخيارات
var opts = new TmfLoadOptions();
var scene = new Scene();
scene.Open("model.3mf", opts);
التخزين 3MF
var scene = new Scene();
var box = new Entities.Box(2, 2, 2);
scene.RootNode.CreateChildNode("BoxNode", box);
scene.Save("output.3mf");
توفير المال مع الخيارات
var opts = new TmfSaveOptions();
scene.Save("output.3mf", opts);
القاعدة I/O
جميع تنسيقات الدعم تحميل من وتخزين إلى التدفقات، والتي هي مفيدة لخدمات الويب وعمليات السحابة:
using var stream = File.OpenRead("model.obj");
var scene = new Scene();
var opts = new ObjLoadOptions();
scene.Open(stream, opts);
// Save to a memory stream
using var output = new MemoryStream();
var saveOpts = new GltfSaveOptions();
scene.Save(output, saveOpts);
تشكيل الكشف
يمكن للمكتبة اكتشاف تنسيقات تلقائيًا من ملحقات الملفات أو محتوى البث:
// Auto-detect from extension
var scene = new Scene();
scene.Open("model.obj"); // Detects OBJ from .obj extension
// Auto-detect from stream content
using var stream = File.OpenRead("model.obj");
scene.Open(stream); // Inspects stream content to determine format
Batch تحويلات
لتحويل ملفات متعددة، إيتير عبر دليل وتحويل كل منها:
using Aspose.ThreeD;
using Aspose.ThreeD.Formats;
var inputDir = "assets/";
var outputDir = "converted/";
foreach (var file in Directory.GetFiles(inputDir, "*.fbx"))
{
var scene = new Scene();
scene.Open(file);
var outputPath = Path.Combine(outputDir,
Path.GetFileNameWithoutExtension(file) + ".glb");
scene.Save(outputPath);
Console.WriteLine("Converted: " + file);
}
شكل مقارنة
| الميزات | OBJ | STL | GLTF | FBX | 3MF |
|---|---|---|---|---|---|
| المواد | MTL | لا | PBR | نعم | نعم |
| مسرحية الهرم | لا | لا | نعم | نعم | نعم |
| الرسوم المتحركة stubs | لا | لا | نعم | نعم | لا |
| الوضع الثنائي | لا | نعم | GLB | نعم | ZIP |
| 3D printing ready | محدودة | نعم | لا | لا | نعم |
| WEB تسليم | لا | لا | نعم | لا | لا |
ملخص
Aspose.3D FOSS for .NET يعطيك API واحد ومتسق للعمل مع جميع تنسيقات الملفات 3D الرئيسية. Scene,اتصلت Open() تحميل، اختياري إعداد الخيارات المحددة تنسيق، ودعوة Save() اكتشاف النماذج، I/O القائمة على التدفق، وتحويل المجموعة تجعل من السهل دمجها في أي خط أنابيب .NET.
لمزيد من المعلومات:
- إشارة API - تفاصيل الدرجة والطريقة الوثائقية.
- قاعدة المعرفة - كيفية ممارسة المواد.
- GitHub - رمز المصدر ومسح النتائج.