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.FOSSPaso 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
| Symptom | Causa probable | Corrección |
|---|---|---|
| La extrusión no tiene geometría visible | Los bordes del perfil son colineales o de área cero | Verifique que Edges formen un polígono cerrado válido |
| El resultado reflejado no es simétrico | MirroredProfile refleja lo que sea que baseProfile envuelva — no hay un parámetro de eje separado para establecer | Pase 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 plano | El ángulo de barrido es 0 o el perfil está abierto | Utilice un perfil cerrado y establezca el ángulo a Math.PI * 2 para una revolución completa |
Recursos relacionados
- Trabajando con perfiles — guía del desarrollador con todos los detalles de API
- Trabajando con entidades de escena — adjuntar sólidos extruidos a nodos de escena