- •Утверждено
- •Программирование на языке AutoLisp
- •1. Переменные языка AutoLisp
- •1.1 Системные переменные пакета AutoCad
- •1.2 Переменные языка AutoLisp определенные пользователем
- •2. Типы данных языка AutoLisp
- •3. Функции присвоения
- •4.2 Работа со строками, функции преобразования, проверки типов данных.
- •4.3 Логические функции Автолиспа.
- •5. Работа со списками
- •6. Использование функции get для ввода данных.
- •7. Работа с геометрическими описаниями объектов
- •8. Условное ветвление программ
- •9. Организация циклов
- •10. Вызов команд Автокада из программы на языке AutoLisp
- •11. Управление отображением
- •12. Вывод данных в командную строку
- •13. Файловый ввод - вывод
- •14. Определение функции
- •15. Отладка программы.
- •16. Доступ к примитивам и средствам Автокада
- •Функции AutoLisp Математические функции
- •Логические функции Автолиспа.
- •Работа со списками
- •Использование функции get для ввода данных.
- •Работа с геометрическими описаниями объектов
- •Условное ветвление программ
- •Организация циклов
- •Вызов команд Автокада из программы на языке AutoLisp
- •Управление отображением
- •Вывод данных в командную строку
- •Файловый ввод - вывод
- •Доступ к примитивам и средствам Автокада
- •Insert (block)
- •Vertex (pline)
11. Управление отображением
Из AutoLISP можно управлять некоторыми режимами графического редактора не обращаясь к функциям Автокада. К встроенным функциям языка AutoLisp управляющим графическим редактором, можно отнести следующие функции:
(graphscr)
Переключает экран из текстового режима в графический.
(textscr)
Переключает экран из графического режима в текстовый)
(redraw имя_примитива режим)
Действие данной функции зависит от количества аргументов. Если аргументов нет, то она перерисовывает текущий видовой экран, как это делает команда REDRAW: если она вызывается с аргументом имя_примитива, то перерисован будет только этот выбранный примитив. Эту функцию часто используют для идентификации примитива на экране после использования функции Автокада GRCLEAR (имена примитивов описаны в разде-ле "Доступ к примитивам и средствам Автокада"). Полный контроль за перерисовкой примитива обеспечивается заданием параметра режим, который может принимать одно из следующих значений:
режим REDRAW |
Действие |
1 |
Перерисовывает примитив на экране |
2 |
Не рисует примитив (стирает) |
3 |
Подсвечивает примитив {если позволяет дисплей) |
4 |
Перестает подсвечивать примитив (если позволяет дисплей) |
Если имя примитива - заголовок сложного примитива (полилинии или блока с атрибутами). то в процессе перерисовки будут участвовать как основной примитив, так и все подпримитивы при условии, что аргумент режим положительный. Если же аргумент режим отрицателен, то в процессе выполнения функции REDRAW будет участвовать только основной примитив. Функция REDRAW всегда возвращает nil.
12. Вывод данных в командную строку
Для вывода данных в командную строку используются функции PRIN1, PRINC, PRINT и PROMPT, для начала новой строки в командной зоне экрана - функция TЕRPRI:
(рrin1 выражение дескриптор_файла)
Выражение выводится на экран и возвращается в AutoLISP. Если указан дескриптор файла (понятие “дескриптор файла” дано в гл. 11) и файл открыт для записи, то запись идет сразу на два устройства: на экран и в файл. Печатается только указанное выраже-ние: перехода на новую строку не осуществляются, и никакие пробелы не печатаются.
(princ выражение дескриптор_файла)
То же, что PRIN1, но управляющие символы не расшифровываются, а выводятся на экран.
(print выражение дескриптор_файла)
То же. что prin1, но перед печатью осуществляется переход на новую строку.
(prompt строка_символов)
Выводит сообщение (строку_символов) в командную строку и возвращает nil.
(terpri)
Печатает новую строку на экране и возвращает nil. Особенно удобно использовать её в макроопределениях меню Автокада. Для ввода/вывода файлов не применяется (для вывода строки в файл используйте PRINT или PRINC).