private static void ImportWorkspaceFile(object sender, DoWorkEventArgs args) { var fileName = ((List <object>)args.Argument)[0] as string; var serializer = new System.Xml.Serialization.XmlSerializer(typeof(WorkspaceFile)); WorkspaceFile workspaceFile = null; frmStudioMain.SceneControl.DisableRendering(); using (var streamReader = new StreamReader(fileName)) { workspaceFile = (WorkspaceFile)serializer.Deserialize(streamReader); foreach (var object3d in workspaceFile.Objects) { var stlModel = new STLModel3D(STLModel3D.TypeObject.Model, ObjectView.BindingSupported, object3d, ObjectView.NextObjectIndex, false); stlModel.Triangles.UpdateSelectedOrientationTriangles(stlModel); stlModel.UpdateBoundries(); } if (!string.IsNullOrEmpty(PrintJobManager.PrintjobName)) { PrintJobManager.PrintjobName = workspaceFile.PrintJobName; } } }
internal static void ExportSelectedModelProperties(string filePath, int modelIndex) { //save try { var parentDirectory = new FileInfo(filePath).Directory.FullName; if (!Directory.Exists(parentDirectory)) { Directory.CreateDirectory(parentDirectory); } var serializer = new System.Xml.Serialization.XmlSerializer(typeof(WorkspaceFile)); using (var streamWriter = new StreamWriter(filePath, false)) { var stlModel = ((STLModel3D)ObjectView.Objects3D.First(s => s != null && (s is STLModel3D) && (s as STLModel3D).Index == modelIndex)); var exportFile = new WorkspaceFile(); exportFile.Version = WorkspaceFile.VersionType.Version2; exportFile.Objects.Add(stlModel.ExportToXMLFile()); serializer.Serialize(streamWriter, exportFile); } } catch (IOException exc) { //MessageBox.Show(exc.Message); } catch (Exception exc) { //MessageBox.Show(exc.StackTrace); } }
internal static void ExportCurrentWorkspace(bool autosaveMode = false, string autoSavePath = null, List <MAGSAIDebugComment> magsAIComments = null) { var filePath = autoSavePath; if (filePath == null) { filePath = PrintJobManager.ProjectSaveFilePath; } var parentDirectory = new FileInfo(filePath).Directory.FullName; if (!Directory.Exists(parentDirectory)) { Directory.CreateDirectory(parentDirectory); } //save var modelCount = 0; foreach (var model in ObjectView.Objects3D) { if (model != null && !(model is GroundPane)) { var stlModel = ((STLModel3D)model); modelCount++; modelCount += stlModel.TotalObjectSupportCones.Count; if (!autosaveMode) { stlModel.ExportingToAPFProgress += StlModel_ExportingToAPFProgress; } } } MaxValue = modelCount; CurrentProgress = 0; if (!autosaveMode) { ExportToAPF_Progress?.Invoke(0, modelCount); } try { var serializer = new System.Xml.Serialization.XmlSerializer(typeof(WorkspaceFile)); using (var streamWriter = new StreamWriter(filePath, false)) { var exportFile = new WorkspaceFile(); exportFile.ApplicationVersion = BrandingManager.ApplicationVersion; exportFile.Version = WorkspaceFile.VersionType.Version2; foreach (var object3d in ObjectView.Objects3D) { if (object3d is STLModel3D && !(object3d is GroundPane)) { var stlModel = object3d as STLModel3D; exportFile.Objects.Add(stlModel.ExportToXMLFile()); if (!autosaveMode) { stlModel.ExportingToAPFProgress -= StlModel_ExportingToAPFProgress; } } } //export material settings // exportFile.CurrentMaterialCatalog = SceneControlPrintJobPropertiesToolbar.SelectedMaterialCatalog; exportFile.PrintJobName = PrintJobManager.PrintjobName; if (magsAIComments != null) { var imageConverter = new ImageConverter(); foreach (var magsAIComment in magsAIComments) { exportFile.MAGSAIDebugComments.Add(magsAIComment); } } serializer.Serialize(streamWriter, exportFile); if (!autosaveMode) { ExportToAPF_Completed?.Invoke(); UserProfileManager.UserProfile.AddRecentOpenedFile(new Controls.NewGui.SplashControl.UnlicensedControl.RecentFiles.RecentOpenedFile() { FileName = new FileInfo(filePath).Name, FullPath = filePath, AccessedDateTime = DateTime.Now }); UserProfileManager.Save(); } } } catch (IOException exc) { //MessageBox.Show(exc.Message); } catch (Exception exc) { //MessageBox.Show(exc.StackTrace); } }