Beispiel #1
0
        private void SimplifyParts()
        {
            VIZCore3D.NET.Manager.ModelManager.SimplifiedUnit unit =
                rbTriangle.Checked == true ?
                VIZCore3D.NET.Manager.ModelManager.SimplifiedUnit.TRIANGLE_MESH :
                VIZCore3D.NET.Manager.ModelManager.SimplifiedUnit.TRIANGLE_SET_MESH;

            vizcore3d.EnableWaitForm     = false;
            vizcore3d.EnableProgressForm = false;

            string[] files = System.IO.Directory.GetFiles(Output_Path, "*.viz", System.IO.SearchOption.TopDirectoryOnly);

            foreach (string file in files)
            {
                vizcore3d.Model.ExportSimplifiedModel(
                    file
                    , string.Format("{0}\\{1}", Output_Simplify, System.IO.Path.GetFileName(file))
                    , false
                    , false
                    , 0.0f
                    , 0.0f
                    , 0.0f
                    , 0.0f
                    , 0.0f
                    , 0.0f
                    , false
                    , 0
                    , unit
                    );
            }
        }
Beispiel #2
0
        private bool ToVIZ(string source, string target, ToVIZMode mode, VIZCore3D.NET.Data.MergeStructureModes saveOption, bool includeEdge, VIZCore3D.NET.Manager.ModelManager.FileVersion ver, VIZCore3D.NET.Manager.ModelManager.SimplifiedUnit simplifiedUnit, bool progressBar)
        {
            // 저장 위치 설정
            string path = System.IO.Path.GetDirectoryName(source);
            string name = System.IO.Path.GetFileNameWithoutExtension(source).ToUpper();

            string output = System.IO.Path.Combine(path, target);

            // 저장소 디렉토리 유무 체크
            if (System.IO.Directory.Exists(output) == false)
            {
                System.IO.Directory.CreateDirectory(output);
            }

            // 저장 파일명 설정
            string file = string.Format("{0}\\{1}.viz", output, name);

            if (System.IO.Path.GetFileNameWithoutExtension(source).ToUpper() == ".DGN")
            {
                vizcore3d.Model.SetDgnDeviationDialog();
            }

            // 프로그레스바
            vizcore3d.EnableProgressForm = progressBar;

            // 모델 열고, 저장
            if (mode == ToVIZMode.EXPORT)
            {
                // Edge 읽기
                vizcore3d.Model.LoadEdgeData = includeEdge;

                // 모델 파일 열기
                vizcore3d.Model.Open(source);

                // 모델 개체 조회
                List <VIZCore3D.NET.Data.Node> items = vizcore3d.Object3D.FromFilter(Data.Object3dFilter.ALL);

                // 개체 확인
                if (items.Count == 0)
                {
                    return(false);
                }

                // 저장 옵션
                vizcore3d.Model.SaveMergeStructureMode = saveOption;

                // VIZ 파일 형식으로 내보내기
                return(vizcore3d.Model.ExportVIZ(file));
            }
            // 메모리에서 처리
            else if (mode == ToVIZMode.CONVERT)
            {
                // 저장 옵션
                vizcore3d.Model.SaveMergeStructureMode = saveOption;

                return(vizcore3d.Model.ConvertToVIZ(source, file, includeEdge, ver, false));
            }
            // 외형 검색 후, 저장
            else if (mode == ToVIZMode.OUTSIDE)
            {
                // 모델 파일 열기
                vizcore3d.Model.Open(source);

                // 모델 개체 조회
                List <VIZCore3D.NET.Data.Node> items = vizcore3d.Object3D.FromFilter(VIZCore3D.NET.Data.Object3dFilter.ALL);

                // 개체 확인
                if (items.Count == 0)
                {
                    return(false);
                }

                // 저장 옵션
                vizcore3d.Model.SaveMergeStructureMode = saveOption;

                List <VIZCore3D.NET.Data.Node> outside = vizcore3d.Object3D.Find.GetOutsidePart(false);

                // VIZ 파일 형식으로 내보내기
                return(vizcore3d.Model.ExportVIZ(file, outside));
            }
            else if (mode == ToVIZMode.SIMPLIFIED)
            {
                // 저장 옵션
                vizcore3d.Model.SaveMergeStructureMode = Data.MergeStructureModes.NONE;

                return(vizcore3d.Model.ExportSimplifiedModel(source, file, false, false, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, false, 0, simplifiedUnit));
            }
            else
            {
                return(false);
            }
        }