Comment travailler avec des profils 2D dans .NET
Comment travailler avec des profils 2D dans .NET
Cet article montre comment définir des profils de section transversale 2D et les balayer ou les faire tourner en solides 3D en utilisant Aspose.3D pour .NET.
Étape 1 — Installer le Package
dotnet add package Aspose.3D.FOSSÉtape 2 — Créer un profil paramétré
Utilisez des formes intégrées telles que RectangleShape ou CircleShape pour des sections transversales 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);Étape 3 — Créer un profil en L paramétré
LShape produit une poutre en section L à partir des propriétés dimensionnelles :
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);Étape 4 — Créer un profil miroir
MirroredProfile produit une section transversale symétrique en miroir d’un profil de 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);Étape 5 — Faire pivoter un profil en solide
RevolvedAreaSolid fait pivoter un profil autour d’un axe pour produire un solide à symétrie de rotation. Définissez Shape et AngleEnd sur l’instance :
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);Étape 6 — Enregistrer la scène
scene.Save("profiles.gltf", FileFormat.GLTF2);
Console.WriteLine("Saved: profiles.gltf");Troubleshooting
| Symptom | Cause probable | Correction |
|---|---|---|
| L’extrusion n’a aucune géométrie visible | Les arêtes du profil sont colinéaires ou d’aire nulle | Vérifier que Edges forme un polygone fermé valide |
| Le résultat miroir n’est pas symétrique | MirroredProfile reflète tout ce que baseProfile encapsule — il n’existe aucun paramètre d’axe séparé à définir | Fournissez le baseProfile correct à new MirroredProfile(baseProfile) ; ajustez le profil de base lui-même pour obtenir la symétrie souhaitée |
| Le solide de révolution est creux ou plat | L’angle de balayage est 0 ou le profil est ouvert | Utilisez un profil fermé et réglez l’angle à Math.PI * 2 pour une révolution complète |
Ressources associées
- Travailler avec les profils — guide du développeur avec les détails complets de API
- Travailler avec les entités de scène — attacher des solides extrudés aux nœuds de scène