كيفية العمل مع ملفات تعريف 2D في .NET

كيفية العمل مع ملفات تعريف 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 لدورة كاملة

الموارد ذات الصلة

انظر أيضاً

 العربية