.NET'de 2D Profillerle Çalışma

.NET'de 2D Profillerle Çalışma

.NET içinde 2D Profillerle Çalışma

Bu makale, .NET için Aspose.3D kullanarak 2D kesit profillerinin nasıl tanımlanacağını ve bunların süpürülerek ya da döndürülerek 3D katı cisimlere dönüştürüleceğini gösterir.


Adım 1 — Paketi Yükleyin

dotnet add package Aspose.3D.FOSS

Adım 2 — Parametrik Bir Profil Oluşturun

Standart kesitler için RectangleShape veya CircleShape gibi yerleşik şekilleri kullanın:

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

Adım 3 — Parametrik L-şeklinde Bir Profil Oluşturun

LShape, boyutsal özelliklerden L-kesitli bir kiriş üretir:

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

Adım 4 — Yansıtılmış Profil Oluştur

MirroredProfile, bir temel profili yansıtarak simetrik bir kesit üretir:

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

Adım 5 — Profili Katı Hale Dönüştür

RevolvedAreaSolid, bir profili eksen etrafında döndürerek dönel simetrik bir katı üretir. Shape ve AngleEnd öğelerini örnek üzerinde ayarlayın:

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

Adım 6 — Sahneyi Kaydet

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

Troubleshooting

SymptomMuhtemel NedenDüzeltme
Ekstrüzyonda görünür geometri yokProfil kenarları kollineer veya sıfır alanlıDoğrulayın Edges geçerli bir kapalı çokgen oluşturduğunu
Aynalanmış sonuç simetrik değilMirroredProfile sarmaladığı baseProfile ne ise onu yansıtır — ayarlamak için ayrı bir eksen parametresi yokturDoğru baseProfile değerini new MirroredProfile(baseProfile)‘e aktarın; istenen simetriyi elde etmek için temel profilin kendisini ayarlayın
Döndürülmüş katı boş veya düzTarama açısı 0 veya profil açıkTam dönüş için kapalı bir profil kullanın ve açıyı Math.PI * 2 olarak ayarlayın

İlgili Kaynaklar

Ayrıca Bakınız

 Türkçe