Exemple #1
0
        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)
            {
            }
        }
Exemple #2
0
 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;
 }
Exemple #3
0
        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);
            }
        }
Exemple #4
0
 public ModelLoadDetails(M3D.Graphics.Ext3D.ModelRendering.Model model, PrintDetails.ObjectDetails details)
 {
     this.model   = model;
     this.details = details;
 }
Exemple #5
0
 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.");
     }
 }
Exemple #6
0
        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);
        }
Exemple #7
0
        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));
        }
Exemple #8
0
 public bool LoadModelIntoPrinter(PrintDetails.ObjectDetails objectDetails)
 {
     return(LoadModelIntoPrinter(objectDetails.filename, new ModelLoadingManager.OnModelLoadedDel(OnModelLoadedCallback), new ModelLoadingManager.LoadFailedCallback(OnFileLoadFailure), objectDetails));
 }