예제 #1
0
        //DEFAULT CONSTRUCTORS - create movements from different kinds of curves
        public SilkwormMovement(Dictionary <string, string> Settings, Curve curve)
        {
            Polyline      pline  = new Polyline();
            PolylineCurve plinec = new PolylineCurve();

            if (curve.TryGetPolyline(out pline))
            {
            }
            else
            {
                plinec = curve.ToPolyline(0, 0, 0.05, 0.1, 0, 0, 0.1, 0, true);
                //List<Curve> lines = plinec.DuplicateSegments().ToList();
                List <Curve>   lines  = DuplicateSegments(plinec);
                List <Point3d> points = new List <Point3d>();
                points.Add(lines[0].PointAtStart);
                foreach (Curve line in lines)
                {
                    points.Add(line.PointAtEnd);
                }
                pline = new Polyline(points);
            }

            SilkwormMovement s_Movement = new SilkwormMovement(Settings, pline);

            sMovement = s_Movement.sMovement;



            Length   = s_Movement.Length;
            Time     = s_Movement.Time;
            ZDomain  = s_Movement.ZDomain;
            complete = true;

            Configuration = Settings;

            //Add Lift Delimiter
            sDelimiter = new Type.Delimiter(
                double.Parse(Settings["retract_lift"]),
                double.Parse(Settings["retract_length"]),
                double.Parse(Settings["retract_restart_extra"]),
                double.Parse(Settings["retract_speed"]),
                double.Parse(Settings["travel_speed"]));
        }
예제 #2
0
        public SilkwormMovement(Dictionary <string, string> Settings, Polyline polyline)
        {
            List <Line> lines = polyline.GetSegments().ToList();

            SilkwormMovement s_Movement = new SilkwormMovement(Settings, lines);

            sMovement = s_Movement.sMovement;


            Length   = s_Movement.Length;
            Time     = s_Movement.Time;
            ZDomain  = s_Movement.ZDomain;
            complete = true;

            Configuration = Settings;

            //Add Lift Delimiter
            sDelimiter = new Type.Delimiter(
                double.Parse(Settings["retract_lift"]),
                double.Parse(Settings["retract_length"]),
                double.Parse(Settings["retract_restart_extra"]),
                double.Parse(Settings["retract_speed"]),
                double.Parse(Settings["travel_speed"]));
        }