public static void CreatePrintHistoryFolder(JobParams printerJob, PrinterObject printer, string slicerProfileName, List <Slicer.General.KeyValuePair <string, string> > complete_slicer_settings, List <PrintDetails.ObjectDetails> original_objectList, out RecentPrintsHistory.PrintHistory cph) { cph = new RecentPrintsHistory.PrintHistory(printerJob.jobname, printerJob.jobGuid, DateTime.Now); cph.iconfilename = Path.Combine(cph.folder, "previewimage.jpg"); var printerViewFile = Path.Combine(cph.folder, "printerview.xml"); var printerSettingsFile = Path.Combine(cph.folder, "printersettings.xml"); try { Directory.CreateDirectory(cph.folder); var objectList = new List <PrintDetails.ObjectDetails>(); foreach (PrintDetails.ObjectDetails originalObject in original_objectList) { var filename = originalObject.filename; var objectDetails = new PrintDetails.ObjectDetails(originalObject) { printerSettingsXMLFile = "printersettings.xml", printerViewXMLFile = "printerview.xml", zipFileName = "", filename = Path.GetFileName(filename) }; objectList.Add(objectDetails); File.Copy(filename, Path.Combine(cph.folder, objectDetails.filename), true); } File.Copy(printerJob.preview_image_file_name, cph.iconfilename, true); SettingsManager.SavePrintingObjectsDetails(printerViewFile, objectList); SettingsManager.SavePrintJobInfo(printerSettingsFile, printerJob, printer, slicerProfileName, complete_slicer_settings); FileUtils.GrantAccess(cph.folder); } catch (Exception ex) { } }
public AsyncModelLoadData(string filename, ModelLoadingManager.OnModelLoadedDel loadedCallback, ModelLoadingManager.LoadFailedCallback onFailCallback, PrintDetails.ObjectDetails objectDetails) { this.filename = filename; this.loadedCallback = loadedCallback; this.objectDetails = objectDetails; this.onFailCallback = onFailCallback; }
private void LoadPrinterView(ModelLoadingManager.PrinterViewLoadData data) { if (data.printSettings.HasValue) { printerview.LoadM3DPrintSettings(data.printSettings); } foreach (PrintDetails.ObjectDetails other in data.printerview_settings.objectList) { var objectDetails = new PrintDetails.ObjectDetails(other) { zipFileName = data.zipfile, printerSettingsXMLFile = null }; var str = other.filename; if (!string.IsNullOrEmpty(data.directory)) { str = Path.Combine(data.directory, str); } LoadModelIntoPrinter(str, new ModelLoadingManager.OnModelLoadedDel(OnModelLoadedCallback), new ModelLoadingManager.LoadFailedCallback(OnPrinterViewModelLoadFailed), objectDetails); } }
public ModelLoadDetails(M3D.Graphics.Ext3D.ModelRendering.Model model, PrintDetails.ObjectDetails details) { this.model = model; this.details = details; }
private void OnModelLoadedCallback(ModelLoadingManager.Result result, M3D.Graphics.Ext3D.ModelRendering.Model model, PrintDetails.ObjectDetails details) { if (result == ModelLoadingManager.Result.Success) { IncFilesOptimizing(); modelLoadedQueue.Enqueue(new ModelLoadingManager.ModelLoadDetails(model, details)); } else { DecFilesLoading(); informationbox.AddMessageToQueue("Unable to load model."); } }
private bool ImportModel(string filename, ModelLoadingManager.OnModelLoadedDel loadedCallback, ModelLoadingManager.LoadFailedCallback onFailCallback, PrintDetails.ObjectDetails objectDetails) { IncFilesLoading(); try { long num = 0; using (var streamReader = new StreamReader(filename)) { num = streamReader.BaseStream.Length; } if (num > 10485760L) { informationbox.AddMessageToQueue("Fairly complex and may slow down this program"); } M3D.Graphics.Ext3D.ModelRendering.Model model = printerview.GetModel(filename); if (model == null) { var state = new ModelLoadingManager.AsyncModelLoadData(filename, loadedCallback, onFailCallback, objectDetails); if (settings.CurrentAppearanceSettings.ShowRemoveModelWarning && printerview.ModelLoaded && (objectDetails == null || objectDetails.printerSettingsXMLFile == null || objectDetails.printerViewXMLFile == null)) { DecFilesLoading(); messagebox.AddXMLMessageToQueue(new PopupMessageBox.MessageDataXML(new SpoolerMessage(), Resources.removeModelDialog, new PopupMessageBox.XMLButtonCallback(RemoveModelButtonCallback), state)); return(true); } if (printerview.ModelLoaded && !settings.CurrentAppearanceSettings.UseMultipleModels) { printerview.RemovePrintableModels(); } StartLoadModelThread(state); } else { modelLoadedQueue.Enqueue(new ModelLoadingManager.ModelLoadDetails(model, objectDetails)); } } catch (Exception ex) { DecFilesLoading(); ShowFileLoadingExeption(ex, filename, onFailCallback); return(false); } return(true); }
private bool LoadModelIntoPrinter(string filename, ModelLoadingManager.OnModelLoadedDel loadedCallback, ModelLoadingManager.LoadFailedCallback onFailCallback, PrintDetails.ObjectDetails objectDetails) { if (new SplitFileName(filename).ext.ToLowerInvariant() == "zip") { return(LoadZip(filename, loadedCallback, onFailCallback)); } if (xmlPrinterSettingsZipFileLoaded) { printerview.ResetControlState(); xmlPrinterSettingsZipFileLoaded = false; } return(ImportModel(filename, loadedCallback, onFailCallback, objectDetails)); }
public bool LoadModelIntoPrinter(PrintDetails.ObjectDetails objectDetails) { return(LoadModelIntoPrinter(objectDetails.filename, new ModelLoadingManager.OnModelLoadedDel(OnModelLoadedCallback), new ModelLoadingManager.LoadFailedCallback(OnFileLoadFailure), objectDetails)); }