Click or drag to resize

MeshEditManagerCreateBodyPrimitiveCylinder(Int32, String, Single, Single, Single, Single, Matrix3D, Color, Boolean, Int32) Method

Body 노드 생성 - Primitive Cylinder

Namespace: VIZCore3D.NET.Manager
Assembly: VIZCore3D.NET (in VIZCore3D.NET.dll) Version: 2.8.24.910 (2.8.24.910)
Syntax
C#
public int CreateBodyPrimitiveCylinder(
	int nodeIndex,
	string name,
	float radius,
	float height,
	float bottomShear,
	float topShear,
	Matrix3D matrix,
	Color color,
	bool rebuildData,
	int sideCount = 12
)

Parameters

nodeIndex  Int32
부모 노드 인덱스
name  String
생성할 노드의 이름
radius  Single
Radius
height  Single
Height
bottomShear  Single
Bottom Shear (Degree) - X방향
topShear  Single
Top Shear (Degree) - X방향
matrix  Matrix3D
Matrix
color  Color
Color
rebuildData  Boolean
Rebuild Data
sideCount  Int32  (Optional)
Side Count : 12 (6~36)

Return Value

Int32
생성된 노드(BODY) 아이디
Example
C#
// VIZCore3D.NET Control
private VIZCore3D.NET.VIZCore3DControl vizcore3d;

private void Example()
{
    string assemblyName = string.Format("Assembly #{0}", vizcore3d.Object3D.GetNodeCount());
    VIZCore3D.NET.Data.Node assembly = vizcore3d.MeshEdit.CreateNode(0, VIZCore3D.NET.Data.NodeKind.ASSEMBLY, assemblyName);
    if (assembly == null) return;

    string partName = string.Format("Part #{0}", vizcore3d.Object3D.GetNodeCount());
    VIZCore3D.NET.Data.Node part = vizcore3d.MeshEdit.CreateNode(assembly.Index, VIZCore3D.NET.Data.NodeKind.PART, partName);
    if (part == null) return;

    string bodyName = string.Format("Body #{0}", vizcore3d.Object3D.GetNodeCount());

    float radius = 1000.0f; // Radius
    float height = 1000.0f; // Height

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

    vizcore3d.BeginUpdate();

    int id = vizcore3d.MeshEdit.CreateBodyPrimitiveCylinder(
        part.Index          /* Parent (Part) Node Index */
        , bodyName          /* Name */
        , radius            /* Radius */
        , height            /* Height */
        , 15                /* BottomShear */
        , 15                /* TopShear */
        , matrix            /* Matrix */
        , Color.Orange      /* Color */
        , false             /* Rebuild Data */
        );

    vizcore3d.Structure.RebuildData();

    vizcore3d.EndUpdate();

    if (id == -1)
    {
        MessageBox.Show(
            "NG"
            , "VIZCore3D.NET"
            , MessageBoxButtons.OK
            , MessageBoxIcon.Error
            );
    }
    else
    {
        MessageBox.Show(
            string.Format("Body ID : {0}", id)
            , "VIZCore3D.NET"
            , MessageBoxButtons.OK
            , MessageBoxIcon.Information
            );
    }
}
See Also