Come lavorare con i profili 2D in .NET
Come lavorare con i profili 2D in .NET
Questo articolo mostra come definire profili di sezioni trasversali 2D e estruderli o ruotarli in solidi 3D usando Aspose.3D per .NET.
Passo 1 — Installa il pacchetto
dotnet add package Aspose.3D.FOSSPasso 2 — Crea un profilo parametrizzato
Usa forme integrate come RectangleShape o CircleShape per sezioni trasversali standard:
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);Passo 3 — Crea un profilo a forma di L parametrizzato
LShape produce un trave a sezione a L a partire dalle proprietà dimensionali:
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);Passo 4 — Crea un profilo specchiato
MirroredProfile genera una sezione trasversale simmetrica specchiando un profilo di 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);Passo 5 — Ruota un profilo in un solido
RevolvedAreaSolid ruota un profilo attorno a un asse per produrre un solido rotazionalmente simmetrico. Imposta Shape e AngleEnd sull’istanza:
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);Passo 6 — Salva la scena
scene.Save("profiles.gltf", FileFormat.GLTF2);
Console.WriteLine("Saved: profiles.gltf");Troubleshooting
| Symptom | Causa probabile | Correggi |
|---|---|---|
| L’estrusione non ha geometria visibile | I bordi del profilo sono collineari o di area zero | Verifica che Edges formi un poligono chiuso valido |
| Il risultato specchiato non è simmetrico | MirroredProfile specchia qualsiasi baseProfile avvolge — non esiste un parametro asse separato da impostare | Passa il baseProfile corretto a new MirroredProfile(baseProfile); regola il profilo di base stesso per ottenere la simmetria desiderata |
| Il solido di rivoluzione è cavo o piatto | L’angolo Sweep è 0 oppure il profilo è aperto | Usa un profilo chiuso e imposta l’angolo a Math.PI * 2 per una rivoluzione completa |
Risorse correlate
- Lavorare con i profili — guida per sviluppatori con tutti i dettagli di API
- Lavorare con le entità della scena — collega solidi estrusi ai nodi della scena