วิธีทำงานกับโปรไฟล์ 2 มิติใน .NET
วิธีทำงานกับโปรไฟล์ 2D ใน .NET
บทความนี้แสดงวิธีกำหนดโปรไฟล์ส่วนตัดขวาง 2D และสวิงหรือหมุนให้เป็นของแข็ง 3 มิติโดยใช้ 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 ไม่มีเรขาคณิตที่มองเห็นได้ | ขอบของ Profile อยู่ในแนวเดียวกันหรือมีพื้นที่ศูนย์ | ตรวจสอบว่า Edges สร้างเป็นรูปหลายเหลี่ยมปิดที่ถูกต้อง |
| ผลลัพธ์ที่สะท้อนไม่สมมาตร | MirroredProfile สะท้อนสิ่งใดก็ได้ที่ baseProfile ครอบ — ไม่มีพารามิเตอร์แกนแยกเพื่อกำหนด | ส่ง baseProfile ที่ถูกต้องไปยัง new MirroredProfile(baseProfile); ปรับโปรไฟล์ฐานเองเพื่อให้ได้สมมาตรที่ต้องการ |
| ของแข็งที่หมุนเป็นรูหรือแบน | มุมสวิงเป็น 0 หรือโพรไฟล์เปิด | ใช้โพรไฟล์ที่ปิดและตั้งมุมเป็น Math.PI * 2 เพื่อให้หมุนครบรอบ |
แหล่งข้อมูลที่เกี่ยวข้อง
- ทำงานกับโพรไฟล์ — คู่มือผู้พัฒนาพร้อมรายละเอียด API แบบเต็ม
- ทำงานกับเอนทิตี้ของซีน — แนบของแข็งที่ดึงออกไปยังโหนดของซีน