public ProcessCommand Play(ITechProcess techProcess, int commandIndex) { var commands = techProcess.ProcessCommands.Skip(commandIndex).ToList(); Acad.CreateProgressor("Проигрывание обработки"); Acad.SetLimitProgressor(commands.Count); foreach (var command in commands) { Acad.RegenToolObject(techProcess.Tool, command.HasTool, command.ToolLocation, techProcess.MachineType == MachineType.Donatoni); if (!Acad.ReportProgressor(false)) { SelectProcessCommand(techProcess, command); return(command); } System.Threading.Thread.Sleep(30); } Acad.CloseProgressor(); return(commands.First()); }
private void bPlay_Click(object sender, EventArgs e) { toolStrip.Enabled = false; Acad.CreateProgressor("Проигрывание обработки"); Acad.SetLimitProgressor(processCommandBindingSource.Count - processCommandBindingSource.Position); while (processCommandBindingSource.Position < processCommandBindingSource.Count - 1 && Acad.ReportProgressor(false)) { processCommandBindingSource.MoveNext(); System.Threading.Thread.Sleep((int)((ProcessCommand)processCommandBindingSource.Current).Duration * 10); } Acad.CloseProgressor(); toolStrip.Enabled = true; }