| MeshEditManagerCreateBodyPrimitiveBox Method |
Body 노드 생성 - Primitive Box
Namespace: VIZCore3D.NET.ManagerAssembly: VIZCore3D.NET (in VIZCore3D.NET.dll) Version: 2.8.24.910 (2.8.24.910)
Syntax public int CreateBodyPrimitiveBox(
int nodeIndex,
string name,
List<float> length,
Matrix3D matrix,
Color color,
float unitScale = 1f
)
Parameters
- nodeIndex Int32
- 부모 노드 인덱스
- name String
- 생성할 노드의 이름
- length ListSingle
- Length : [0] - X Axis. Length, [1] - Y Axis. Length, [2] - Z Axis. Length
- matrix Matrix3D
- Matrix
- color Color
- Color
- unitScale Single (Optional)
- Unit Scale : 1.0f
Return Value
Int32생성된 노드(BODY) 아이디
Example
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<float> length = new List<float>() { 1000.0f, 2000.0f, 3000.0f };
VIZCore3D.NET.Data.Matrix3D m = new VIZCore3D.NET.Data.Matrix3D();
m.Identity();
vizcore3d.BeginUpdate();
int id = vizcore3d.MeshEdit.CreateBodyPrimitiveBox(
part.Index
, bodyName
, length
, m
, Color.Orange
);
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