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); }
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; }
public void MyButtonCallback(ButtonWidget button) { if (button.ID != 101) { return; } canceled.Value = true; myPrinter.ClearAsyncCallbacks(); var num = (int)myPrinter.ReleaseLock(null, null); PrintDialogWindow.CloseWindow(); }
private void StartSlicingOnSuccess(IAsyncCallResult ar) { var asyncState = (PrintJobDetails)ar.AsyncState; if (ar.CallResult == CommandResult.Success) { StitchAndGotoSlicingFrame(asyncState); } else { asyncState.printer.ShowLockError(ar); PrintDialogWindow.ActivatePrevious(asyncState); } }
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); }
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(); }
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); }
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; }
private void OpenAdvancedPrintSettingsDialog() { PrinterObject selectedPrinter = SelectedPrinter; if (selectedPrinter == null) { return; } CurrentJobDetails.printer = selectedPrinter; CurrentJobDetails.jobOptions = new JobOptions(false) { autostart_ignorewarnings = true }; CurrentJobDetails.GenerateSlicerSettings(selectedPrinter, printerview); PrintDialogWindow.ActivateFrame(PrintDialogWidgetFrames.AdvancedPrintSettingsFrame, CurrentJobDetails); }
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); } }
private void ContinuePrintCallBack(PopupMessageBox.PopupResult result, MessageType type, PrinterSerialNumber sn, object user_data) { if (result == PopupMessageBox.PopupResult.Button1_YesOK) { PrepareToStartPrint(); } else { PrintDialogWindow.CloseWindow(); if (CurrentJobDetails.printer == null) { return; } var num = (int)CurrentJobDetails.printer.SendManualGCode(new AsyncCallback(ReleasePrinterAfterCommand), CurrentJobDetails.printer, "M106 S0"); } }
public void OnPrintButtonPressed(bool bPrintToFile) { PrinterObject selectedPrinter = SelectedPrinter; if (selectedPrinter == null) { return; } var jobOptions = new JobOptions(false); CurrentJobDetails.print_to_file = bPrintToFile; if (bPrintToFile) { CurrentJobDetails.printToFileOutputFile = SaveModelFileDialog.RunSaveFileDialog(SaveModelFileDialog.FileType.GCode); if (string.IsNullOrEmpty(CurrentJobDetails.printToFileOutputFile)) { PrintDialogWindow.ActivateFrame(PrintDialogWidgetFrames.PrintDialogFrame, CurrentJobDetails); return; } } jobOptions.autostart_ignorewarnings = true; jobOptions.use_raft_DetailOnly = SlicerSettings.HasRaftEnabled; jobOptions.use_wave_bonding = UseWaveBonding.Checked; jobOptions.use_fan_preprocessor = SlicerSettings.UsingAutoFanSettings; jobOptions.use_support_DetailOnly = support_checkbutton.Checked; jobOptions.use_support_everywhere_DetailOnly = support_everywhere.Checked; jobOptions.calibrate_before_print = verifybed_checkbutton.Checked; jobOptions.calibrate_before_print_z = 0.4f; if (selectedPrinter.Info.calibration.UsesCalibrationOffset) { jobOptions.calibrate_before_print_z += selectedPrinter.Info.calibration.CALIBRATION_OFFSET; } jobOptions.use_heated_bed = heatedBedButton_checkbox.Checked; jobOptions.quality_layer_resolution_DetailOnly = (int)GetPrintQuality(); jobOptions.fill_density_DetailOnly = (int)GetFillDensity(); CurrentJobDetails.GenerateSlicerSettings(selectedPrinter, printerview); CurrentJobDetails.auto_untethered_print = untetheredButton_checkbox.Checked; CurrentJobDetails.sdSaveOnly_print = sdOnlyButton_checkbox.Checked; SlicerConnection.SlicerSettingStack.SaveSettingsDown(); CurrentJobDetails.printer = selectedPrinter; CurrentJobDetails.jobOptions = jobOptions; PrintDialogWindow.ActivateFrame(PrintDialogWidgetFrames.PreSlicingFrame, CurrentJobDetails); }
public void MyButtonCallback(ButtonWidget button) { switch (button.ID) { case 0: PrintDialogWindow.CloseWindow(); if (CurrentJobDetails.printer == null) { break; } var num = (int)CurrentJobDetails.printer.SendManualGCode(new AsyncCallback(ReleasePrinterAfterCommand), CurrentJobDetails.printer, "M106 S0"); break; case 1: CloseAndStart(); break; } }
public void MyButtonCallback(ButtonWidget button) { if (button.ID != 0) { return; } PrintDialogWindow.CloseWindow(); if (SlicerConnection != null) { SlicerConnection.Cancel(); } if (CurrentJobDetails.printer == null) { return; } var num = (int)CurrentJobDetails.printer.SendManualGCode(new AsyncCallback(ReleasePrinterAfterCommand), CurrentJobDetails.printer, "M106 S0"); }
private void OnLockedBeforeSlicing(IAsyncCallResult ar) { var asyncState = (PrintJobDetails)ar.AsyncState; if (ar.CallResult == CommandResult.Success_LockAcquired) { if (!asyncState.print_to_file) { var num = (int)asyncState.printer.SendManualGCode(new AsyncCallback(StartSlicingOnSuccess), asyncState, "M106 S1"); } else { StitchAndGotoSlicingFrame(asyncState); } } else { asyncState.printer.ShowLockError(ar); PrintDialogWindow.ActivatePrevious(asyncState); } }
private void ProcessSpoolerProcessing() { status_text.Text = "Preparing gcode for printer and saving "; PrinterObject printer = CurrentJobDetails.printer; if (printer != null) { var num = printer.isHealthy ? 1 : 0; } if (printer.Info.current_job != null) { bCanCheckForNoJob = true; } if (!bCanCheckForNoJob && spoolerProcessingTimer.ElapsedMilliseconds <= 30000L || printer.Info.current_job != null) { return; } PrintDialogWindow.CloseWindow(); message_box.AddMessageToQueue("File saved"); }
public void MyTabButtonCallback(ButtonWidget button) { switch (button.ID) { case 611: SlicerSettings.SetToDefault(); SyncAllSettingWithGUI(); break; case 612: SlicerConnection.SlicerSettingStack.PopSettings(); PrintDialogWindow.ActivateFrame(PrintDialogWidgetFrames.PrintDialogFrame, CurrentJobDetails); break; case 613: SlicerConnection.SlicerSettingStack.SaveSettingsDown(); PrintDialogWindow.ActivateFrame(PrintDialogWidgetFrames.PrintDialogFrame, CurrentJobDetails); break; default: ShowFrame(button.tag); break; } }
private void FailedReleaseCallback(IAsyncCallResult ar) { PrintDialogWindow.CloseWindow(); message_box.AddMessageToQueue(Locale.GlobalLocale.T("T_Failed_ErrorSendingToPrinter"), PopupMessageBox.MessageBoxButtons.OK); }
private void PrepareToStartPrint() { PrintDialogWindow.ActivateFrame(PrintDialogWidgetFrames.PreparingToStartFrame, CurrentJobDetails); }
public void MyButtonCallback(ButtonWidget button) { PrinterObject selectedPrinter = SelectedPrinter; var filament = (FilamentSpool)null; if (selectedPrinter != null) { filament = selectedPrinter.GetCurrentFilament(); } switch (button.ID) { case 109: --quality_scroll_list.StartIndex; break; case 111: printQuality_editbox.Text = host.Locale.T("T_PRINTQUALITY5"); if (!syncing) { SlicerSettings.SetPrintQuality(PrintQuality.Expert, filament, CurrentJobDetails.slicer_objects.Count); } quality_scroll_list.GotoChild(button.ID); break; case 112: printQuality_editbox.Text = host.Locale.T("T_PRINTQUALITY1"); if (!syncing) { SlicerSettings.SetPrintQuality(PrintQuality.HighQuality, filament, CurrentJobDetails.slicer_objects.Count); } quality_scroll_list.GotoChild(button.ID); break; case 113: printQuality_editbox.Text = host.Locale.T("T_PRINTQUALITY2"); if (!syncing) { SlicerSettings.SetPrintQuality(PrintQuality.MediumQuality, filament, CurrentJobDetails.slicer_objects.Count); } quality_scroll_list.GotoChild(button.ID); break; case 114: printQuality_editbox.Text = host.Locale.T("T_PRINTQUALITY3"); if (!syncing) { SlicerSettings.SetPrintQuality(PrintQuality.FastPrint, filament, CurrentJobDetails.slicer_objects.Count); } quality_scroll_list.GotoChild(button.ID); break; case 115: printQuality_editbox.Text = host.Locale.T("T_PRINTQUALITY4"); if (!syncing) { SlicerSettings.SetPrintQuality(PrintQuality.VeryFastPrint, filament, CurrentJobDetails.slicer_objects.Count); } quality_scroll_list.GotoChild(button.ID); break; case 116: printQuality_editbox.Text = host.Locale.T("T_PRINTQUALITY6"); if (!syncing) { SlicerSettings.SetPrintQuality(PrintQuality.VeryHighQuality, filament, CurrentJobDetails.slicer_objects.Count); } quality_scroll_list.GotoChild(button.ID); break; case 117: ++quality_scroll_list.StartIndex; break; case 118: printQuality_editbox.Text = host.Locale.T("T_PRINTQUALITY7"); if (string.IsNullOrEmpty(printQuality_editbox.Text)) { printQuality_editbox.Text = "Custom"; } quality_scroll_list.GotoChild(button.ID); break; case 218: --density_scroll_list.StartIndex; break; case 220: fillDensity_editbox.Text = host.Locale.T("T_FILLDENSITY1"); if (!syncing) { SlicerSettings.SetFillQuality(FillQuality.ExtraHigh); } density_scroll_list.GotoChild(button.ID); break; case 221: fillDensity_editbox.Text = host.Locale.T("T_FILLDENSITY2"); if (!syncing) { SlicerSettings.SetFillQuality(FillQuality.High); } density_scroll_list.GotoChild(button.ID); break; case 222: fillDensity_editbox.Text = host.Locale.T("T_FILLDENSITY3"); if (!syncing) { SlicerSettings.SetFillQuality(FillQuality.Medium); } density_scroll_list.GotoChild(button.ID); break; case 223: fillDensity_editbox.Text = host.Locale.T("T_FILLDENSITY4"); if (!syncing) { SlicerSettings.SetFillQuality(FillQuality.Low); } density_scroll_list.GotoChild(button.ID); break; case 224: fillDensity_editbox.Text = host.Locale.T("T_FILLDENSITY5"); if (!syncing) { SlicerSettings.SetFillQuality(FillQuality.HollowThickWalls); } density_scroll_list.GotoChild(button.ID); break; case 225: fillDensity_editbox.Text = host.Locale.T("T_FILLDENSITY6"); if (!syncing) { SlicerSettings.SetFillQuality(FillQuality.HollowThinWalls); } density_scroll_list.GotoChild(button.ID); break; case 226: ++density_scroll_list.StartIndex; break; case 227: fillDensity_editbox.Text = host.Locale.T("T_FILLDENSITY7"); if (!syncing) { SlicerSettings.SetFillQuality(FillQuality.Solid); } density_scroll_list.GotoChild(button.ID); break; case 228: fillDensity_editbox.Text = host.Locale.T("T_FILLDENSITY8"); if (string.IsNullOrEmpty(fillDensity_editbox.Text)) { fillDensity_editbox.Text = "Custom"; } density_scroll_list.GotoChild(button.ID); break; case 301: if (syncing) { break; } SetSupportEnabledControls(false); if (support_checkbutton.Checked) { support_everywhere.Enabled = true; support_printbedonly.Enabled = true; support_printbedonly.Checked = true; SlicerSettings.EnableSupport(SupportType.LineSupport); break; } SlicerSettings.DisableSupport(); break; case 303: if (syncing || !support_everywhere.Checked) { break; } SlicerSettings.EnableSupport(SupportType.LineSupportEveryWhere); break; case 307: if (syncing) { break; } if (button.Checked) { SlicerSettings.EnableRaft(filament); break; } SlicerSettings.DisableRaft(); break; case 311: if (syncing) { break; } if (button.Checked) { SlicerSettings.EnableSkirt(); break; } SlicerSettings.DisableSkirt(); break; case 313: if (syncing || !support_printbedonly.Checked) { break; } SlicerSettings.EnableSupport(SupportType.LineSupport); break; case 401: case 404: if (printerview.ModelLoaded) { SaveSettings(); OnPrintButtonPressed(button.ID == 404); break; } message_box.AddMessageToQueue(Locale.GlobalLocale.T("T_PrinterViewError_NoModel")); break; case 402: PrintDialogWindow.CloseWindow(); break; case 403: ResetSettings(); LoadSettings(); break; case 501: OpenAdvancedPrintSettingsDialog(); break; } }
private void CloseAndStart() { countdown_timer.Stop(); PrintSlicedModel(CurrentJobDetails, recentPrints, new AsyncCallback(OnPrintJobStarted)); PrintDialogWindow.CloseWindow(); }