Como trabalhar com Perfis 2D no .NET

Como trabalhar com Perfis 2D no .NET

Como trabalhar com perfis 2D em .NET

Este artigo mostra como definir perfis de seção transversal 2D e varrê-los ou girá-los em sólidos 3D usando Aspose.3D para .NET.


Etapa 1 — Instalar o pacote

dotnet add package Aspose.3D.FOSS

Etapa 2 — Criar um perfil parametrizado

Use formas incorporadas, como RectangleShape ou CircleShape, para seções transversais padrão:

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

Etapa 3 — Criar um perfil em L parametrizado

LShape produz uma viga em seção L a partir de propriedades dimensionais:

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

Etapa 4 — Criar um Perfil Espelhado

MirroredProfile produz uma seção transversal simétrica espelhando um 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);

Etapa 5 — Revolver um Perfil em um Sólido

RevolvedAreaSolid gira um perfil ao redor de um eixo para produzir um sólido rotacionalmente simétrico. Defina Shape e AngleEnd na instância:

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

Etapa 6 — Salvar a Cena

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

Troubleshooting

SymptomCausa provávelCorrigir
A extrusão não tem geometria visívelAs arestas do perfil são colineares ou de área zeroVerifique se Edges formam um polígono fechado válido
O resultado espelhado não é simétricoMirroredProfile espelha o que quer que baseProfile envolva — não há um parâmetro de eixo separado para definirPasse o baseProfile correto para new MirroredProfile(baseProfile); ajuste o próprio perfil base para obter a simetria desejada
Sólido girado está oco ou planoO ângulo de varredura é 0 ou o perfil está abertoUse um perfil fechado e defina o ângulo para Math.PI * 2 para uma revolução completa

Recursos Relacionados

Ver também

 Português