private void button1_Click(object sender, EventArgs e) { if (cbInterface.SelectedIndex == 0) { PrintDialog pd = new PrintDialog(); if (pd.ShowDialog() == DialogResult.OK) { Program.Config["PlotterName"] = pd.PrinterSettings.PrinterName; } } else if (cbInterface.SelectedIndex == 1) { FrmCadSerial serial = new FrmCadSerial(); serial.ShowDialog(); } else { } if (!string.IsNullOrEmpty(Program.Config["PlotterName"])) { lbPlotterName.Text = Program.Config["PlotterName"]; } }
private void button4_Click(object sender, EventArgs e) { pnlprincipal.Enabled = false; loadpanel("Enviando para Corte, Aguarde..."); try { bool invertXY = true; bool flip = false; try { invertXY = bool.Parse(Program.Config["RotateCut"]); } catch { } try { flip = bool.Parse(Program.Config["FlipX"]); } catch { } if (vvModelo.Document == null) { MessageBox.Show("Nenhum desenho selecionado.", "ATENÇÃO", MessageBoxButtons.OK, MessageBoxIcon.Warning); return; } if (vvModelo.Document.Paths.Count <= 0) { MessageBox.Show("Nenhum desenho selecionado.", "ATENÇÃO", MessageBoxButtons.OK, MessageBoxIcon.Warning); return; } if (!(Program.Config["PlotterInterface"].Equals("SERIAL") || Program.Config["PlotterInterface"].Equals("PRINTER"))) { if (MessageBox.Show("Plotter não configurada. Deseja configurar agora?", "ATENÇÃO", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes) { FrmConfigPlotter c = new GlassFilm.FrmConfigPlotter(); c.ShowDialog(); } else { MessageBox.Show("É necessário configurar a plotter antes de continuar", "ATENÇÃO", MessageBoxButtons.OK, MessageBoxIcon.Warning); return; } } if (vvCorte.Document != null) { if (vvCorte.Document.Paths.Count == 0) { MessageBox.Show("Nenhum desenho na área de corte.", "ATENÇÃO", MessageBoxButtons.OK, MessageBoxIcon.Warning); return; } string cmds = null; try { cmds = vvCorte.Document.GeneratePlotterCommands(GetPlotterCmdDriver(), invertXY, flip); } catch (Exception ex) { MessageBox.Show(ex.Message, "ATENÇÃO", MessageBoxButtons.OK, MessageBoxIcon.Warning); return; } if (Program.Config["PlotterInterface"].Equals("PRINTER")) { PrinterSettings ps = null; foreach (string p in PrinterSettings.InstalledPrinters) { if (p.Equals(Program.Config["PlotterName"])) { ps = new PrinterSettings(); ps.PrinterName = p; break; } } if (ps == null) { PrintDialog pd = new PrintDialog(); if (pd.ShowDialog() == DialogResult.OK) { ps = pd.PrinterSettings; Program.Config["PlotterName"] = ps.PrinterName; } } if (ps != null) { if (ps.IsValid) { RawPrinterHelper.SendStringToPrinter(ps.PrinterName, cmds); } else { PrintDialog pd = new PrintDialog(); if (pd.ShowDialog() == DialogResult.OK) { ps = pd.PrinterSettings; Program.Config["PlotterName"] = ps.PrinterName; RawPrinterHelper.SendStringToPrinter(ps.PrinterName, cmds); } } loadpanelRecortar(); DBManager.GravaLogCorte(vvCorte.Document); } else { MessageBox.Show("Plotter inválda ou não especificada nos parâmetros", "ATENÇÃO", MessageBoxButtons.OK, MessageBoxIcon.Stop); return; } } else if (Program.Config["PlotterInterface"].Equals("SERIAL")) { try { SerialPort port = FrmCadSerial.GetSerialPort(); if (port != null) { port.Open(); port.Write(cmds); port.Close(); loadpanelRecortar(); DBManager.GravaLogCorte(vvCorte.Document); } } catch (Exception ex) { MessageBox.Show("Falha ao enviar comandos para a Plotter\n" + ex.Message, "ATENÇÃO", MessageBoxButtons.OK, MessageBoxIcon.Error); } } else { MessageBox.Show("Plotter inválda ou não especificada nos parâmetros", "ATENÇÃO", MessageBoxButtons.OK, MessageBoxIcon.Stop); } if (Debugger.IsAttached || File.Exists("teste_corte.plt")) { File.Delete("teste_corte.plt"); File.WriteAllText("teste_corte.plt", cmds); } } } catch { } finally { pnlprincipal.Enabled = true; pnlCalculando.Visible = false; } }