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

ADN Club => AutoCAD .NET API => Тема начата: avc от 02-11-2016, 16:46:17

Название: Список зарезервированных ключевых слов
Отправлено: avc от 02-11-2016, 16:46:17
Есть несколько ключевых слов, которые нельзя использовать в опциях Editor.GetSelection, т.к. они зарезервированы и вызывают скрытые опции выбора объектов. Соответственно надо писать свои опции не используя первых букв этих слов. Проблема возникает когда пользователь ставит мой плагин на неизвестную мне локализацию Автокада. Опции от английской версии могут не работать. Я уже узнал список зарезервированных ключевых слов для нескольких локализаций вот они:
        En: W L C B ALL F WP CP G A R M P U AU SI
        Ru: Р П С БОКС В Л РМ СМ Г Д И Н Т О А Е
        It: F U I R T NT FP IP G AG E M P A AU SI SU O
        Ge: F L K QUADER ALLE ZA FP KP G H E M V ZU AU EI
Хотелось бы узнать эти буковки для всех остальных официальных локализаций. Точнее волнуют только языки в которых используется латиница - иероглифами я писать не планирую :)
(p.s. я без понятия, что за команду вызвал итальянец, что у него получилось 18 ключей, у всех остальных 16)

Update
Тем, кто делает плагины под любую локализацию может пригодится следующая табличка:

Язык           Русский   English   Italiano   Deutsch
LCID              1049   1033   1040   1031
Имя файла   Чертеж1   Drawing1   Disegno1   Zeichnung1

Св-ва
                    ПоСлою   ByLayer   DaLayer   VonLayer
                   ПоБлоку   ByBlock   DaBlocco   VonBlock

Слои ModelDoc
                   MD_Аннотация   MD_Annotation   MD _Annotation   MD_Beschriftung
                    MD_Штриховка   MD_Hatching   MD_Hatching   MD_Schraffur
                   MD_Скрытие линий   MD_Hidden   MD_Nascosta   MD_Verdeckt
                   MD_Видимые   MD_Visible   MD_Visibile   MD_Sichtbar

Linetype из acadiso.lin
                   Continuous   Continuous   Continuous   Continuous
                   рант   BORDER   BORDO   RAND
                   осевая   CENTER   CENTRO   MITTE
                   штриховая   DASHED   TRATTEGGIATA   STRICHLINIE
                   штрихпунктирная   DASHDOT   TRATTOPUNTO   STRICHPUNKT
                   пунктирная   DOT   PUNTO   PUNKT
                   невидимая   HIDDEN   NACOSTA    VERDECKT
                    фантом   PHANTOM   FANTASMA   PHANTOM

Примечания:
Плагин ModelDoc ищет свои слои сначала английские, потом локализованные и если не находит - тогда создает локализованные. Вполне логичное поведения - я в своих плагинах буду делать так же.
Типы линий ModelDoc не загружает из acadiso.lin, а создает новые с нелокализованными именами. Поэтому при поиске типов линий, надо обязательно сначала искать их английский вариант.
Типы линий ...2 и ...X2 переведены так же, но на одном компе я обнаружил, что - почему-то не локализован CENTER2.
Название: Re: Список зарезервированных ключевых слов
Отправлено: Александр Ривилис от 02-11-2016, 17:19:53
Есть несколько ключевых слов, которые нельзя использовать в опциях Editor.GetSelection
Объясни как ты используешь опции для GetSelection, что у тебя возникает конфликт.
Название: Re: Список зарезервированных ключевых слов
Отправлено: Александр Ривилис от 02-11-2016, 17:21:06
Хотелось бы узнать эти буковки для всех остальных официальных локализаций.
Ну это вряд ли. Никто не будет специально ставить все версии, чтобы проверять локализации опций.
Название: Re: Список зарезервированных ключевых слов
Отправлено: avc от 02-11-2016, 18:27:25
Добавляю как PromptSelectionOptions.Keywords.Add. И проверяю потом в KeywordInput. А есть еще варианты?
Я собственно потому и спрашиваю, что мне лень выкачивать все локализации, ставить и смотреть, что там зарезервировано. Думаю, может кто-то у же делал это или где-то уже опубликовано. Если полный список тут опубликовать - будет полезно всем, не только мне. А учитывать этот момент надо. Если французы английский плагин из принципа не поставят, то немцы на свой немецкий Автокад ставят в массовом порядке - это из личного опыта.
Название: Re: Список зарезервированных ключевых слов
Отправлено: avc от 02-11-2016, 18:38:08
На случай, если кто не знает как этот список получить, я для себя такой способ придумал:
начинаем любую команду Автокада, которая подразумевает выбор более чем 1 объекта. например, Move.
Далее вместо выбора вводим в консоль любой ошибочный параметр, которого точно нет. Например, плюсик.
Автокад ругается, что нет такой опции у команды и пишет, какие опции можно использовать. Это и есть эти самые секретные скрытые ключевые слова, которые обычно не отображаются.
Не исключаю, что есть способ всегда их отображать.
Название: Re: Список зарезервированных ключевых слов
Отправлено: Александр Ривилис от 02-11-2016, 18:42:10
У тебя много своих ключевых слов? Вообще советую просто использовать в качестве ключевых слов сочетания как минимум трех больших латинских букв - думаю, что не промахнёшься.
Название: Re: Список зарезервированных ключевых слов
Отправлено: avc от 02-11-2016, 18:45:51
Чем больше заглавных букв, тем конечно меньше вероятность конфликта. Но вот есть же в немецком ALLE и в английском ALL - можно и налететь...