예제 #1
0
 // URscript control
 private void Generate_Click(object sender, RoutedEventArgs e)
 {
     if ((point1 != null) && (point2 != null) && (point3 != null))
     {
         var    scanmove = new URMovement(point1, point2);
         var    boundary = new RectangularBoundary(scanmove, point3);
         double aperture = 0.06;
         double overlap  = 0.1;
         var    urMoves  = PathPlanner.SStyle(boundary, aperture, overlap);
         var    safeDist = new URVector(new Vector3D(0, 0, 0.02), new Vector3D(0, 0, 0));
         URScriptTextBox.Text = URScript.Generate("cscan", urMoves, safeDist);
     }
 }
예제 #2
0
        public void Generate_ShouldGenerateCorrectScript()
        {
            string             name  = "test";
            URPose             pose1 = new URPose(new Point3D(-1, 1, 0), new Point3D(0, 0, 0));
            URPose             pose2 = new URPose(new Point3D(1, 1, 0), new Point3D(0, 0, 0));
            URPose             pose3 = new URPose(new Point3D(1, -1, 0), new Point3D(0, 0, 0));
            URPose             pose4 = new URPose(new Point3D(-1, -1, 0), new Point3D(0, 0, 0));
            List <IURMovement> moves = new List <IURMovement>();

            moves.Add(new URMovement(pose1, pose2));
            moves.Add(new URMovement(pose3, pose4));


            URVector safe = new URVector(new Vector3D(0, 0, 1), new Vector3D(0, 0, 0));

            var actual = URScript.Generate(name, moves, safe);

            var expected =
                "def test():\n" +
                "  movel(p[-1, 1, 1, 0, 0, 0], a=0.5, v=0.3)\n" +
                "  sleep(0.5)\n" +
                "  force_mode(p[0.0,0.0,0.0,0.0,0.0,0.0], [0, 0, 1, 0, 0, 0], [0.0, 0.0, -70.0, 0.0, 0.0, 0.0], 2, [0.1, 0.1, 0.15, 0.3490658503988659, 0.3490658503988659, 0.3490658503988659])\n" +
                "  movel(p[-1, 1, 0, 0, 0, 0], a=0.1, v=0.02)\n" +
                "  sleep(1)\n" +
                "  movel(p[1, 1, 0, 0, 0, 0], a=0.1, v=0.02)\n" +
                "  end_force_mode()\n" +
                "  sleep(0.5)\n" +
                "  movel(p[1, 1, 1, 0, 0, 0], a=0.1, v=0.1)\n" +
                "  movel(p[1, -1, 1, 0, 0, 0], a=0.5, v=0.3)\n" +
                "  sleep(0.5)\n" +
                "  force_mode(p[0.0,0.0,0.0,0.0,0.0,0.0], [0, 0, 1, 0, 0, 0], [0.0, 0.0, -70.0, 0.0, 0.0, 0.0], 2, [0.1, 0.1, 0.15, 0.3490658503988659, 0.3490658503988659, 0.3490658503988659])\n" +
                "  movel(p[1, -1, 0, 0, 0, 0], a=0.1, v=0.02)\n" +
                "  sleep(1)\n" +
                "  movel(p[-1, -1, 0, 0, 0, 0], a=0.1, v=0.02)\n" +
                "  end_force_mode()\n" +
                "  sleep(0.5)\n" +
                "  movel(p[-1, -1, 1, 0, 0, 0], a=0.1, v=0.1)\n" +
                "end\n";


            Assert.Equal(expected, actual);
        }