Странное поведение ключевых слов в Civil 3D

Автор Тема: Странное поведение ключевых слов в Civil 3D  (Прочитано 5143 раз)

0 Пользователей и 2 Гостей просматривают эту тему.

Оффлайн Дмитрий ЗагорулькинАвтор темы

  • ADN
  • *
  • Сообщений: 2531
  • Карма: 738
Здравствуйте!
Проверил во всех имеющихся у меня на ПК версиях - 2014, 2017 и 2019. Во всех этих версиях присутствует странное поведение ключевых слов. Проявляется ситуация в случае, когда используется метод Editor.GetKeyword при выборе ключевого слова щелчком мыши в командной строке. Для выбора нужной опции почему-то вместо одного щелчка нужно делать два! В аналогичной ситуации при использовании любого другого метода (например Editor.GetPoint) для выбора достаточно одного щелчка.
В чём может быть проблема?
Код для опытов:
Код - C# [Выбрать]
  1. using Autodesk.AutoCAD.ApplicationServices;
  2. using Autodesk.AutoCAD.EditorInput;
  3. using Autodesk.AutoCAD.Runtime;
  4.  
  5. namespace AcadTest
  6. {
  7.     public class KeywordsTest
  8.     {
  9.         [CommandMethod("RunKeywordTest")]
  10.         public void Run()
  11.         {
  12.             Editor ed = Application.DocumentManager.MdiActiveDocument.Editor;
  13.             PromptKeywordOptions opts = new PromptKeywordOptions("\nSelect option: ");
  14.             opts.Keywords.Add("Option1");
  15.             opts.Keywords.Add("oPtion2");
  16.             opts.Keywords.Add("opTion3");
  17.             opts.Keywords.Add("optIon4");
  18.             opts.Keywords.Add("optioN5");          
  19.             var res = ed.GetKeywords(opts);
  20.             if (res.Status == PromptStatus.OK)
  21.             {
  22.                 ed.WriteMessage("\nSelected option: {0}", res.StringResult);
  23.             }
  24.         }
  25.  
  26.         [CommandMethod("RunKeywordTest1")]
  27.         public void Run1()
  28.         {
  29.             Editor ed = Application.DocumentManager.MdiActiveDocument.Editor;
  30.             PromptPointOptions opts = new PromptPointOptions("\nSelect point or option: ");
  31.             opts.Keywords.Add("Option1");
  32.             opts.Keywords.Add("oPtion2");
  33.             opts.Keywords.Add("opTion3");
  34.             opts.Keywords.Add("optIon4");
  35.             opts.Keywords.Add("optioN5");
  36.             var res = ed.GetPoint(opts);
  37.             if (res.Status == PromptStatus.Keyword)
  38.             {
  39.                 ed.WriteMessage("\nSelected option: {0}", res.StringResult);
  40.             }
  41.         }
  42.     }
  43. }
  44.  
Видео безобразия:

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13886
  • Карма: 1788
  • Рыцарь ObjectARX
  • Skype: rivilis
Я с этим сталкивался и в чистом AutoCAD. Причина мне непонятна. Но похоже на баг.
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн Дмитрий ЗагорулькинАвтор темы

  • ADN
  • *
  • Сообщений: 2531
  • Карма: 738
Ага! Значит, на этот раз, это "общеавтокадовское" поведение!  :)
В DevHelp не писали? Меня, на самом деле, это не сильно напрягает. Но сообщить, наверное, стоит.

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13886
  • Карма: 1788
  • Рыцарь ObjectARX
  • Skype: rivilis
В DevHelp не писали?
Еще нет, но напишу.
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13886
  • Карма: 1788
  • Рыцарь ObjectARX
  • Skype: rivilis
Дмитрий Загорулькин,
Хм. Только что проверил в AutoCAD 2018, 2019 и 2020 - такое поведение НЕ воспроизводится. Пока не могу понять в чем дело. Точно помню, что с этим сталкивался.
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение