void MainWindow::OnOK(wxCommandEvent& event) { if (m_selection == -1){ wxMessageDialog* msg = new wxMessageDialog(this,_T("Bitte Werkzeug ausw�hlen oder erstellen!"),_T("Kein Werkzeug Ausgew�hlt!"),wxOK|wxICON_ERROR|wxSTAY_ON_TOP); msg->ShowModal(); return; } wxString filename = m_txtFilename->GetLineText(0); if(filename.Length()<1) { wxMessageDialog* msg = new wxMessageDialog(this,_T("Bitte Auftragsnummer angeben (max. 8 stellig)!"),_T("Keine Auftragsnummer!"),wxOK|wxICON_ERROR|wxSTAY_ON_TOP); msg->ShowModal(); return; } //-------------------------------------------------- wxString laenge = m_txtlaenge->GetLineText(0); wxString laeschnitt = m_txtlaeschnitt->GetLineText(0); wxString breite = m_txtbreite->GetLineText(0); wxString brschnitt = m_txtbrschnitt->GetLineText(0); wxString roben = m_txtoben->GetLineText(0); wxString runten = m_txtunten->GetLineText(0); wxString rlinks = m_txtlinks->GetLineText(0); wxString rrechts = m_txtrechts->GetLineText(0); float flaenge = atof(laenge.c_str()); float flaeschnitt = atof(laeschnitt.c_str()); float fbreite = atof(breite.c_str()); float fbrschnitt = atof(brschnitt.c_str()); float froben = atof(roben.c_str()); float frunten = atof(runten.c_str()); float frlinks = atof(rlinks.c_str()); float frrechts = atof(rrechts.c_str()); Werkzeug sel = m_werkzeugList[m_selection]; // // R�nder oben /unten -------------------------------------------------------------------------- if(m_butoben->GetValue()){ float Ru2 = FreiX((flaenge), (froben), (frunten), (sel.abstandx)); float Ru1 = Ru2 - sel.abstandx; // zRu = Auswahl("unterer Rand ???", (Ru1), (Ru2)) // txtUnten.Text = zRu char buff[1028]; char buff1[1028]; sprintf(buff,"%.2f",Ru1); sprintf(buff1,"%.2f",Ru2); TrimZero(buff); TrimZero(buff1); wxString list[] = { wxString(buff),wxString(buff1)}; wxSingleChoiceDialog* msg = new wxSingleChoiceDialog(this,_T("Bitte unteren Rand auswaehlen(oben bindend)"),_T("Lochung oben bindend"),2,list,NULL,wxDEFAULT_DIALOG_STYLE|wxRESIZE_BORDER|wxOK|wxCENTRE); if(msg->ShowModal()==wxID_OK){ wxString auswahl = msg->GetStringSelection(); m_txtunten->Clear(); m_txtunten->AppendText(auswahl); } else return; } else if(m_butunten->GetValue()){ float Ro2 = FreiX((flaenge), (frunten), (froben), (sel.abstandx)); float Ro1 = Ro2 - sel.abstandx; // zRo = Auswahl("oberer Rand?", (Ro1), (Ro2)) // m_txtoben.Text = zRo char buff[1028]; char buff1[1028]; sprintf(buff,"%.2f",Ro1); sprintf(buff1,"%.2f",Ro2); TrimZero(buff); TrimZero(buff1); wxString list[] = { wxString(buff),wxString(buff1)}; wxSingleChoiceDialog* msg = new wxSingleChoiceDialog(this,_T("Bitte oberen Rand auswaehlen (unten bindend)"),_T("Lochung unten bindend"),2,list,NULL,wxDEFAULT_DIALOG_STYLE|wxRESIZE_BORDER|wxOK|wxCENTRE); if(msg->ShowModal()==wxID_OK){ wxString auswahl = msg->GetStringSelection(); m_txtoben->Clear(); m_txtoben->AppendText(auswahl); } else return; } else if(m_butousymmetrisch->GetValue()){ //printf("%f\n",flaenge); //printf("%f\n",frlinks); //printf("%f\n",sel.abstandx); float Ro1 = SymmetrischX((flaenge), (froben), (sel.abstandx)); float Ro2 = (Ro1 - sel.abstandx/ 2); char buff[1028]; char buff1[1028]; sprintf(buff,"%.2f",Ro1); sprintf(buff1,"%.2f",Ro2); TrimZero(buff); TrimZero(buff1); wxString list[] = { wxString(buff),wxString(buff1)}; wxSingleChoiceDialog* msg = new wxSingleChoiceDialog(this,_T("Bitte oberer/unterer Rand auswaehlen (symmetrisch)"),_T("Lochung symmetrisch Rand oben/unten"),2,list,NULL,wxDEFAULT_DIALOG_STYLE|wxRESIZE_BORDER|wxOK|wxCENTRE); if(msg->ShowModal()==wxID_OK){ wxString auswahl = msg->GetStringSelection(); m_txtunten->Clear(); m_txtoben->Clear(); m_txtunten->AppendText(auswahl); m_txtoben->AppendText(auswahl); } else return; } // R�nder links - rechts ---------------------------------------------------------------------- if(m_butlinks->GetValue()){ float Rr2 = FreiY((fbreite), (frlinks), (frrechts), (sel.abstandx)); float Rr1 = Rr2 - sel.abstandx; //zRr = Auswahl("rechter Rand?", (Rr1), (Rr2)) //txtRechts.Text = zRr char buff[1028]; char buff1[1028]; sprintf(buff,"%.2f",Rr1); sprintf(buff1,"%.2f",Rr2); TrimZero(buff); TrimZero(buff1); wxString list[] = { wxString(buff),wxString(buff1)}; wxSingleChoiceDialog* msg = new wxSingleChoiceDialog(this,_T("Bitte rechten Rand auswaehlen(links bindend)"),_T("Lochung links bindend"),2,list,NULL,wxDEFAULT_DIALOG_STYLE|wxRESIZE_BORDER|wxOK|wxCENTRE); if(msg->ShowModal()==wxID_OK){ wxString auswahl = msg->GetStringSelection(); m_txtrechts->Clear(); m_txtrechts->AppendText(auswahl); } else return; } else if(m_butrechts->GetValue()){ float Rl2 = FreiY((fbreite), (frrechts), (frlinks), (sel.abstandx)); float Rl1 = Rl2 - sel.abstandx; //zRl = Auswahl("linker Rand ???", (Rl1), (Rl2)) //txtLinks.Text = zRl char buff[1028]; char buff1[1028]; sprintf(buff,"%.2f",Rl1); sprintf(buff1,"%.2f",Rl2); TrimZero(buff); TrimZero(buff1); wxString list[] = { wxString(buff),wxString(buff1)}; wxSingleChoiceDialog* msg = new wxSingleChoiceDialog(this,_T("Bitte linken Rand auswaehlen(rechts bindend)"),_T("Lochung rechts bindend"),2,list,NULL,wxDEFAULT_DIALOG_STYLE|wxRESIZE_BORDER|wxOK|wxCENTRE); if(msg->ShowModal()==wxID_OK){ wxString auswahl = msg->GetStringSelection(); m_txtlinks->Clear(); m_txtlinks->AppendText(auswahl); } else return; } else if(m_butrlsymmetrisch->GetValue()){ float Rl1 = SymmetrischY((fbreite), (frlinks), (sel.abstandx)); float Rl2 = (Rl1 - sel.abstandx/ 2); //zRr = zRl //txtLinks.Text = zRl //txtRechts.Text = zRr char buff[1028]; char buff1[1028]; sprintf(buff,"%.2f",Rl1); sprintf(buff1,"%.2f",Rl2); TrimZero(buff); TrimZero(buff1); wxString list[] = { wxString(buff),wxString(buff1)}; wxSingleChoiceDialog* msg = new wxSingleChoiceDialog(this,_T("Bitte linken/rechten Rand auswaehlen (symmetrisch)"),_T("Lochung symmetrisch Rand links/rechts"),2,list,NULL,wxDEFAULT_DIALOG_STYLE|wxRESIZE_BORDER|wxOK|wxCENTRE); if(msg->ShowModal()==wxID_OK){ wxString auswahl = msg->GetStringSelection(); m_txtrechts->Clear(); m_txtlinks->Clear(); m_txtrechts->AppendText(auswahl); m_txtlinks->AppendText(auswahl); } else return; } // ---------------------------------------------------------------------------------------------- // DFT EXPORTER //___________________________________________________ if(m_exportDFT->IsChecked()) { char buff[1028]; #ifdef WIN32 sprintf(buff,"C:\\export\\%s.dft",filename.c_str()); #else sprintf(buff,"/home/subdancer/%s.dft",filename.c_str()); #endif dftExport exp; exp.exportDFT((char*)buff,flaenge,flaeschnitt,fbreite,fbrschnitt,sel.anzahl,sel.abstandx,froben,frrechts,frunten,frlinks); } // DXF EXPORTER //------------------------------------------------------------------------------ if(m_exportDXF->IsChecked()) { char buff[1028]; #ifdef WIN32 sprintf(buff,"C:\\export\\%s.dxf",filename.c_str()); #else sprintf(buff,"/home/subdancer/%s.dxf",filename.c_str()); #endif //sprintf(buff,"/home/subdancer/%s.dxf",filename.c_str()); dxfExport exp; exp.exportDXF((char*)buff,flaenge,flaeschnitt,fbreite,fbrschnitt,sel.anzahl,sel.abstandx,froben,frrechts,frunten,frlinks); } // PGM EXPORTER // ----------------------------------------------------------------------------- if(m_exportPGM->IsChecked()) { char buff[1028]; char buff1[1028]; #ifdef WIN32 sprintf(buff,"C:\\export\\%s.dft",filename.c_str()); sprintf(buff1,"C:\\export\\%s.tmp",filename.c_str()); #else sprintf(buff,"/home/subdancer/%s.dft",filename.c_str()); sprintf(buff1,"/home/subdancer/%s.tmp",filename.c_str()); #endif dftExport exp; exp.exportDFT((char*)buff,flaenge,flaeschnitt,fbreite,fbrschnitt,sel.anzahl,sel.abstandx,froben,frrechts,frunten,frlinks); tmpExport exp2; exp2.exportTMP((char*)buff1,sel.nummer); m_logctrl->Clear(); sprintf(buff,"C:\\Programme\\cnckad\\Post_151.exe C:\\export\\%s 0",filename.c_str()); m_Console.Execute(buff); wxMessageDialog* msg = new wxMessageDialog(this,_T("Die DFT+TMP Datei wurde an den Postprozessor gesendet"),_T("Datei erfolgreich gesendet!"),wxOK|wxICON_ERROR|wxSTAY_ON_TOP); msg->ShowModal(); return; } } //------------------------------------------------------------------------------