private void CheckHeatedBedAvailability(PrinterObject selected_printer, bool bSwitchingPrinters) { if (selected_printer == null || !bSwitchingPrinters) { return; } var flag = false; if (selected_printer.MyPrinterProfile.AccessoriesConstants.HeatedBedConstants.HasBuiltinHeatedBed && selected_printer.Info.supportedFeatures.UsesSupportedFeatures) { flag = selected_printer.Info.supportedFeatures.Available("Heated Bed Control", selected_printer.MyPrinterProfile.SupportedFeaturesConstants); } if (flag) { heatedBedButton_checkbox.Checked = settingsManager.Settings.GetPrintSettingsSafe(selected_printer.MyPrinterProfile.ProfileName).UseHeatedBed; heatedBedButton_checkbox.Enabled = true; heatedBedButton_checkbox.Visible = true; heatedBedButton_text.Visible = true; } else { heatedBedButton_checkbox.Checked = false; heatedBedButton_checkbox.Enabled = false; heatedBedButton_checkbox.Visible = false; heatedBedButton_text.Visible = false; } }
private void SaveSettings() { PrinterObject selectedPrinter = SelectedPrinter; if (selectedPrinter != null && selectedPrinter.MyPrinterProfile != null) { SettingsManager.PrintSettings printSettingsSafe = settingsManager.Settings.GetPrintSettingsSafe(selectedPrinter.MyPrinterProfile.ProfileName); var childElement1 = (ButtonWidget)FindChildElement(305); if (childElement1 != null) { printSettingsSafe.WaveBonding = childElement1.Checked; } var childElement2 = (ButtonWidget)FindChildElement(309); if (childElement2 != null) { printSettingsSafe.VerifyBed = childElement2.Checked; } var childElement3 = (ButtonWidget)FindChildElement(315); if (childElement3 != null && childElement3.Enabled) { printSettingsSafe.UseHeatedBed = childElement3.Checked; } var childElement4 = (ButtonWidget)FindChildElement(317); if (childElement4 != null && childElement4.Enabled) { printSettingsSafe.AutoUntetheredSupport = childElement4.Checked; } } settingsManager.SaveSettings(); }
private void CheckSDCardAvailability(PrinterObject selected_printer, bool bSwitchingPrinters) { if (selected_printer == null || !bSwitchingPrinters) { return; } if (selected_printer.SDCardExtension.Available) { untetheredButton_checkbox.Checked = settingsManager.Settings.GetPrintSettingsSafe(selected_printer.MyPrinterProfile.ProfileName).AutoUntetheredSupport; sdCheckboxesFrame.Enabled = true; sdCheckboxesFrame.Visible = true; } else { untetheredButton_checkbox.Checked = false; sdCheckboxesFrame.Enabled = false; sdCheckboxesFrame.Visible = false; } if (settingsManager.CurrentAppearanceSettings.AllowSDOnlyPrinting) { sdOnlyButton_checkbox.Visible = true; sdOnlyButton_text.Visible = true; } else { sdOnlyButton_checkbox.Visible = false; sdOnlyButton_text.Visible = false; } }
private bool LoadSettings() { PrinterObject selectedPrinter = SelectedPrinter; if (selectedPrinter != null && selectedPrinter.MyPrinterProfile != null) { settingsManager.LoadSettings(); SettingsManager.PrintSettings printSettingsSafe = settingsManager.Settings.GetPrintSettingsSafe(selectedPrinter.MyPrinterProfile.ProfileName); var childElement1 = (ButtonWidget)FindChildElement(305); if (childElement1 != null) { childElement1.Checked = printSettingsSafe.WaveBonding; } var childElement2 = (ButtonWidget)FindChildElement(309); if (childElement2 != null) { childElement2.Checked = printSettingsSafe.VerifyBed; } var childElement3 = (ButtonWidget)FindChildElement(315); if (childElement3 != null) { childElement3.Checked = printSettingsSafe.UseHeatedBed; } var childElement4 = (ButtonWidget)FindChildElement(317); if (childElement4 != null) { childElement4.Checked = printSettingsSafe.AutoUntetheredSupport; } } return(true); }
public BacklashDetails(PrinterObject printer, float backlash_x, float backlash_y, float backlash_speed) { this.printer = printer; this.backlash_x = backlash_x; this.backlash_y = backlash_y; this.backlash_speed = backlash_speed; }
private void OnApplyCalibrationOffset() { PrinterObject selectedPrinter = m_oSpoolerConnection.SelectedPrinter; if (selectedPrinter == null) { m_oMessagebox.AddMessageToQueue("You must connect a printer first."); } else { var num1 = 2f; var num2 = -1f; if (!float.TryParse(m_oebwCalibrationOffset_edit.Text, out var result)) { m_oMessagebox.AddMessageToQueue("Sorry, but the 'Calibration Offset' is not a number. Please try again."); } else if (num2 > (double)result || num1 < (double)result) { m_oMessagebox.AddMessageToQueue(string.Format("Sorry. The 'Calibration Offset' must be between {0} and {1} mm.", num2, num1)); } else { var num3 = (int)selectedPrinter.AcquireLock(new M3D.Spooling.Client.AsyncCallback(SetCalibrationOffsetAfterLock), new AdvancedCalibrationTab.CalibrationDetails(selectedPrinter, result)); } } }
/// <summary> /// Add for undo feature /// </summary> private void AddUndo() { MemoryStream stream = new MemoryStream(); PrinterObject.Save(po, stream); this.AddUndo(stream); }
public override void MyButtonCallback(ButtonWidget button) { PrinterObject selectedPrinter = MainWindow.GetSelectedPrinter(); if (selectedPrinter == null) { return; } switch (button.ID) { case 5: CurrentDetails.mode = Manage3DInkMainWindow.Mode.SetFilamentLocationAlreadyInserted; MainWindow.ActivateFrame(Manage3DInkMainWindow.PageID.Page11_CheatCodePage, CurrentDetails); break; case 6: CurrentDetails.pageAfterWait = Manage3DInkMainWindow.PageID.Page0_StartupPage; if (settingsManager != null) { settingsManager.DisassociateFilamentFromPrinter(selectedPrinter.Info.serial_number); settingsManager.SaveSettings(); } var none = (int)selectedPrinter.SetFilamentToNone(new AsyncCallback(MainWindow.GotoPageAfterOperation), new Manage3DInkMainWindow.PageAfterLockDetails(selectedPrinter, Manage3DInkMainWindow.PageID.Page8_WaitingPage, CurrentDetails)); break; case 9: MainWindow.ResetToStartup(); break; } }
public override void MyButtonCallback(ButtonWidget button) { PrinterObject selectedPrinter = MainWindow.GetSelectedPrinter(); if (selectedPrinter == null) { return; } switch (button.ID) { case 5: CurrentDetails.pageAfterWait = Manage3DInkMainWindow.PageID.Page0_StartupPage; CurrentDetails.mode = Manage3DInkMainWindow.Mode.SetDetails; FilamentWaitingPage.CurrentWaitingText = "Please wait. The printer is busy perfoming the requested actions."; if (settingsManager != null) { settingsManager.DisassociateFilamentFromPrinter(selectedPrinter.Info.serial_number); settingsManager.SaveSettings(); } var none = (int)selectedPrinter.SetFilamentToNone(new AsyncCallback(MainWindow.GotoPageAfterOperation), new Manage3DInkMainWindow.PageAfterLockDetails(selectedPrinter, Manage3DInkMainWindow.PageID.Page8_WaitingPage, CurrentDetails)); break; case 6: MainWindow.ActivateFrame(Manage3DInkMainWindow.PageID.Page2_RetractingFilament, CurrentDetails); break; case 9: MainWindow.ResetToStartup(); break; } }
public override void MyButtonCallback(ButtonWidget button) { PrinterObject selectedPrinter = MainWindow.GetSelectedPrinter(); if (selectedPrinter == null) { return; } switch (button.ID) { case 5: CurrentDetails.waitCondition = new Mangage3DInkStageDetails.WaitCondition(WaitCondition); FilamentWaitingPage.CurrentWaitingText = "Please wait. Some 3D Ink is being pulled back so it won't drip."; MainWindow.ActivateFrame(Manage3DInkMainWindow.PageID.Page8_WaitingPage, CurrentDetails); AsyncCallback callback = CurrentDetails.current_spool.filament_location != FilamentSpool.Location.Internal ? new AsyncCallback(CleanNozzleAfterRetraction) : new AsyncCallback(CloseBedAfterRetraction); if (settingsManager != null) { settingsManager.AssociateFilamentToPrinter(selectedPrinter.Info.serial_number, CurrentDetails.current_spool); settingsManager.SaveSettings(); } var num = (int)selectedPrinter.SetFilamentInfo(callback, selectedPrinter, CurrentDetails.current_spool); break; case 6: MainWindow.ActivateFrame(Manage3DInkMainWindow.PageID.Page4_InsertNewFilament, CurrentDetails); break; case 9: MainWindow.ResetToStartup(); break; } }
private void ShowCurrentDetails() { PrinterObject selectedPrinter = MainWindow.GetSelectedPrinter(); if (ShowError(selectedPrinter)) { return; } selectedPrinter.MarkedAsBusy = false; FilamentSpool filamentSpool = selectedPrinter.GetCurrentFilament(); if (filamentSpool != null) { filamentSpool = new FilamentSpool(filamentSpool); } if (filamentSpool == null) { text_title.Text = "3D Ink Currently in use:"; text_main.Text = selectedPrinter.isBusy || selectedPrinter.Info.Status == PrinterStatus.Connecting ? (selectedPrinter.Info.current_job == null ? "Unable to read information from the printer because it is working." : "Unable to read information from the printer because it is printing.") : "Looks like your printer doesn't have 3D Ink loaded."; DisableAllControls(); text_main.Visible = true; } else { ShowCurrentFilament(selectedPrinter, filamentSpool); } }
public void MyButtonCallback(ButtonWidget button) { PrinterObject selectedPrinter = spooler_connection.SelectedPrinter; if (selectedPrinter == null || !selectedPrinter.IsConnected()) { return; } switch (button.ID) { case 1000: var num1 = (int)selectedPrinter.SendEmergencyStop(null, null); break; case 1014: FilamentSpool currentFilament = selectedPrinter.GetCurrentFilament(); if (currentFilament == null) { messagebox.AddMessageToQueue("Sorry, but you must insert filament first."); break; } var num2 = FilamentConstants.Temperature.BedDefault(currentFilament.filament_type); selectedPrinter.SendCommandAutoLockRelease(new AsyncCallback(selectedPrinter.ShowLockError), selectedPrinter, PrinterCompatibleString.Format("M190 S{0}", (object)num2)); break; case 1015: selectedPrinter.SendCommandAutoLockRelease(new AsyncCallback(selectedPrinter.ShowLockError), selectedPrinter, "M140 S0"); break; } }
public void AddRecentPrintHistory(JobParams printerJob, PrinterObject printer, string slicerProfileName, List <Slicer.General.KeyValuePair <string, string> > complete_slicer_settings, List <PrintDetails.ObjectDetails> original_objectList) { RecentPrintsHistory.CreatePrintHistoryFolder(printerJob, printer, slicerProfileName, complete_slicer_settings, original_objectList, out PrintHistory cph); startedPrintList.Insert(0, cph); RefreshListChanged(); SaveStartedPrints(); }
/// <summary> /// Add a new data /// </summary> /// <param name="list">data list</param> /// <param name="po">printer object</param> /// <returns>added variable</returns> public static bool AddNewData(ListBox list, PrinterObject po) { string s = string.Empty; Data d = new Data(); FillVars(d.Controls["vars"] as ListBox, po); DialogResult dr = d.ShowDialog(); if (dr == DialogResult.OK) { bool byVar = (d.Controls["rbVariable"] as RadioButton).Checked; if (byVar) { po.UseVariable(d.Controls["vars"].Text); } else { po.AddData(d.Controls["txtConst"].Text); } list.Items.Add(po.Datas.Last()); list.Refresh(); hasModified = true; return(true); } return(false); }
public override void OnActivate(Mangage3DInkStageDetails details) { base.OnActivate(details); PrinterObject selectedPrinter = MainWindow.GetSelectedPrinter(); if (selectedPrinter == null) { return; } if (CurrentDetails.current_spool == null) { MainWindow.ResetToStartup(); } else if (!selectedPrinter.Info.extruder.Z_Valid) { messagebox.AddMessageToQueue("Sorry. The extruder can't move to a safe position for heating because the Z location has not be calibrated.", PopupMessageBox.MessageBoxButtons.OK); MainWindow.ResetToStartup(); } else { var colors = (FilamentConstants.ColorsEnum)Enum.ToObject(typeof(FilamentConstants.ColorsEnum), CurrentDetails.current_spool.filament_color_code); MainWindow.TurnOnHeater(new M3D.Spooling.Client.AsyncCallback(MainWindow.HeaterStartedSuccess), selectedPrinter, settingsManager.GetFilamentTemperature(CurrentDetails.current_spool.filament_type, colors), CurrentDetails.current_spool.filament_type); } }
public void ButtonCallback(ButtonWidget button) { if (m_bUpdating || button.ID > 10000) { return; } PrinterObject selectedPrinter = m_oSpoolerConnection.SelectedPrinter; if (selectedPrinter == null) { return; } if (button.ID == 10000) { AccessoriesProfile.NozzleProfile nozzleConstants = selectedPrinter.MyPrinterProfile.AccessoriesConstants.NozzleConstants; CustomNozzleSizeDialog.Show(Host, m_oMessagebox, new EventHandler <CustomNozzleSizeDialog.CustomNozzleSizeResult>(OnCustomNozzleSizeDialogClosed), nozzleConstants.iMinimumNozzleSizeMicrons, nozzleConstants.iMaximumNozzleSizeMicrons, selectedPrinter); } else { SelectAppropriateButton(button.ID); SetNozzleSize(selectedPrinter, button.ID); } }
public PrinterObject GetSelectedPrinter() { PrinterObject selectedPrinter = spooler_connection.SelectedPrinter; var flag = false; if (last_selected_printer != selectedPrinter) { if (last_selected_printer != null && last_selected_printer.LockStatus == PrinterLockStatus.WeOwnLocked) { var num = (int)last_selected_printer.ReleaseLock(null, null); } last_selected_printer = selectedPrinter; flag = true; } if (selectedPrinter == null) { if (current_frame == null || current_frame.ID != 0) { ActivateFrame(Manage3DInkMainWindow.PageID.Page0_StartupPage, new Mangage3DInkStageDetails(Manage3DInkMainWindow.Mode.None)); } } else if (((!selectedPrinter.IsConnected() || selectedPrinter.PrinterState == PrinterObject.State.IsUpdatingFirmware ? 1 : (selectedPrinter.Info.InBootloaderMode ? 1 : 0)) | (flag ? 1 : 0)) != 0 && (current_frame == null || current_frame.ID != 8)) { ActivateFrame(Manage3DInkMainWindow.PageID.Page8_WaitingPage, new Mangage3DInkStageDetails(Manage3DInkMainWindow.Mode.None, Manage3DInkMainWindow.PageID.Page0_StartupPage)); } if (flag) { return(null); } return(selectedPrinter); }
private void CheckPrinterState(PrinterObject printer) { m_oframeNozzleSelect.Visible = false; m_oframeIncompatiblePrinter.Visible = false; m_oframePrinterNotConnected.Visible = false; m_oframeUpdating.Visible = false; if (printer == null || PrinterObject.State.IsNotHealthy == printer.PrinterState) { m_oframePrinterNotConnected.Visible = true; } else if (!printer.MyPrinterProfile.AccessoriesConstants.NozzleConstants.bHasInterchangeableNozzle) { m_oframeIncompatiblePrinter.Visible = true; } else if (printer.isBusy) { m_busy = true; m_oframeUpdating.Visible = true; } else { m_oframeNozzleSelect.Visible = true; SelectAppropriateButton(printer.Info.extruder.iNozzleSizeMicrons); } }
public void StartupPageButtonCallback(ButtonWidget button) { PrinterObject selectedPrinter = GetSelectedPrinter(); if (selectedPrinter == null) { if (button.ID != 4) { return; } Close(); } else { if (button.ID != 4) { return; } ActivateFrame(Manage3DInkMainWindow.PageID.Page0_StartupPage, new Mangage3DInkStageDetails(Manage3DInkMainWindow.Mode.None)); selectedPrinter.MarkedAsBusy = false; Close(); } }
private void PrinterMessageCallback(SpoolerMessage message) { if (current_frame == null || message.Type != MessageType.PrinterTimeout && message.Type != MessageType.BedLocationMustBeCalibrated && (message.Type != MessageType.BedOrientationMustBeCalibrated && message.Type != MessageType.CheckGantryClips) && message.Type != MessageType.PrinterError) { return; } switch ((Manage3DInkMainWindow.PageID)current_frame.ID) { case Manage3DInkMainWindow.PageID.Page0_StartupPage: case Manage3DInkMainWindow.PageID.Page1_HeatingNozzle: case Manage3DInkMainWindow.PageID.Page2_RetractingFilament: case Manage3DInkMainWindow.PageID.Page3_HasRetractedFilament: case Manage3DInkMainWindow.PageID.Page4_InsertNewFilament: case Manage3DInkMainWindow.PageID.Page5_HasFilamentExited: PrinterObject selectedPrinter = GetSelectedPrinter(); if (selectedPrinter == null || !(selectedPrinter.Info.serial_number == message.SerialNumber)) { break; } ResetToStartup(); break; } }
/// <summary> /// Save to file /// </summary> /// <param name="path">path</param> /// <param name="fileName">file name</param> /// <param name="po">printer object</param> /// <returns>true if saved</returns> public static bool Save(ref string path, ref string fileName, PrinterObject po) { if (alreadyOpen) { PrinterObject.Save(po, Path.Combine(path, fileName)); hasModified = false; return(true); } else { SaveFileDialog sfd = new SaveFileDialog(); sfd.AddExtension = false; sfd.Filter = "Printer (*.prt)|*.prt"; sfd.DefaultExt = "prt"; sfd.InitialDirectory = path; sfd.FileName = fileName; DialogResult dr = sfd.ShowDialog(); if (dr == DialogResult.OK) { path = Path.GetDirectoryName(sfd.FileName); fileName = Path.GetFileName(sfd.FileName); PrinterObject.Save(po, Path.Combine(path, fileName)); alreadyOpen = true; hasModified = false; return(true); } } return(false); }
/// <summary> /// Fill all data in list box /// </summary> /// <param name="list">data list</param> /// <param name="po">printer object</param> public static void FillData(ListBox list, PrinterObject po) { foreach (string s in po.Datas) { if (s.StartsWith("[") && s.EndsWith("]")) { list.Items.Add(s); } else { if (s.Length > 10) { list.Items.Add(s.Substring(0, 10) + " ..."); } else { list.Items.Add(s); } } } if (po.Datas.Count() > 0) { list.SetSelected(0, true); } }
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) { } }
/// <summary> /// Insert a new data after a given position /// </summary> /// <param name="list">data list</param> /// <param name="po">printer object</param> /// <returns>added variable</returns> public static bool InsertAfter(ListBox list, PrinterObject po) { if (list.SelectedIndices.Count == 1) { int pos = list.SelectedIndices[0]; Data d = new Data(); FillVars(d.Controls["vars"] as ListBox, po); DialogResult dr = d.ShowDialog(); if (dr == DialogResult.OK) { bool byVar = (d.Controls["rbVariable"] as RadioButton).Checked; if (byVar) { po.InsertUseVariableAfter(pos, d.Controls["vars"].Text); } else { po.InsertDataAfter(pos, d.Controls["txtConst"].Text); } if (pos + 1 < list.Items.Count) { list.Items.Insert(pos + 1, po.Datas.ElementAt(pos + 1)); } else { list.Items.Add(po.Datas.ElementAt(pos + 1)); } list.Refresh(); hasModified = true; return(true); } } return(false); }
/// <summary> /// Copy variables /// </summary> /// <param name="list">variable list</param> /// <param name="po">printer object</param> /// <returns>if at least one item removed</returns> public static bool CopyVariables(ListBox list, PrinterObject po) { bool atLeastOne = false; for (int index = 0; index < list.SelectedIndices.Count; ++index) { PrinterVariable pv = list.SelectedItems[index] as PrinterVariable; PrinterVariable copied = new PrinterVariable(); copied.Name = "Copy of " + pv.Name; copied.Value = pv.Value; if (po.ExistTestVariable(copied.Name)) { po.EditVariable(copied.Name, copied.Value); for (int counter = 0; counter < list.Items.Count; ++counter) { if ((list.Items[counter] as PrinterVariable).Name == copied.Name) { list.Items.RemoveAt(counter); list.Items.Insert(counter, copied); break; } } } else { po.AddVariable(copied.Name, copied.Value); list.Items.Add(copied); } hasModified = true; atLeastOne = true; } list.Refresh(); return(atLeastOne); }
private void SetFilamentAndStartNextProcess() { PrinterObject selectedPrinter = MainWindow.GetSelectedPrinter(); if (CurrentDetails.mode == Manage3DInkMainWindow.Mode.SetFilamentLocationInsertingNew) { MainWindow.ActivateFrame(Manage3DInkMainWindow.PageID.Page12_RaisingExtruder, CurrentDetails); } else if (CurrentDetails.mode == Manage3DInkMainWindow.Mode.SetFilamentLocationAlreadyInserted) { CurrentDetails.mode = Manage3DInkMainWindow.Mode.SetDetails; CurrentDetails.pageAfterWait = Manage3DInkMainWindow.PageID.Page0_StartupPage; MainWindow.ActivateFrame(Manage3DInkMainWindow.PageID.Page8_WaitingPage, CurrentDetails); if (settingsManager != null) { settingsManager.AssociateFilamentToPrinter(selectedPrinter.Info.serial_number, CurrentDetails.current_spool); settingsManager.SaveSettings(); } var num = (int)selectedPrinter.SetFilamentInfo(new M3D.Spooling.Client.AsyncCallback(selectedPrinter.ShowLockError), selectedPrinter, CurrentDetails.current_spool); } else { selectedPrinter.MarkedAsBusy = false; MainWindow.ActivateFrame(Manage3DInkMainWindow.PageID.Page0_StartupPage, new Mangage3DInkStageDetails(Manage3DInkMainWindow.Mode.None)); } }
public override void MyButtonCallback(ButtonWidget button) { PrinterObject selectedPrinter = MainWindow.GetSelectedPrinter(); if (selectedPrinter == null) { return; } selectedPrinter.MarkedAsBusy = true; switch (button.ID) { case 9: MainWindow.ResetToStartup(); break; case 11: case 12: if (button.ID == 11) { CurrentDetails.current_spool.filament_location = FilamentSpool.Location.Internal; } else { CurrentDetails.current_spool.filament_location = FilamentSpool.Location.External; } SetFilamentAndStartNextProcess(); break; default: throw new NotImplementedException(); } }
public override void OnUpdate() { base.OnUpdate(); PrinterObject selectedPrinter = spooler_connection.SelectedPrinter; if (selectedPrinter == null || !selectedPrinter.IsConnected()) { if (heater_text == null) { return; } heater_text.Text = "OFF"; } else if (selectedPrinter.Info.extruder.Temperature == -1.0) { heater_text.Text = "ON"; } else if (selectedPrinter.Info.extruder.Temperature < 1.0) { heater_text.Text = "OFF"; } else { heater_text.Text = selectedPrinter.Info.extruder.Temperature.ToString(); } }
/// <summary> /// Constructor from a printer object /// </summary> /// <param name="tn">type name of this accu</param> /// <param name="fi">file name to load</param> public Accu(string tn, string fi) { this.typeName = tn; this.fileName = fi; PrinterObject po = PrinterObject.Load(Path.Combine(Printer.PrinterObject.PrinterDirectory, "languages", fi)); this.Cast(po); }
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); }
// Get printers /// <summary> /// Gets a list of printers /// </summary> /// <returns>A list of PrinterObjects</returns> public List<PrinterObject> GetPrinters() { List<PrinterObject> Printers = new List<PrinterObject>(); ManagementObjectSearcher Query = new ManagementObjectSearcher("SELECT * FROM Win32_Printer"); ManagementObjectCollection Collection = Query.Get(); foreach (ManagementObject MO in Collection) { PrinterObject Printer = new PrinterObject(); Try(() => Printer.name = MO["Name"].ToString()); Try(() => Printer.identifier = MO["Name"].ToString()); Try(() => Printer.model.detection_string = MO["DriverName"].ToString()); Try(() => Printer.location.name = MO["Location"].ToString()); Try(() => Printer.local = MO["Local"].ToString()); try { UInt16[] Capabilities = (UInt16[]) MO["Capabilities"]; foreach (UInt16 Capability in Capabilities) { PrinterCapabilitiesObject PrinterCapability = new PrinterCapabilitiesObject(); PrinterCapability.detection_string = Capability.ToString(); Printer.capabilities.Add(PrinterCapability); } } catch { } Printers.Add(Printer); } return Printers; }