Working with Profiles

Working with Profiles

Profiles in Aspose.3D for .NET define 2D cross-section shapes used as inputs to extrusion and solid revolution operations. LinearExtrusion sweeps a profile along a path and RevolvedAreaSolid revolves it around an axis.


Parameterized Profiles

ParameterizedProfile provides standard geometric shapes — rectangle, circle, ellipse, trapezoid, and others — defined by numeric parameters rather than explicit polygon vertices.

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 the rectangle 5 units along Z
var extrusion = new LinearExtrusion(rectProfile, 5.0);
extrusion.Slices = 10;
scene.RootNode.CreateChildNode("beam", extrusion);

scene.Save("beam.gltf", FileFormat.GLTF2);

Other shapes in ParameterizedProfile:

ClassParameters
RectangleShapeXDim, YDim, RoundingRadius
CircleShapeRadius
LShapeWidth, Depth, Thickness, FilletRadius
TShapeDepth, FlangeWidth, WebThickness, FlangeThickness

Parameterized L-shaped Profiles

LShape is a parameterized profile that produces an L-section structural beam from dimensional properties:

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 extrusion = new LinearExtrusion(lProfile, 4.0);
scene.RootNode.CreateChildNode("l_beam", extrusion);

Mirrored Profiles

MirroredProfile creates a symmetric cross-section by mirroring a base profile. Pass any Profile instance to the constructor; the library generates the mirrored shape automatically.

using Aspose.ThreeD.Profiles;

// Base profile to mirror
var baseProfile = new RectangleShape();
baseProfile.XDim = 0.5;
baseProfile.YDim = 1.0;

// Mirror the base profile to get a symmetric shape
var mirrored = new MirroredProfile(baseProfile);

var extrusion = new LinearExtrusion(mirrored, 3.0);
scene.RootNode.CreateChildNode("symmetric_beam", extrusion);

Centerline Profiles

CenterLineProfile wraps a Curve and a wall thickness to produce a hollow cross-section (e.g., a tube wall). Pass the centerline curve and thickness to the constructor.

using Aspose.ThreeD.Profiles;
using Aspose.ThreeD.Entities;

var circle = new Circle { Radius = 0.5 };
var tube = new CenterLineProfile(circle, 0.05); // 5 cm wall
var extrusion = new LinearExtrusion(tube, 10.0);
scene.RootNode.CreateChildNode("pipe", extrusion);

API Quick Reference

MemberDescription
new RectangleShape()Rectangular parameterized profile (XDim, YDim, RoundingRadius)
new CircleShape()Circular parameterized profile (Radius)
new LShape()L-shaped structural beam profile
new TShape()T-shaped structural beam profile
new MirroredProfile(base)Symmetric profile mirrored from a base profile
new CenterLineProfile(curve, thickness)Hollow profile with given wall thickness
new LinearExtrusion(profile, height)Sweep a profile along the Z axis
extrusion.SlicesNumber of subdivision segments along the sweep
new RevolvedAreaSolid()Revolve a profile around an axis; set Shape and AngleEnd properties

See Also