Работа с профилями
Работа с профилями
Профили в Aspose.3D для .NET определяют 2D формы поперечного сечения, используемые в качестве входных данных для операций экструзии и вращения тела. LinearExtrusion протягивает профиль вдоль пути, а RevolvedAreaSolid вращает его вокруг оси.
Параметрические профили
ParameterizedProfile предоставляет стандартные геометрические формы — прямоугольник, круг, эллипс, трапеция и др. — определяемые числовыми параметрами, а не явными вершинами полигонов.
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 the rectangle 5 units along Z
var extrusion = new LinearExtrusion(rectProfile, 5.0);
extrusion.Slices = 10;
scene.RootNode.CreateChildNode("beam", extrusion);
scene.Save("beam.gltf", FileFormat.GLTF2);Другие формы в ParameterizedProfile:
| Класс | Параметры |
|---|---|
RectangleShape | XDim, YDim, RoundingRadius |
CircleShape | Radius |
LShape | Width, Depth, Thickness, FilletRadius |
TShape | Depth, FlangeWidth, WebThickness, FlangeThickness |
Параметрические 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 extrusion = new LinearExtrusion(lProfile, 4.0);
scene.RootNode.CreateChildNode("l_beam", extrusion);Зеркальные профили
MirroredProfile создает симметричное сечение, отражая базовый профиль. Передайте любой экземпляр Profile в конструктор; библиотека автоматически генерирует зеркальную форму.
using Aspose.ThreeD.Profiles;
// Base profile to mirror
var baseProfile = new RectangleShape();
baseProfile.XDim = 0.5;
baseProfile.YDim = 1.0;
// Mirror the base profile to get a symmetric shape
var mirrored = new MirroredProfile(baseProfile);
var extrusion = new LinearExtrusion(mirrored, 3.0);
scene.RootNode.CreateChildNode("symmetric_beam", extrusion);Профили центральной линии
CenterLineProfile оборачивает Curve и толщину стенки, чтобы получить полое сечение (например, стенка трубы). Передайте кривую центральной линии и толщину в конструктор.
using Aspose.ThreeD.Profiles;
using Aspose.ThreeD.Entities;
var circle = new Circle { Radius = 0.5 };
var tube = new CenterLineProfile(circle, 0.05); // 5 cm wall
var extrusion = new LinearExtrusion(tube, 10.0);
scene.RootNode.CreateChildNode("pipe", extrusion);API Quick Reference
| Member | Описание: |
|---|---|
new RectangleShape() | Прямоугольный параметрический профиль (XDim, YDim, RoundingRadius) |
new CircleShape() | Круговой параметрический профиль (Radius) |
new LShape() | L-образный профиль несущей балки |
new TShape() | Т-образный профиль конструктивной балки |
new MirroredProfile(base) | Симметричный профиль, отражённый от базового профиля |
new CenterLineProfile(curve, thickness) | Полый профиль с заданной толщиной стенки |
new LinearExtrusion(profile, height) | Протянуть профиль вдоль оси Z |
extrusion.Slices | Количество сегментов подразделения вдоль вытягивания |
new RevolvedAreaSolid() | Вращать профиль вокруг оси; задать свойства Shape и AngleEnd |
См. также:
- Aspose.3D for .NET — Enterprise Documentation
- Работа с объектами сцены — присоединять выдавленные тела к узлам сцены