private void backgroundWorkerGetFeeder_DoWork(object sender, DoWorkEventArgs e) { // get current position, move to feeder, pick component and return to previous position BackgroundWorker worker = sender as BackgroundWorker; double currentx = Double.Parse(Script.GetParam("XDRO").ToString()); double currenty = Double.Parse(Script.GetParam("YDRO").ToString()); SetFeederOutputs(currentfeeder); double feederPosX = cf.GetfeederPosX(currentfeeder.ToString()); double feederPosY = cf.GetfeederPosY(currentfeeder.ToString()); double feederPosZ = cf.GetfeederPosZ(currentfeeder.ToString()); RunMach3Command(Script, "F" + ribbonTextBoxFeedRate.TextBoxText); ChangeVacOutput(1, false); RunMach3Command(Script, "G01 A" + CalcAZHeight(ClearHeight)); RunMach3Command(Script, "G01 X" + feederPosX.ToString() + " Y" + feederPosY); CheckFeederReady(); RunMach3Command(Script, "G01 A" + CalcAZHeight(feederPosZ)); // go down and turn on suction ChangeVacOutput(1, true); RunMach3Command(Script, "G01 A" + CalcAZHeight(ClearHeight)); RunMach3Command(Script, "G01 X" + currentx.ToString() + " Y" + currenty.ToString()); //worker.ReportProgress(1); }
private void doJOG(string direction, bool goplus) { double currentpos = 0.0; // MessageBox.Show(direction); switch (direction) { case "Y": currentpos = Double.Parse(Script.GetParam("YDRO").ToString()); break; case "X": currentpos = Double.Parse(Script.GetParam("XDRO").ToString()); break; case "Z": currentpos = Double.Parse(Script.GetParam("ZDRO").ToString()); break; case "A": currentpos = Double.Parse(Script.GetParam("ADRO").ToString()); break; case "B": currentpos = Double.Parse(Script.GetParam("BDRO").ToString()); break; case "C": currentpos = Double.Parse(Script.GetParam("CDRO").ToString()); break; default: break; } // if (currentpos >= 5) //{ RunMach3Command(Script, "F3000"); if (goplus) { RunMach3Command(Script, "G01 " + direction + "" + (currentpos + 5)); } else { RunMach3Command(Script, "G01 " + direction + " " + (currentpos - 5)); } //} }