Сообщество программистов Autodesk в СНГ

ADN Club => AutoCAD .NET API => Тема начата: Ese от 26-10-2020, 14:21:31

Название: Как выбрать несколько точек до нажатия Enter
Отправлено: Ese от 26-10-2020, 14:21:31
Добрый день!
Как в команде реализовать цикл для выбора точек GetPonit(), завершающийся нажатием клавиши Enter?
Если напишите код буду очень благодарен.
Название: Re: Как выбрать несколько точек до нажатия Enter
Отправлено: Александр Пекшев aka Modis от 26-10-2020, 14:24:32
Обернуть в while и выполнять пока PromptPointResult == Ok
Название: Re: Как выбрать несколько точек до нажатия Enter
Отправлено: Александр Пекшев aka Modis от 26-10-2020, 14:28:55
Как-то так:
Код - C# [Выбрать]
  1. var points = new List<Point3d>();
  2. while (true)
  3. {
  4.     var r = ed.GetPoint("\nPick point");
  5.     if (r.Status == PromptStatus.OK)
  6.         points.Add(r.Value);
  7.     else
  8.         break;
  9. }

Конечно могут быть другие статусы, в зависимости от задачи, которые нужно по своему обрабатывать
Название: Re: Как выбрать несколько точек до нажатия Enter
Отправлено: avc от 26-10-2020, 14:35:27
Только это будет работать до нажатия ESC
Название: Re: Как выбрать несколько точек до нажатия Enter
Отправлено: Александр Пекшев aka Modis от 26-10-2020, 14:38:51
Только это будет работать до нажатия ESC
Там можно сделать так, чтобы работало и до нажатия Enter
Название: Re: Как выбрать несколько точек до нажатия Enter
Отправлено: Александр Ривилис от 26-10-2020, 15:18:32
Только это будет работать до нажатия ESC
Там можно сделать так, чтобы работало и до нажатия Enter
Код - C# [Выбрать]
  1. var points = new List<Point3d>();
  2. while (true)
  3. {
  4.   var po = new PromptPointOptions("\nPick point") { AllowNone = true };
  5.   var r = ed.GetPoint(po);
  6.   if (r.Status == PromptStatus.OK)
  7.     points.Add(r.Value);
  8.   else if (r.Status == PromptStatus.Cancel) {
  9.     points.Clear();
  10.     break;
  11.   } else
  12.     break;
  13. }
P.S.: Интересно, что в ObjectARX фактически AllowNone = true по умолчанию и его не нужно задавать.
Название: Re: Как выбрать несколько точек до нажатия Enter
Отправлено: Ese от 26-10-2020, 15:32:43
Всем спасибо. Я имел в виду то что у Александра Ривилиса, поторопился с отметкой решения