Jak pracować z profilami 2D w .NET

Jak pracować z profilami 2D w .NET

Jak pracować z profilami 2D w .NET

Ten artykuł pokazuje, jak definiować profile przekrojów 2D oraz wyciągać je lub obracać w bryły 3D przy użyciu Aspose.3D dla .NET.


Krok 1 — Zainstaluj pakiet

dotnet add package Aspose.3D.FOSS

Krok 2 — Utwórz profil parametryzowany

Użyj wbudowanych kształtów, takich jak RectangleShape lub CircleShape, do standardowych przekrojów:

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);

Krok 3 — Utwórz profil parametryzowany w kształcie L

LShape generuje belkę w kształcie litery L na podstawie wymiarów:

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);

Krok 4 — Utwórz odbity profil

MirroredProfile generuje symetryczny przekrój poprzez odbicie profilu bazowego:

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);

Krok 5 — Obróć profil w bryłę

RevolvedAreaSolid obraca profil wokół osi, aby uzyskać bryłę o symetrii obrotowej. Ustaw Shape i AngleEnd na instancji:

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);

Krok 6 — Zapisz scenę

scene.Save("profiles.gltf", FileFormat.GLTF2);
Console.WriteLine("Saved: profiles.gltf");

Troubleshooting

SymptomPrawdopodobna przyczynaNaprawa
Ekstruzja nie ma widocznej geometriiKrawędzie profilu są współliniowe lub mają zerowe poleSprawdź, czy Edges tworzy prawidłowy zamknięty wielokąt
Odbity wynik nie jest symetrycznyMirroredProfile odwraca wszystko, co baseProfile obejmuje — nie ma osobnego parametru osi do ustawieniaPrzekaż prawidłowy baseProfile do new MirroredProfile(baseProfile); dostosuj sam podstawowy profil, aby uzyskać pożądaną symetrię
Revolved solid jest pusty lub płaskiSweep angle wynosi 0 lub profile jest otwartyUżyj zamkniętego profile i ustaw angle na Math.PI * 2 dla pełnego obrotu

Powiązane zasoby

Zobacz także

 Polski