internal override void BuildPlan(PlanBuilder3D builder, MillingWorkspacePanel workspace) { /* * for (var i = 0; i < 100; ++i) * { * builder.AddRampedLine(new Point3Dmm(PositionX , PositionY, builder.ZeroLevel + 5)); * builder.AddRampedLine(new Point3Dmm(PositionX, PositionY, builder.ZeroLevel)); * } * return; */ var maxZ = _toolPath.Targets.Select(t => t.End.Z).Max(); var minZ = _toolPath.Targets.Select(t => t.End.Z).Min(); foreach (var target in _toolPath.Targets) { var p = target.End; var p3Dmm = new Point3Dmm(p.X + PositionX, -p.Y + PositionY, -p.Z + builder.ZeroLevel); if (target.MotionMode == MotionMode.IsLinearRapid) { //builder.AddRampedLine(new Point3Dmm(p3Dmm.X, p3Dmm.Y, builder.ZeroLevel)); builder.AddRampedLine(p3Dmm); //builder.AddCuttingLine(p3Dmm); } else { builder.AddCuttingLine(p3Dmm); } } builder.AddRampedLine(getEntryPoint()); }