Wie man mit 2D-Profilen in .NET arbeitet

Wie man mit 2D-Profilen in .NET arbeitet

Wie man mit 2D-Profilen in .NET arbeitet

Dieser Artikel zeigt, wie man 2D-Querschnittsprofile definiert und sie mit Aspose.3D für .NET zu 3D-Körpern sweepen oder rotieren lässt.


Schritt 1 — Paket installieren

dotnet add package Aspose.3D.FOSS

Schritt 2 — Erstelle ein parametrisiertes Profil

Verwende integrierte Formen wie RectangleShape oder CircleShape für standardmäßige Querschnitte:

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

Schritt 3 — Erstelle ein parametrisiertes L-förmiges Profil

LShape erzeugt einen L-Querschnitts-Träger aus Maßangaben:

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

Schritt 4 — Erstelle ein gespiegeltes Profil

MirroredProfile erzeugt einen symmetrischen Querschnitt, indem ein Basisprofil gespiegelt wird:

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

Schritt 5 — Ein Profil zu einem Volumenkörper revolvieren

RevolvedAreaSolid rotiert ein Profil um eine Achse, um einen rotationssymmetrischen Festkörper zu erzeugen. Setze Shape und AngleEnd auf die Instanz:

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

Schritt 6 — Szene speichern

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

Troubleshooting

SymptomWahrscheinliche UrsacheBehebung
Extrusion hat keine sichtbare GeometrieProfilkanten sind kollinear oder haben keine FlächeÜberprüfen Sie, ob Edges ein gültiges geschlossenes Polygon bilden
Gespiegeltes Ergebnis ist nicht symmetrischMirroredProfile spiegelt alles, was baseProfile umschließt — es gibt keinen separaten Achsenparameter zum EinstellenÜbergeben Sie das korrekte baseProfile an new MirroredProfile(baseProfile); passen Sie das Basisprofil selbst an, um die gewünschte Symmetrie zu erreichen
Revolved solid ist hohl oder flachSweep angle ist 0 oder profile ist openVerwenden Sie ein geschlossenes profile und setzen Sie den Winkel auf Math.PI * 2 für die vollständige Revolution

Verwandte Ressourcen

Siehe auch

 Deutsch