Jak pracovat s 2D profily v .NET

Jak pracovat s 2D profily v .NET

Jak pracovat s 2D profily v .NET

Tento článek ukazuje, jak definovat 2D profily průřezů a provést jejich vytahování nebo otáčení do 3D těles pomocí Aspose.3D pro .NET.


Krok 1 — Nainstalujte balíček

dotnet add package Aspose.3D.FOSS

Krok 2 — Vytvořte parametrizovaný profil

Použijte vestavěné tvary, jako jsou RectangleShape nebo CircleShape, pro standardní průřezy:

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 — Vytvořte parametrizovaný profil ve tvaru L

LShape vytváří nosník s L-profilem z rozměrových vlastností:

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 — Vytvořit zrcadlený profil

MirroredProfile vytváří symetrický průřez zrcadlením základního profilu:

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 — Otočit profil do tělesa

RevolvedAreaSolid otáčí profil kolem osy a vytváří rotačně symetrické těleso. Nastavte Shape a AngleEnd na instanci:

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 — Uložit scénu

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

Troubleshooting

SymptomPravděpodobná příčinaOprava
Extruze nemá viditelnou geometriiHrany profilu jsou kolineární nebo mají nulovou plochuOvěřte, že Edges tvoří platný uzavřený polygon
Zrcadlený výsledek není symetrickýMirroredProfile zrcadlí cokoli, co baseProfile obaluje — neexistuje samostatný parametr osy, který by se dal nastavitPředávejte správný baseProfile do new MirroredProfile(baseProfile); upravte samotný základní profil, aby se dosáhlo požadované symetrie
Otáčené těleso je duté nebo plochéÚhel výseče je 0 nebo profil je otevřenýPoužijte uzavřený profil a nastavte úhel na Math.PI * 2 pro plnou revoluci

Související zdroje

Viz také:

 Čeština