Πώς να εργαστείτε με 2D προφίλ στο .NET

Πώς να εργαστείτε με 2D προφίλ στο .NET

Πώς να εργαστείτε με προφίλ 2D στο .NET

Αυτό το άρθρο δείχνει πώς να ορίσετε προφίλ διατομών 2D και να τα σαρώσετε ή να τα περιστρέψετε σε στερεά 3D χρησιμοποιώντας το Aspose.3D για .NET.


Βήμα 1 — Εγκατάσταση του πακέτου

dotnet add package Aspose.3D.FOSS

Βήμα 2 — Δημιουργία παραμετρικού προφίλ

Χρησιμοποιήστε ενσωματωμένα σχήματα όπως RectangleShape ή CircleShape για τυπικές διατομές:

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

Βήμα 3 — Δημιουργία παραμετρικού προφίλ σε σχήμα L

LShape παράγει δοκό L-σχήματος από διαστατικές ιδιότητες:

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

Βήμα 4 — Δημιουργία Κατοπτρικού Προφίλ

MirroredProfile παράγει συμμετρική διατομή κατοπτρίζοντας μια βασική προφίλ:

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

Βήμα 5 — Περιστροφή Προφίλ σε Στερεό

RevolvedAreaSolid περιστρέφει ένα προφίλ γύρω από έναν άξονα για να δημιουργήσει ένα περιστροφικά συμμετρικό στερεό. Ορίστε Shape και AngleEnd στην 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);

Βήμα 6 — Αποθήκευση της Σκηνής

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

Troubleshooting

SymptomΠιθανή ΑιτίαΔιόρθωση
Η εξώθηση δεν έχει ορατή γεωμετρίαΟι άκρες του προφίλ είναι συνευθειακές ή μηδενικού εμβαδούΕπαληθεύστε ότι το Edges σχηματίζει ένα έγκυρο κλειστό πολύγωνο
Το αντικατοπτρισμένο αποτέλεσμα δεν είναι συμμετρικόΤο MirroredProfile αντικατοπτρίζει ό,τι baseProfile τυλίγει — δεν υπάρχει ξεχωριστή παράμετρος άξονα για να οριστείΠεράστε το σωστό baseProfile στο new MirroredProfile(baseProfile); προσαρμόστε το ίδιο το βασικό προφίλ για να πετύχετε την επιθυμητή συμμετρία
Το περιστρεφόμενο στερεό είναι κενό ή επίπεδοΗ γωνία sweep είναι 0 ή το προφίλ είναι ανοιχτόΧρησιμοποιήστε ένα κλειστό προφίλ και ορίστε τη γωνία σε Math.PI * 2 για πλήρη περιστροφή

Σχετικοί Πόροι

Δείτε επίσης

 Ελληνικά