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

ADN Club => Civil 3D API => Тема начата: Дмитрий Загорулькин от 27-03-2019, 17:07:44

Название: Странное поведение ключевых слов в Civil 3D
Отправлено: Дмитрий Загорулькин от 27-03-2019, 17:07:44
Здравствуйте!
Проверил во всех имеющихся у меня на ПК версиях - 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.  
Видео безобразия:
Название: Re: Странное поведение ключевых слов в Civil 3D
Отправлено: Александр Ривилис от 27-03-2019, 18:59:55
Я с этим сталкивался и в чистом AutoCAD. Причина мне непонятна. Но похоже на баг.
Название: Re: Странное поведение ключевых слов в Civil 3D
Отправлено: Дмитрий Загорулькин от 28-03-2019, 11:08:22
Ага! Значит, на этот раз, это "общеавтокадовское" поведение!  :)
В DevHelp не писали? Меня, на самом деле, это не сильно напрягает. Но сообщить, наверное, стоит.
Название: Re: Странное поведение ключевых слов в Civil 3D
Отправлено: Александр Ривилис от 28-03-2019, 11:10:51
В DevHelp не писали?
Еще нет, но напишу.
Название: Re: Странное поведение ключевых слов в Civil 3D
Отправлено: Александр Ривилис от 28-03-2019, 15:46:33
Дмитрий Загорулькин,
Хм. Только что проверил в AutoCAD 2018, 2019 и 2020 - такое поведение НЕ воспроизводится. Пока не могу понять в чем дело. Точно помню, что с этим сталкивался.