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.FOSSEtapa 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
| Symptom | Causa provável | Corrigir |
|---|---|---|
| A extrusão não tem geometria visível | As arestas do perfil são colineares ou de área zero | Verifique se Edges formam um polígono fechado válido |
| O resultado espelhado não é simétrico | MirroredProfile espelha o que quer que baseProfile envolva — não há um parâmetro de eixo separado para definir | Passe o baseProfile correto para new MirroredProfile(baseProfile); ajuste o próprio perfil base para obter a simetria desejada |
| Sólido girado está oco ou plano | O ângulo de varredura é 0 ou o perfil está aberto | Use um perfil fechado e defina o ângulo para Math.PI * 2 para uma revolução completa |
Recursos Relacionados
- Trabalhando com Perfis — guia do desenvolvedor com detalhes completos de API
- Trabalhando com Entidades de Cena — anexe sólidos extrudados a nós da cena