АвтоЛИСП - реализация языка программирования
Информация - Компьютеры, программирование
Другие материалы по предмету Компьютеры, программирование
емых команд до выбора какой-либо другой команды. Если пункт меню начинается строкой *^C^C (следующей сразу за заголовком пункта), то он запоминается и будет автоматически вводиться в ответ на подсказку Command: до тех пор, пока не будет прерван нажатием или выбором другого пункта меню. ^C нельзя использовать внутри пунктов меню, начинающихся со строки *^C^C, т.к. при этом прерывается повтор пункта меню.
В файлах меню используются следующие управляющие последовательности символов:
*** - указывает заголовок раздела;
** - указывает метку раздела подменю;
[] - ограничивает заголовки для экранного, падающих, курсорного меню, пунктов меню, графических меню, имен слайдов или текста;
; - выдает нажатие клавиши ;
^M - выдает нажатие клавиши ;
^I - выдает нажатие клавиши ;
\ - выдает паузу для ввода пользователем;
_ - переводит следующую за ним команду и ключевое слово АвтоКАД;
+ - продолжает макрос на следующей строке, если является последним символом в строке
=* - выводит текущую пиктограмму, падающее или курсорное меню на экран;
*^C^C - префикс для повтора пункта;
$ - специальный код, используемый для указания АвтоКАДу загрузить раздел меню;
^B - переключает режим ШАГ;
^C - отменяет выполнение команды;
^D - переключает режим отображения координат;
^E - устанавливает следующую плоскость изометрии;
^G - переключает режим СЕТКА;
^H - выдает нажатие клавиши ;
^O - переключает режим ОРТО;
^P - переключает переменную MENUECHO;
^Q - переключает вывод эхо всех запросов, сообщений и вводов на принтер;
^T - переключает режим ПЛАНШЕТ;
^V - изменяет текущий видовой экран.
Для создания пунктов меню, предназначенных для решения сложных задач, можно использовать возможности символов и S-выражений языка АвтоЛИСП. Например, S-выражение, обеспечивающее вычерчивание прямоугольной ломаной с указанием точек в качестве ее углов:
[BOX](setq a (getpoint Enter first corner:));\+
(setq b (getpoint Enter second corner:));\+
pline !a (list (car a) (cadr b)) !b (list (car b) (cadr a)) c;
В АвтоКАДе допускается использование до 255 символов в ЛИСП-коде в файлах меню. В случае более длинных кодов их следует разбивать с помощью точки с запятой (;), чтобы АвтоКАД мог считывать и использовать их отдельными блоками.
Для более удобного и эффективного использования АвтоЛИСПа в меню можно разместить ЛИСП-процедуры в отдельных файлах и использовать файл автоматической загрузки с расширением .mnl. Основным содержанием данных файлов являются функции load. АвтоКАД автоматически загружает файл .mnl после загрузки файла меню с таким же именем.