АвтоЛИСП - реализация языка программирования

Информация - Компьютеры, программирование

Другие материалы по предмету Компьютеры, программирование

емых команд до выбора какой-либо другой команды. Если пункт меню начинается строкой *^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 после загрузки файла меню с таким же именем.