protected virtual void OnRaiseXYEvent(XYEventArgs e) { EventHandler <XYEventArgs> handler = RaiseXYEvent; if (handler != null) { handler(this, e); } }
private void OnRaiseCameraClickEvent(object sender, XYEventArgs e) { if (e.Command == "a") { if (fCTBCode.LinesCount > 1) { VisuGCode.markSelectedFigure(-1); // rotate all figures transformStart(string.Format("Rotate {0:0.00}", e.Angle)); fCTBCode.Text = VisuGCode.transformGCodeRotate(e.Angle, e.Scale, e.Point, false); // use given center transformEnd(); } } else { double realStepX = Math.Round(e.Point.X, 3); double realStepY = Math.Round(e.Point.Y, 3); int speed = 1000; string s = ""; string[] line = e.Command.Split(';'); foreach (string cmd in line) { if (cmd.Trim() == "G92") { s = String.Format(cmd + " X{0} Y{1}", realStepX, realStepY).Replace(',', '.'); sendCommand(s); } else if ((cmd.Trim().IndexOf("G0") >= 0) || (cmd.Trim().IndexOf("G1") >= 0)) // no jogging { s = String.Format(cmd + " X{0} Y{1}", realStepX, realStepY).Replace(',', '.'); sendCommand(s); } else if ((cmd.Trim().IndexOf("G90") == 0) || (cmd.Trim().IndexOf("G91") == 0)) // no G0 G1, then jogging { speed = 100 + (int)Math.Sqrt(realStepX * realStepX + realStepY * realStepY) * 120; s = String.Format("{0} X{1} Y{2} F{3}", cmd, realStepX, realStepY, speed).Replace(',', '.'); if (grbl.isMarlin) { s = String.Format("{0}; G1 X{1} Y{2} F{3}", cmd, realStepX, realStepY, speed).Replace(',', '.'); } sendCommands(s, true); } else { sendCommand(cmd.Trim()); } } } }