private void GenerateModelTree() { VIZCore3D.NET.ShdCore.StructureManager structure = new VIZCore3D.NET.ShdCore.StructureManager(Path); List <VIZCore3D.NET.ShdCore.ModelTreeNode> nodes = structure.GetStructureNodeList(); // New Empty Model int rootIndex = vizcore3d.Model.NewEmptyModel(System.IO.Path.GetFileNameWithoutExtension(Path)); int rootId = vizcore3d.Object3D.GetNodeId(rootIndex); int maxId = vizcore3d.Structure.GetMaxId(); List <VIZCore3D.NET.Data.NewNodeItem> items = new List <VIZCore3D.NET.Data.NewNodeItem>(); BackupID = new Dictionary <int, int>(); foreach (VIZCore3D.NET.ShdCore.ModelTreeNode node in nodes) { if (node.NodeType == VIZCore3D.NET.ShdCore.ModelTreeNodeKind.BODY) { continue; } VIZCore3D.NET.Data.NewNodeItem item = new VIZCore3D.NET.Data.NewNodeItem(); int id = Convert.ToInt32(node.EntityId + 100); item.ID = id; BackupID.Add(id, Convert.ToInt32(node.EntityId)); //item.Kind = VIZCore3D.NET.Data.NodeKind.ASSEMBLY; switch (node.NodeType) { case VIZCore3D.NET.ShdCore.ModelTreeNodeKind.ASSEMBLY: item.Kind = VIZCore3D.NET.Data.NodeKind.ASSEMBLY; break; case VIZCore3D.NET.ShdCore.ModelTreeNodeKind.PART: item.Kind = VIZCore3D.NET.Data.NodeKind.PART; break; default: break; } item.Name = node.NodeName; if (node.ParentNode != null) { item.ParentId = Convert.ToInt32(node.ParentNode.EntityId + 100); } else { item.ParentId = rootId; } items.Add(item); } vizcore3d.Structure.CreateNodes(items); vizcore3d.Structure.RebuildData(); }
private void btnCreateNodeBulk1000_Click(object sender, EventArgs e) { int index = vizcore3d.Model.NewEmptyModel("MODEL"); int id = vizcore3d.Object3D.GetNodeId(index); int maxId = vizcore3d.Structure.GetMaxId(); List <VIZCore3D.NET.Data.NewNodeItem> nodes = new List <VIZCore3D.NET.Data.NewNodeItem>(); for (int i = 0; i < 1000; i++) { VIZCore3D.NET.Data.NewNodeItem item = new VIZCore3D.NET.Data.NewNodeItem(); item.ID = maxId + (i + 1); /* Manual Assignment */ item.Kind = VIZCore3D.NET.Data.NodeKind.ASSEMBLY; item.ParentId = id; item.Name = string.Format("NODE {0}", i + 1); nodes.Add(item); } vizcore3d.Structure.CreateNodes(nodes); }
private void btnCreateFileNode_Click(object sender, EventArgs e) { OpenFileDialog dlg = new OpenFileDialog(); dlg.Multiselect = true; dlg.Filter = "VIZ Files (*.viz)|*.viz"; if (dlg.ShowDialog() != DialogResult.OK) { return; } int index = vizcore3d.Model.NewEmptyModel("MODEL"); int id = vizcore3d.Object3D.GetNodeId(index); int maxId = vizcore3d.Structure.GetMaxId(); List <VIZCore3D.NET.Data.NewNodeItem> nodes = new List <VIZCore3D.NET.Data.NewNodeItem>(); Dictionary <string, string> fileMap = new Dictionary <string, string>(); vizcore3d.BeginUpdate(); for (int i = 0; i < dlg.FileNames.Length; i++) { string nodeName = System.IO.Path.GetFileNameWithoutExtension(dlg.FileNames[i]); VIZCore3D.NET.Data.NewNodeItem item = new VIZCore3D.NET.Data.NewNodeItem(); item.ID = maxId + (i + 1); /* Manual Assignment */ item.Kind = VIZCore3D.NET.Data.NodeKind.ASSEMBLY; item.ParentId = id; item.Name = nodeName; if (fileMap.ContainsKey(nodeName) == false) { fileMap.Add(nodeName, dlg.FileNames[i]); } nodes.Add(item); } vizcore3d.Structure.CreateNodes(nodes); foreach (KeyValuePair <string, string> item in fileMap) { List <VIZCore3D.NET.Data.Node> fileNode = vizcore3d.Object3D.Find.QuickSearch(item.Key, true); if (fileNode.Count == 0) { continue; } vizcore3d.Structure.CreateNode( fileNode[0].Index , string.Format("FILE_{0}", item.Key) , fileMap[item.Key] ); } List <VIZCore3D.NET.Data.Node> nodeLevel1 = vizcore3d.Object3D.FromDepth(1, false); vizcore3d.Object3D.Show(nodeLevel1, true); vizcore3d.EndUpdate(); }
private void btnAddBulk_Click(object sender, EventArgs e) { if (vizcore3d.Model.IsOpen() == false) { return; } // Group string groupName = "GROUP"; VIZCore3D.NET.Data.Node groupNode; if (ExistGroupNode(groupName) == false) { groupNode = AddGroupNode(groupName); } else { groupNode = GetGroupNode(groupName); } int id = vizcore3d.Structure.GetMaxId(); int parent = groupNode.ID; List <VIZCore3D.NET.Data.NewNodeItem> items = new List <VIZCore3D.NET.Data.NewNodeItem>(); for (int i = 0; i < 100; i++) { // Part VIZCore3D.NET.Data.NewNodeItem part = new VIZCore3D.NET.Data.NewNodeItem(); part.ParentId = parent; part.ID = ++id; part.Kind = Data.NodeKind.PART; part.Name = string.Format("CYLN_{0}", part.ID); items.Add(part); // Body VIZCore3D.NET.Data.NewNodeItem body = new VIZCore3D.NET.Data.NewNodeItem(); body.ParentId = part.ID; body.ID = ++id; body.Kind = Data.NodeKind.BODY; body.Name = string.Format("CYLN_{0}", body.ID); items.Add(body); } vizcore3d.Structure.CreateNodes(items); vizcore3d.BeginUpdate(); for (int i = 0; i < items.Count; i++) { VIZCore3D.NET.Data.NewNodeItem item = items[i]; if (item.Kind == VIZCore3D.NET.Data.NodeKind.PART) { continue; } int bodyIndex = vizcore3d.Object3D.GetBodyIndex(item.ID); VIZCore3D.NET.Data.Vertex3D start = new VIZCore3D.NET.Data.Vertex3D(i * 1000, i * 1000, 0); VIZCore3D.NET.Data.Vertex3D end = new VIZCore3D.NET.Data.Vertex3D((i + 1) * 1000, (i + 1) * 1000, 0); vizcore3d.MeshEdit.AddPrimitiveCylinder(bodyIndex, start, end, 500, Color.Yellow, false, 12); } vizcore3d.Structure.RebuildData(); vizcore3d.EndUpdate(); }