כיצד לעבוד עם פרופילים דו-ממדיים ב-.NET
איך לעבוד עם פרופילים דו-ממדיים ב-.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 | סיבה אפשרית | תיקון |
|---|---|---|
| ל-Extrusion אין גיאומטריה נראית | קצוות הפרופיל הם קוליניאריים או בעלי שטח אפס | וודא שה-Edges יוצר מצולע סגור תקף |
| התוצאה המשוקפת אינה סימטרית | MirroredProfile משקפת כל מה ש-baseProfile עוטפת — אין פרמטר ציר נפרד להגדרה | העבר את ה-baseProfile הנכון ל-new MirroredProfile(baseProfile); התאם את פרופיל הבסיס עצמו כדי לקבל את הסימטריה הרצויה |
| הגוף המסובב ריק או שטוח | זווית הסחף היא 0 או שהפרופיל פתוח | השתמש בפרופיל סגור והגדר את הזווית ל-Math.PI * 2 לסיבוב מלא |
משאבים קשורים
- עבודה עם פרופילים — מדריך למפתחים עם פרטים מלאים של API
- עבודה עם ישויות סצנה — הצמדת גופים מחולצים לצמתים בסצנה