Cara Bekerja dengan Profil 2D di .NET
Cara Bekerja dengan Profil 2D di .NET
Artikel ini menunjukkan cara mendefinisikan profil penampang 2D dan menyapu atau memutar profil tersebut menjadi solid 3D menggunakan Aspose.3D untuk .NET.
Langkah 1 — Instal Paket
dotnet add package Aspose.3D.FOSSLangkah 2 — Buat Profil Parameter
Gunakan bentuk bawaan seperti RectangleShape atau CircleShape untuk penampang standar:
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);Langkah 3 — Buat Profil Parameter Berbentuk L
LShape menghasilkan balok L-section dari properti dimensi:
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);Langkah 4 — Buat Profil Cermin
MirroredProfile menghasilkan penampang simetris dengan mencerminkan profil dasar:
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);Langkah 5 — Putar Profil menjadi Padatan
RevolvedAreaSolid memutar profil di sekitar sumbu untuk menghasilkan padatan simetris rotasional. Atur Shape dan AngleEnd pada instance:
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);Langkah 6 — Simpan Adegan
scene.Save("profiles.gltf", FileFormat.GLTF2);
Console.WriteLine("Saved: profiles.gltf");Troubleshooting
| Symptom | Penyebab Kemungkinan | Perbaiki |
|---|---|---|
| Ekstrusi tidak memiliki geometri yang terlihat | Tepi profil bersifat kolinear atau memiliki area nol | Verifikasi Edges membentuk poligon tertutup yang valid |
| Hasil yang dicerminkan tidak simetris | MirroredProfile mencerminkan apa pun yang baseProfile bungkus — tidak ada parameter sumbu terpisah yang dapat diatur | Berikan baseProfile yang benar ke new MirroredProfile(baseProfile); sesuaikan profil dasar itu sendiri untuk mendapatkan simetri yang diinginkan |
| Benda berputar kosong atau datar | Sudut sweep adalah 0 atau profil terbuka | Gunakan profil tertutup dan atur sudut ke Math.PI * 2 untuk revolusi penuh |
Sumber Daya Terkait
- Bekerja dengan Profil — panduan pengembang dengan detail API lengkap
- Bekerja dengan Entitas Adegan — lampirkan benda ekstrusi ke node adegan