Cómo trabajar con perfiles 2D en .NET

Cómo trabajar con perfiles 2D en .NET

Cómo trabajar con perfiles 2D en .NET

Este artículo muestra cómo definir perfiles de sección transversal 2D y barrerlos o revolverlos en sólidos 3D usando Aspose.3D para .NET.


Paso 1 — Instalar el paquete

dotnet add package Aspose.3D.FOSS

Paso 2 — Crear un perfil parametrizado

Utiliza formas incorporadas como RectangleShape o CircleShape para secciones transversales estándar:

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

Paso 3 — Crear un perfil L parametrizado

LShape produce una viga de sección en L a partir de propiedades dimensionales:

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

Paso 4 — Crear un perfil reflejado

MirroredProfile produce una sección transversal simétrica al reflejar un perfil base:

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

Paso 5 — Revolver un perfil en un sólido

RevolvedAreaSolid rota un perfil alrededor de un eje para producir un sólido rotacionalmente simétrico. Establezca Shape y AngleEnd en la instancia:

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

Paso 6 — Guardar la escena

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

Troubleshooting

SymptomCausa probableCorrección
La extrusión no tiene geometría visibleLos bordes del perfil son colineales o de área ceroVerifique que Edges formen un polígono cerrado válido
El resultado reflejado no es simétricoMirroredProfile refleja lo que sea que baseProfile envuelva — no hay un parámetro de eje separado para establecerPase el baseProfile correcto a new MirroredProfile(baseProfile); ajuste el perfil base mismo para obtener la simetría deseada
El sólido girado está hueco o planoEl ángulo de barrido es 0 o el perfil está abiertoUtilice un perfil cerrado y establezca el ángulo a Math.PI * 2 para una revolución completa

Recursos relacionados

Ver también

 Español