كيفية العمل مع ملفات تعريف 2D في .NET
كيفية العمل مع ملفات تعريف 2D في .NET
توضح هذه المقالة كيفية تعريف ملفات تعريف مقاطع عرضية ثنائية الأبعاد وتدويرها أو لفها لتصبح أجسامًا صلبة ثلاثية الأبعاد باستخدام Aspose.3D لـ .NET.
الخطوة 1 — تثبيت الحزمة
dotnet add package Aspose.3D.FOSSالخطوة 2 — إنشاء ملف تعريف معلمات
استخدم الأشكال المدمجة مثل RectangleShape أو CircleShape للمقاطع العرضية القياسية:
using Aspose.ThreeD;
using Aspose.ThreeD.Entities;
using Aspose.ThreeD.Profiles;
var scene = new Scene();
// Rectangle profile: 2 units wide, 1 unit tall
var rectProfile = new RectangleShape();
rectProfile.XDim = 2.0;
rectProfile.YDim = 1.0;
// Extrude 5 units along Z
var beam = new LinearExtrusion(rectProfile, 5.0);
beam.Slices = 10;
scene.RootNode.CreateChildNode("beam", beam);الخطوة 3 — إنشاء ملف تعريف على شكل L قابل للمعلمات
LShape ينتج عارضة على شكل حرف L من الخصائص البُعدية:
using Aspose.ThreeD.Profiles;
// L-shaped cross-section structural beam
var lProfile = new LShape();
lProfile.Width = 0.1;
lProfile.Depth = 0.2;
lProfile.Thickness = 0.01;
var lBeam = new LinearExtrusion(lProfile, 4.0);
scene.RootNode.CreateChildNode("l_beam", lBeam);الخطوة 4 — إنشاء ملف متماثل
MirroredProfile ينتج مقطعًا متماثلًا عن طريق عكس ملف أساسي:
using Aspose.ThreeD.Profiles;
// Base profile to mirror
var baseProfile = new RectangleShape();
baseProfile.XDim = 0.5;
baseProfile.YDim = 1.0;
// Mirror to get a symmetric beam flange
var mirrored = new MirroredProfile(baseProfile);
var iBeam = new LinearExtrusion(mirrored, 3.0);
scene.RootNode.CreateChildNode("i_beam", iBeam);الخطوة 5 — تدوير ملف لتشكيل صلب
RevolvedAreaSolid يدور ملفًا حول محور لإنتاج صلب متماثل دورانيًا. اضبط Shape و AngleEnd على النسخة:
var circleProfile = new CircleShape { Radius = 0.5 };
var revolved = new RevolvedAreaSolid();
revolved.Shape = circleProfile;
revolved.AngleEnd = Math.PI * 2; // full revolution
scene.RootNode.CreateChildNode("sphere", revolved);الخطوة 6 — حفظ المشهد
scene.Save("profiles.gltf", FileFormat.GLTF2);
Console.WriteLine("Saved: profiles.gltf");Troubleshooting
| Symptom | السبب المحتمل | الإصلاح |
|---|---|---|
| البثق لا يحتوي على هندسة مرئية | حواف البروفايل متراصة على خط واحد أو ذات مساحة صفرية | تحقق من أن Edges تُشكِّل مضلعًا مغلقًا صالحًا |
| النتيجة المعكوسة ليست متناظرة | MirroredProfile يعكس أي شيء baseProfile يلتف حوله — لا يوجد معلمة محور منفصلة لتعيينها | مرّر baseProfile الصحيح إلى new MirroredProfile(baseProfile)؛ عدّل البروفايل الأساسي نفسه للحصول على التناظر المطلوب |
| المجسم الدوار فارغ أو مسطح | زاوية السحب 0 أو المقطع مفتوح | استخدم مقطعًا مغلقًا واضبط الزاوية على Math.PI * 2 لدورة كاملة |
الموارد ذات الصلة
- العمل مع المقاطع — دليل المطور مع تفاصيل API كاملة
- العمل مع كيانات المشهد — ربط المجسمات البثقية بعقد المشهد