Перепечатка со ссылки http://book.by.ru/cgi-bin/book.cgi?book … 1007438933
С контекстными меню Автодеск перемудрил. Когда, во время работы команды вызывается контекстное меню, то Автокад делает так:
1. Заглядывает в раздел
.
***POP503
**CMCOMMAND
[Context menu for command mode]
ID_Enter [&Enter];
ID_Cancel [&Cancel]^C
[--]
ID_Pan [$(if,$(eq,$(substr,$(getvar,cmdnames),1,4),ZOOM),~,)&Pan]'_pan
ID_ZoomRealt [$(if,$(eq,$(substr,$(getvar,cmdnames),1,4),ZOOM),~,)&Zoom]'_zoom ;
.
К этому постоянному содержанию АВТОМАТИЧЕСКИ добавляет прошитые в команду опции командной строки, то есть то, что в квадратных скобках и разделено слэшами.
.
Именно это и появляется в контекстном меню ниже постоянных пунктов. Опции передаются в виде первых букв, нигде в меню не прописаны.
.
Чтобы как-то управлять этим надо
1. Найти подраздел
**CMCOMMAND
(в нем постоянная часть меню)
.
2. Подправить, если надо
.
3. Для нужных команд написать свои подразделы (можно скопировать из экранных боковых меню). При этом имя раздела должно иметь вид
**COMMAND_ИМЯ_КОМАНДЫ
Например,
.
**COMMAND_PLINE
[Дуга ]_a
[Замкни ]_c
[Полуширина ]_h
[Длина ]_l
[Отмени ]_u
[Ширина ]_w
[Угол ]_a
[Центр ]_ce
[Замкни ]_cl
[Отрезок ]_l
и т.д.
.
Вот теперь это содержание будет появляться в контекстном меню и в командную строку будут передаваться определенные в нем опции.
.
Однако родное кривое меню также будет входить в содержание, и как с этим бороться я пока не понял. Может кто подскажет??