Example #1
0
        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();
        }
Example #2
0
        private void ShowStructure(string path)
        {
            txtVIZ.Text = path;

            // 모델 로드
            Structure = new ShdCore.StructureManager(path, false);

            MakeModelTree();
        }