Exemplo n.º 1
0
 public PreparingToStartFrame(int ID, GUIHost host, PrinterView printer_view, PopupMessageBox message_box, RecentPrintsTab recentPrints, PrintDialogMainWindow printDialogWindow)
     : base(ID, printDialogWindow)
 {
     this.message_box  = message_box;
     printerview       = printer_view;
     this.recentPrints = recentPrints;
     printer_list      = new List <PrinterInfo>();
     countdown_timer   = new Stopwatch();
     Init(host);
 }
Exemplo n.º 2
0
        public void PrintSlicedModel(PrintJobDetails currentJobDetails, RecentPrintsTab recentPrints, AsyncCallback OnPrintJobStarted)
        {
            var gcodefile = Path.Combine(Paths.WorkingFolder, "m3doutput.gcode");
            var filepath  = "M3D.M3D";

            foreach (PrintDetails.ObjectDetails objectDetails in currentJobDetails.objectDetailsList)
            {
                if (currentJobDetails.autoPrint)
                {
                    objectDetails.hidecontrols = true;
                }

                filepath = objectDetails.filename;
            }
            var splitFileName = new SplitFileName(filepath);
            var jobParams     = new JobParams(gcodefile, splitFileName.name + "." + splitFileName.ext, currentJobDetails.preview_image, FilamentSpool.TypeEnum.OtherOrUnknown, (int)currentJobDetails.Estimated_Print_Time, currentJobDetails.Estimated_Filament)
            {
                options              = currentJobDetails.jobOptions,
                preprocessor         = currentJobDetails.printer.MyFilamentProfile.preprocessor,
                filament_temperature = currentJobDetails.printer.MyFilamentProfile.Temperature,
                autoprint            = currentJobDetails.autoPrint
            };
            List <Slicer.General.KeyValuePair <string, string> > keyValuePairList = SlicerSettings.GenerateUserKeyValuePairList();

            SettingsManager.SavePrintingObjectsDetails(jobParams, currentJobDetails.objectDetailsList);
            SettingsManager.SavePrintJobInfo(jobParams, currentJobDetails.printer, SlicerSettings.ProfileName, SlicerSettings.GenerateUserKeyValuePairList());
            recentPrints?.AddRecentPrintHistory(jobParams, currentJobDetails.printer, SlicerSettings.ProfileName, keyValuePairList, currentJobDetails.objectDetailsList);
            if (currentJobDetails.print_to_file)
            {
                jobParams.outputfile = currentJobDetails.printToFileOutputFile;
                jobParams.jobMode    = JobParams.Mode.SaveToBinaryGCodeFile;
            }
            else if (currentJobDetails.auto_untethered_print)
            {
                jobParams.jobMode = !currentJobDetails.sdSaveOnly_print ? JobParams.Mode.SavingToSDCardAutoStartPrint : JobParams.Mode.SavingToSDCard;
            }

            var num = (int)currentJobDetails.printer.PrintModel(OnPrintJobStarted, currentJobDetails.printer, jobParams);
        }
Exemplo n.º 3
0
 public PrintDialogMainWindow(int ID, GUIHost host, PrinterView printerview, SpoolerConnection spooler_connection, PopupMessageBox message_box, ModelLoadingManager modelloadingmanager, SlicerConnectionBase slicer_connection, RecentPrintsTab recentPrints, SettingsManager controller)
     : base(ID)
 {
     this.host = host;
     this.spooler_connection = spooler_connection;
     this.slicer_connection  = slicer_connection;
     spooler_connection.OnSelectedPrinterChanged += new SpoolerConnection.SelectedPrinterChangedCallback(OnSelectedPrinterChanged);
     SetSize(750, 500);
     CenterHorizontallyInParent = true;
     CenterVerticallyInParent   = true;
     frames.Add(new PrintDialogFrame(1000, host, printerview, spooler_connection, message_box, modelloadingmanager, controller, this));
     frames.Add(new SlicingFrame(1001, host, printerview, message_box, controller, this));
     frames.Add(new PreparingToStartFrame(1002, host, printerview, message_box, recentPrints, this));
     frames.Add(new PreSlicingFrame(1003, host, this));
     frames.Add(new AdvancedPrintSettingsFrame(1004, host, message_box, controller, this));
     frames.Add(new PrintingToFileFrame(1005, host, message_box, this));
     foreach (IPrintDialogFrame frame in frames)
     {
         frame.Visible = false;
         AddChildElement(frame);
     }
 }