본문으로 건너뛰기

AddPrimitivePyramid

public int AddPrimitivePyramid(int bodyIndex, SizeF bottom, SizeF top, SizeF offset, float height, Matrix3D matrix, Color color, bool rebuildData, int systemType)

Body 노드에 Pyramid Primitive 생성

Parameters​

NameTypeDescription
bodyIndexint바디(Body) 노드 인덱스
bottomSizeFSize Of Bottom
topSizeFSize Of Top
offsetSizeFSize Of Offset
heightfloatHeight
matrixMatrix3DMatrix
colorColorColor
rebuildDatabool데이터 재구성 여부
systemTypeintSystem Type : 0(TRIBON), 1(AVEVA MARINE : Default)

Returns​

TypeDescription
int노드(BODY) 아이디

Examples​

// VIZCore3D.NET Control
private VIZCore3D.NET.VIZCore3DControl vizcore3d;

private void Example()
{
// New Empty Model
int index = vizcore3d.Model.NewEmptyModel("MODEL");

string assemblyName = "ASSEMBLY";
VIZCore3D.NET.Data.Node assemblyNode =
vizcore3d.Structure.CreateNode(
index /* Parent Node Index */
, VIZCore3D.NET.Data.NodeKind.ASSEMBLY /* Node Kind */
, assemblyName /* Node Name */
);

string partName = "PART";
VIZCore3D.NET.Data.Node partNode =
vizcore3d.Structure.CreateNode(
assemblyNode.Index /* Parent Node Index */
, VIZCore3D.NET.Data.NodeKind.PART /* Node Kind */
, partName /* Node Name */
);

string bodyName = "BODY";
int bodyId =
vizcore3d.Structure.CreateBody(
partNode.Index /* Parent Node Index */
, bodyName /* Node Name */
);

int bodyIndex = vizcore3d.Object3D.GetBodyIndex(bodyId);

{
SizeF bottom = new SizeF(30, 40);
SizeF top = new SizeF(10, 20);
SizeF offset = new SizeF(2.5f, 4.5f);

float height = 50;

VIZCore3D.NET.Data.Matrix3D matrix = new VIZCore3D.NET.Data.Matrix3D();
m.Identity();
//m.SetRotateX(vizcore3d.View.DegreesToRadians(45.0f));
//m.SetTranslate(1000, 0, 0, false);

vizcore3d.MeshEdit.AddPrimitivePyramid(
bodyIndex /* Body Node Index */
, bottom /* Bottom Of Size */
, top /* Top Of Size */
, offset /* Offset Of Size */
, height /* Height */
, matrix /* Matrix */
, Color.Green /* Color */
, false /* Rebuild Data */
, 1 /* System Type */
);
}

vizcore3d.Structure.RebuildData();
}