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.FOSSSchritt 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
| Symptom | Wahrscheinliche Ursache | Behebung |
|---|---|---|
| Extrusion hat keine sichtbare Geometrie | Profilkanten sind kollinear oder haben keine Fläche | Überprüfen Sie, ob Edges ein gültiges geschlossenes Polygon bilden |
| Gespiegeltes Ergebnis ist nicht symmetrisch | MirroredProfile 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 flach | Sweep angle ist 0 oder profile ist open | Verwenden Sie ein geschlossenes profile und setzen Sie den Winkel auf Math.PI * 2 für die vollständige Revolution |
Verwandte Ressourcen
- Arbeiten mit Profiles — Entwicklerhandbuch mit vollständigen API Details
- Arbeiten mit Scene Entities — extruded solids an scene nodes anhängen