Click or drag to resize

MeshEditManagerCreateBodyWithMesh Method (Int32, String, ListVertex3D, ListVector3D, Color)

Body 노드 및 Mesh 생성

Namespace:  VIZCore3D.NET.Manager
Assembly:  VIZCore3D.NET (in VIZCore3D.NET.dll) Version: 2.8.24.1104 (2.8.24.1104)
Syntax
C#
public int CreateBodyWithMesh(
	int nodeIndex,
	string name,
	List<Vertex3D> coords,
	List<Vector3D> normals,
	Color color
)

Parameters

nodeIndex
Type: SystemInt32
부모 노드 인덱스
name
Type: SystemString
생성할 노드의 이름
coords
Type: System.Collections.GenericListVertex3D
Coords
normals
Type: System.Collections.GenericListVector3D
Normals
color
Type: System.DrawingColor
Color

Return Value

Type: Int32
생성된 노드 아이디
Examples
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());

    List<VIZCore3D.NET.Data.Vertex3D> coords = new List<VIZCore3D.NET.Data.Vertex3D>();
    List<VIZCore3D.NET.Data.Vector3D> normals = new List<VIZCore3D.NET.Data.Vector3D>();

    coords.Add(new Data.Vertex3D(0.0, 0.0, 0.0));
    coords.Add(new Data.Vertex3D(1000.0, 1000.0, 0.0));
    coords.Add(new Data.Vertex3D(1000.0, 0.0, 0.0));
    coords.Add(new Data.Vertex3D(0.0, 0.0, 0.0));
    coords.Add(new Data.Vertex3D(0.0, 1000.0, 0.0));
    coords.Add(new Data.Vertex3D(1000.0, 1000.0, 0.0));
    coords.Add(new Data.Vertex3D(0.0, 0.0, 0.0));
    coords.Add(new Data.Vertex3D(0.0, 1000.0, 1000.0));
    coords.Add(new Data.Vertex3D(0.0, 1000.0, 0.0));
    coords.Add(new Data.Vertex3D(0.0, 0.0, 0.0));
    coords.Add(new Data.Vertex3D(0.0, 0.0, 1000.0));
    coords.Add(new Data.Vertex3D(0.0, 1000.0, 1000.0));
    coords.Add(new Data.Vertex3D(0.0, 1000.0, 0.0));
    coords.Add(new Data.Vertex3D(1000.0, 1000.0, 1000.0));
    coords.Add(new Data.Vertex3D(1000.0, 1000.0, 0.0));
    coords.Add(new Data.Vertex3D(0.0, 1000.0, 0.0));
    coords.Add(new Data.Vertex3D(0.0, 1000.0, 1000.0));
    coords.Add(new Data.Vertex3D(1000.0, 1000.0, 1000.0));
    coords.Add(new Data.Vertex3D(1000.0, 0.0, 0.0));
    coords.Add(new Data.Vertex3D(1000.0, 1000.0, 0.0));
    coords.Add(new Data.Vertex3D(1000.0, 1000.0, 1000.0));
    coords.Add(new Data.Vertex3D(1000.0, 0.0, 0.0));
    coords.Add(new Data.Vertex3D(1000.0, 1000.0, 1000.0));
    coords.Add(new Data.Vertex3D(1000.0, 0.0, 1000.0));
    coords.Add(new Data.Vertex3D(0.0, 0.0, 0.0));
    coords.Add(new Data.Vertex3D(1000.0, 0.0, 0.0));
    coords.Add(new Data.Vertex3D(1000.0, 0.0, 1000.0));
    coords.Add(new Data.Vertex3D(0.0, 0.0, 0.0));
    coords.Add(new Data.Vertex3D(1000.0, 0.0, 1000.0));
    coords.Add(new Data.Vertex3D(0.0, 0.0, 1000.0));
    coords.Add(new Data.Vertex3D(0.0, 0.0, 1000.0));
    coords.Add(new Data.Vertex3D(1000.0, 0.0, 1000.0));
    coords.Add(new Data.Vertex3D(1000.0, 1000.0, 1000.0));
    coords.Add(new Data.Vertex3D(0.0, 0.0, 1000.0));
    coords.Add(new Data.Vertex3D(1000.0, 1000.0, 1000.0));
    coords.Add(new Data.Vertex3D(0.0, 1000.0, 1000.0));

    normals.Add(new Data.Vector3D(0.0, 0.0, -1.0));
    normals.Add(new Data.Vector3D(0.0, 0.0, -1.0));
    normals.Add(new Data.Vector3D(0.0, 0.0, -1.0));
    normals.Add(new Data.Vector3D(0.0, 0.0, -1.0));
    normals.Add(new Data.Vector3D(0.0, 0.0, -1.0));
    normals.Add(new Data.Vector3D(0.0, 0.0, -1.0));
    normals.Add(new Data.Vector3D(-1.0, 0.0, 0.0));
    normals.Add(new Data.Vector3D(-1.0, 0.0, 0.0));
    normals.Add(new Data.Vector3D(-1.0, 0.0, 0.0));
    normals.Add(new Data.Vector3D(-1.0, 0.0, 0.0));
    normals.Add(new Data.Vector3D(-1.0, 0.0, 0.0));
    normals.Add(new Data.Vector3D(-1.0, 0.0, 0.0));
    normals.Add(new Data.Vector3D(0.0, 1.0, 0.0));
    normals.Add(new Data.Vector3D(0.0, 1.0, 0.0));
    normals.Add(new Data.Vector3D(0.0, 1.0, 0.0));
    normals.Add(new Data.Vector3D(0.0, 1.0, 0.0));
    normals.Add(new Data.Vector3D(0.0, 1.0, 0.0));
    normals.Add(new Data.Vector3D(0.0, 1.0, 0.0));
    normals.Add(new Data.Vector3D(1.0, 0.0, 0.0));
    normals.Add(new Data.Vector3D(1.0, 0.0, 0.0));
    normals.Add(new Data.Vector3D(1.0, 0.0, 0.0));
    normals.Add(new Data.Vector3D(1.0, 0.0, 0.0));
    normals.Add(new Data.Vector3D(1.0, 0.0, 0.0));
    normals.Add(new Data.Vector3D(1.0, 0.0, 0.0));
    normals.Add(new Data.Vector3D(0.0, -1.0, 0.0));
    normals.Add(new Data.Vector3D(0.0, -1.0, 0.0));
    normals.Add(new Data.Vector3D(0.0, -1.0, 0.0));
    normals.Add(new Data.Vector3D(0.0, -1.0, 0.0));
    normals.Add(new Data.Vector3D(0.0, -1.0, 0.0));
    normals.Add(new Data.Vector3D(0.0, -1.0, 0.0));
    normals.Add(new Data.Vector3D(0.0, 0.0, 1.0));
    normals.Add(new Data.Vector3D(0.0, 0.0, 1.0));
    normals.Add(new Data.Vector3D(0.0, 0.0, 1.0));
    normals.Add(new Data.Vector3D(0.0, 0.0, 1.0));
    normals.Add(new Data.Vector3D(0.0, 0.0, 1.0));
    normals.Add(new Data.Vector3D(0.0, 0.0, 1.0));

    int id = vizcore3d.MeshEdit.CreateBodyWithMesh(part.Index, bodyName, coords, normals, Color.Orange);

    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