Hur man arbetar med 2D-profiler i .NET

Hur man arbetar med 2D-profiler i .NET

Hur man arbetar med 2D-profiler i .NET

Den här artikeln visar hur man definierar 2D tvärsnittsprofiler och sveper eller roterar dem till 3D-solider med Aspose.3D för .NET.


Steg 1 — Installera paketet

dotnet add package Aspose.3D.FOSS

Steg 2 — Skapa en parametriserad profil

Använd inbyggda former såsom RectangleShape eller CircleShape för standardtvärsnitt:

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

Steg 3 — Skapa en parametriserad L-formad profil

LShape producerar en L-sektionsbjälke från dimensionella egenskaper:

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

Steg 4 — Skapa en speglad profil

MirroredProfile producerar ett symmetriskt tvärsnitt genom att spegla en grundprofil:

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

Steg 5 — Rotera en profil till en solid

RevolvedAreaSolid roterar en profil kring en axel för att skapa en rotationssymmetrisk solid. Ställ in Shape och AngleEnd på instansen:

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

Steg 6 — Spara scenen

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

Troubleshooting

SymptomTrolig orsakÅtgärd
Extrusion har ingen synlig geometriProfilkanterna är kollineära eller har nollareaVerifiera att Edges bildar en giltig sluten polygon
Speglat resultat är inte symmetrisktMirroredProfile speglar vad baseProfile än den omsluter — det finns ingen separat axelparameter att angeSkicka rätt baseProfile till new MirroredProfile(baseProfile); justera själva basprofilen för att få önskad symmetri
Rotationskropp är ihålig eller plattSvepvinkel är 0 eller profilen är öppenAnvänd en sluten profil och ställ in vinkeln till Math.PI * 2 för full rotation

Relaterade resurser

Se även

 Svenska