private bool ToVIZ(string source, string target, ToVIZMode mode) { // 저장 위치 설정 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 (mode == ToVIZMode.EXPORT) { // 모델 파일 열기 vizcore3d.Model.Open(source); // 모델 개체 조회 List <Data.Node> items = vizcore3d.Object3D.FromFilter(Data.Object3dFilter.ALL); // 개체 확인 if (items.Count == 0) { return(false); } // 저장 옵션 vizcore3d.Model.SaveMergeStructureMode = Data.MergeStructureModes.NONE; // VIZ 파일 형식으로 내보내기 return(vizcore3d.Model.ExportVIZ(file)); } else if (mode == ToVIZMode.CONVERT) { // 저장 옵션 vizcore3d.Model.SaveMergeStructureMode = Data.MergeStructureModes.NONE; return(vizcore3d.Model.ConvertToVIZ(source, file, false)); } else { return(false); } }
private bool ToVIZ(string source, string target, ToVIZMode mode, VIZCore3D.NET.Data.MergeStructureModes saveOption, bool includeEdge, VIZCore3D.NET.Manager.ModelManager.FileVersion ver) { // 저장 위치 설정 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(); } // 모델 열고, 저장 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, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, false, 0, false)); } else { return(false); } }