Esempio n. 1
0
 public void Show(PrintDialogWidgetFrames frame, PrintJobDetails details)
 {
     Visible = true;
     Enabled = true;
     SlicerConnection.SlicerSettings.ConfigureFromPrinterData(details.printer);
     host.GlobalChildDialog += (this);
     ActivateFrame(frame, details);
 }
Esempio n. 2
0
 public override void OnActivate(PrintJobDetails details)
 {
     PrintDialogWindow.SetSize(480, 340);
     PrintDialogWindow.Refresh();
     myPrinter      = details.printer;
     canceled.Value = false;
     var num = (int)details.printer.AcquireLock(new AsyncCallback(OnLockedBeforeSlicing), details);
 }
Esempio n. 3
0
        private void StitchModels(PrintJobDetails details)
        {
            var       modelData1       = ModelData.Stitch(details.slicer_objects);
            var       modelStlExporter = new ModelSTLExporter();
            var       combinedStlPath  = Paths.CombinedSTLPath;
            ModelData modelData2       = modelData1;
            var       filename         = combinedStlPath;

            modelStlExporter.Save(modelData2, filename);
        }
Esempio n. 4
0
 public void ActivateFrame(PrintDialogWidgetFrames frame, PrintJobDetails details)
 {
     if (current_frame != null)
     {
         previous = (PrintDialogWidgetFrames)current_frame.ID;
         current_frame.Visible = false;
         current_frame.OnDeactivate();
         current_frame = null;
     }
     current_frame         = frames[(int)(frame - 1000)];
     current_frame.Visible = true;
     current_frame.OnActivate(details);
 }
Esempio n. 5
0
 public override void OnActivate(PrintJobDetails details)
 {
     SlicerConnection.SlicerSettingStack.PushSettings();
     globalErrorCount         = 0;
     globalWarningCount       = 0;
     tabsErrorWarningCount    = new Dictionary <string, AdvancedPrintSettingsFrame.TabErrorStateCount>();
     settingErrorWarningState = new Dictionary <string, AdvancedPrintSettingsFrame.ErrorStateEnum>();
     buttonElements           = new List <Element2D>();
     GenerateFromSlicerSettings(SlicerConnection.SlicerSettings);
     PrintDialogWindow.SetSize(750, 500);
     PrintDialogWindow.Refresh();
     CurrentJobDetails = details;
 }
Esempio n. 6
0
 public override void OnActivate(PrintJobDetails details)
 {
     PrintDialogWindow.SetSize(480, 340);
     PrintDialogWindow.Refresh();
     ResetSlicerState();
     bProcessingAndSavingModel              = false;
     bCanCheckForNoJob                      = false;
     CurrentJobDetails                      = details;
     CurrentJobDetails.Estimated_Filament   = -1f;
     CurrentJobDetails.Estimated_Print_Time = -1f;
     Enabled             = true;
     status_text.Visible = true;
     SetSize(480, 340);
     StartSlicer(CurrentJobDetails.settings);
 }
Esempio n. 7
0
        public override void OnActivate(PrintJobDetails details)
        {
            PrintDialogWindow.SetSize(480, 340);
            PrintDialogWindow.Refresh();
            CurrentJobDetails = details;
            var num1 = (int)CurrentJobDetails.Estimated_Print_Time + 1800;
            var num2 = num1 / 60;
            var num3 = num2 / 60;
            var num4 = num2 - num3 * 60;

            CurrentJobDetails.Estimated_Print_Time = num1;
            estimated_time.Text     = num3.ToString() + " hours, " + num4.ToString() + " minutes";
            estimated_filament.Text = ((int)CurrentJobDetails.Estimated_Filament * 0.0393701f).ToString() + " inches";
            countdown_timer.Restart();
        }
Esempio n. 8
0
        public override void OnActivate(PrintJobDetails details)
        {
            PrintDialogWindow.SetSize(750, 550);
            PrintDialogWindow.Refresh();
            CurrentJobDetails = details;
            LoadSettings();
            SlicerConnection.SlicerSettingStack.PushSettings();
            SetFillandQualityButtons();
            PrinterObject selectedPrinter = SelectedPrinter;

            CheckVerifyBedAvailability(selectedPrinter, true);
            CheckHeatedBedAvailability(selectedPrinter, true);
            CheckSDCardAvailability(selectedPrinter, true);
            SetSupportEnabledControls(false);
            mQualityButtonsSet = true;
        }
Esempio n. 9
0
 public override void OnActivate(PrintJobDetails details)
 {
     PrintDialogWindow.SetSize(480, 340);
     PrintDialogWindow.Refresh();
     ResetSlicerState();
     CurrentJobDetails = details;
     CurrentJobDetails.Estimated_Filament   = -1f;
     CurrentJobDetails.Estimated_Print_Time = -1f;
     Enabled = true;
     cancel_button.Visible   = true;
     progressbar.Visible     = true;
     pleasewait_text.Visible = true;
     cancel_button.CenterHorizontallyInParent = true;
     SetSize(480, 340);
     StartSlicer(CurrentJobDetails.settings);
 }
Esempio n. 10
0
        private void StitchAndGotoSlicingFrame(PrintJobDetails CurrentJobDetails)
        {
            StitchModels(CurrentJobDetails);
            if (canceled.Value)
            {
                return;
            }

            if (CurrentJobDetails.print_to_file)
            {
                PrintDialogWindow.ActivateFrame(PrintDialogWidgetFrames.PrintingToFileFrame, CurrentJobDetails);
            }
            else
            {
                PrintDialogWindow.ActivateFrame(PrintDialogWidgetFrames.SlicingFrame, CurrentJobDetails);
            }
        }
Esempio n. 11
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);
        }
Esempio n. 12
0
 public void ActivatePrevious(PrintJobDetails details)
 {
     ActivateFrame(previous, details);
 }
Esempio n. 13
0
 public abstract void OnActivate(PrintJobDetails details);