Comment travailler avec des profils 2D dans .NET

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

SymptomCause probableCorrection
L’extrusion n’a aucune géométrie visibleLes arêtes du profil sont colinéaires ou d’aire nulleVérifier que Edges forme un polygone fermé valide
Le résultat miroir n’est pas symétriqueMirroredProfile reflète tout ce que baseProfile encapsule — il n’existe aucun paramètre d’axe séparé à définirFournissez 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 platL’angle de balayage est 0 ou le profil est ouvertUtilisez un profil fermé et réglez l’angle à Math.PI * 2 pour une révolution complète

Ressources associées

Voir aussi

 Français