MeshEditManagerCreateBodyPrimitiveBox Method |
Namespace: VIZCore3D.NET.Manager
public int CreateBodyPrimitiveBox( int nodeIndex, string name, List<float> length, Matrix3D matrix, Color color, float unitScale = 1f )
// 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<float> length = new List<float>() { 1000.0f, 2000.0f, 3000.0f }; VIZCore3D.NET.Data.Matrix3D m = new VIZCore3D.NET.Data.Matrix3D(); m.Identity(); //m.SetRotateX(vizcore3d.View.DegreesToRadians(45.0f)); //m.SetTranslate(1000, 0, 0, false); vizcore3d.BeginUpdate(); int id = vizcore3d.MeshEdit.CreateBodyPrimitiveBox( part.Index /* Parent (Part) Node Index */ , bodyName /* Name */ , length /* Axis. Length */ , m /* Matrix */ , Color.Orange /* Color */ ); 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 ); } }