예제 #1
0
        private void button_DrawScara_Click(object sender, EventArgs e)
        {
            Scara s_arm = new Scara();

            s_arm.Base_pt = new Point3D(0, 0, 0);
            s_arm.pt1     = new Point3D(Convert.ToDouble(textBox_Arm1_X.Text),
                                        Convert.ToDouble(textBox_Arm1_Y.Text),
                                        Convert.ToDouble(textBox_Arm1_Z.Text));
            s_arm.pt2 = new Point3D(s_arm.pt1.X + Convert.ToDouble(textBox_Arm2_X.Text),
                                    s_arm.pt1.Y + Convert.ToDouble(textBox_Arm2_Y.Text),
                                    s_arm.pt1.Z + Convert.ToDouble(textBox_Arm2_Z.Text));
            s_arm.pt3 = new Point3D(s_arm.pt2.X + Convert.ToDouble(textBox_Arm3_X.Text),
                                    s_arm.pt2.Y + Convert.ToDouble(textBox_Arm3_Y.Text),
                                    s_arm.pt2.Z + Convert.ToDouble(textBox_Arm3_Z.Text));
            s_arm.armb_1 = Coordinate3D.Point3D.Distance(s_arm.Base_pt, s_arm.pt1);
            s_arm.arm1_2 = Coordinate3D.Point3D.Distance(s_arm.pt1, s_arm.pt2);
            s_arm.arm2_3 = Coordinate3D.Point3D.Distance(s_arm.pt2, s_arm.pt3);
            if (Scara.IsScara(s_arm))
            {
                DrawScara_Paint(sender, null, s_arm);
            }
            else
            {
                MessageBox.Show("Invalid Scara arm parameters!", "Error", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                textBox_Arm1_X.Text = "0"; textBox_Arm1_Y.Text = "0"; textBox_Arm1_Z.Text = "100";
                textBox_Arm2_X.Text = "0"; textBox_Arm2_Y.Text = "100"; textBox_Arm2_Z.Text = "0";
                textBox_Arm3_X.Text = "100"; textBox_Arm3_Y.Text = "0"; textBox_Arm3_Z.Text = "0";
            }
        }
예제 #2
0
 private void DrawScara_Paint(object sender, EventArgs e, Scara s_arm)
 {
     panel_draw_Paint(sender, null);
     Button_ChangeViewAngle_Click(sender, null);
     //drawArmOnView(InvMat, s_arm.Base_pt, s_arm.pt1);
 }