- •Функции autolisp
- •Арифметические функции
- •Логические функции
- •Функции вычислений
- •Функции преобразования данных
- •Функции обработки строк
- •Функции обработки списков и точечных пар
- •Функции ввода данных и указания объектов
- •Функции печати, вывода сообщений и доступа к файлам
- •Функции доступа к примитивам AutoCad
- •Функции работы с памятью, приложениями и реестром Windows
- •Графические примитивы autocad в функции «command»
- •Бесконечная прямая линия
- •Многоугольник
- •Мультилиния
- •Окружность
- •Отрезок
- •Полилиния
- •Прямоугольник
- •Размеры
- •Цвет (установка текущего рабочего цвета)
- •Штриховка
- •Системные переменные autocad
- •Примеры использования элементов диалоговых окон
Функции ввода данных и указания объектов
initget – задает ограничения последующего ввода данных. Вызов функции initget предшествует в программе обращениям к функциям ввода данных. При отсутствии вызова функции initget ограничения на ввод данных не устанавливаются.
Например:
(initget 1) не разрешает пустой ввод, то есть нажатие только клавиши ENTER;
(initget 4) не разрешает ввод отрицательных чисел.
getkword – ввод допустимого ключевого слова.
(setq b (getkword “\n Выполнить … ? [Да/Нет]: ”))
Переменной b будет присвоено значение “Да” или “Нет”.
Строка в кавычках (кроме символов \n) появляется в командной строке AutoCAD в качестве приглашения к вводу данных. Символы \n служат для перехода на новую строку.
getint – ввод целого числа.
(setq b (getint “\n Введите …”))
Введенное число сохранится в переменной b.
getreal – ввод вещественного числа.
(setq b (getreal “\n Введите …”))
getdist – получение в интерактивном режиме расстояния между двумя точками (двумерными или трехмерными).
(setq b (getdist “\n Введите …”)) – получение расстояния указанием двух точек мышью или вводом координат с клавиатуры.
(setq b (getdist ‘(15.0 30.0) “\n Введите …”)) – получение расстояния указанием одной точки мышью или вводом координат с клавиатуры. Координаты первой точки уже указаны в тексте программы.
При вводе точек с клавиатуры координаты друг от друга отделяются запятыми.
getangle – получение в интерактивном режиме угла (в радианах) между нулевым направлением и направлением от точки1 до точки2 (точки могут быть двумерными или трехмерными).
(setq b (getangle “\n Введите …”)) – получение угла указанием двух точек мышью или вводом координат с клавиатуры.
(setq b (getangle ‘(15.0 30.0) “\n Введите …”)) – получение угла указанием одной точки мышью или вводом координат с клавиатуры. Координаты первой точки уже указаны в тексте программы.
Результаты работы функции зависят от установок системных переменных ANGBASE (задание нулевого направления) и ANGDIR (задание направления для положительных углов).
getorient – получает угол как функция getangle, однако системные переменные ANGBASE и ANGDIR игнорируются (т. е. как будто их значения равны 0).
getpoint – ввод точки с клавиатуры или мышью.
(setq b (getpoint “\n Введите …”))
При вводе точки с клавиатуры координаты друг от друга отделяются запятыми.
getcorner – ввод точки с клавиатуры или мышью.
(setq b (getcorner ‘(15.0 30.0) “\n Введите …”))
При указании точки мышью рисуется прямоугольная резиновая рамка, начинающаяся в заданной точке.
getstring – ввод строки.
(setq b (getstring T “\n Введите …”)) – во вводимой строке допускаются пробелы. Признаком окончания ввода является нажатие на клавишу ENTER.
(setq b (getstring nil “\n Введите …”)) – во вводимой строке не допускаются пробелы. Признаком окончания ввода является нажатие на клавишу ПРОБЕЛ или ENTER.
getvar – чтение значения системной переменной.
(getvar “имясистемнойпеременной”)
Например, (setq b (getvar “Angbase”))
setvar – установка значения системной переменной.
Например, (setvar “Angbase” 0.0)
getenv – чтение значения переменной окружения AutoCAD или Windows.
setenv – установка нового значения переменной окружения AutoCAD или Windows.
getcfg – извлекает данные приложения из раздела AppData файла конфигурации (например, для AutoCAD версии 2006 это файл acad2006.cfg).
setcfg – записывает данные приложения в раздел AppData файла конфигурации.
getcname – получает имя команды в русифицированной версии AutoCAD.
(setq b (getcname “_Line”)) – в переменной b сохранится значение “ОТРЕЗОК”.
getfiled – вызов диалогового окна выбора файла.
acad_colordlg – вызов диалогового окна для выбора цвета из палитры в диапазоне 0 … 250. Окно открывается только с одной вкладкой.
acad_truecolordlg – вызов диалогового окна с полной палитрой для выбора цвета.
acad_truecolorcli – запрос цвета из полной палитры в режиме командной строки.
