Обучение AutoLISP в 8 уроках


Обучение AutoLISP в восьми уроках - стр. 26


 
Если AutoLISP генерирует сообщение об ошибке при загрузке  файла,
Вы должны отредактировать файл и устранить проблему.
 
ВЫЗОВ КОМАНДЫ AutoCAD ИЗ AUTOLISP
 
Очень популярная подпрограмма AutoLISP для определяемых пользова-
телем  функций  может  создавать  сокращенные  имена  для  команд
AutoCAD, и объединять две или больше команд ( или команду  и  оп-
ции ) в одиночную команду.
 
Функция  COMMAND  вызывает  команды  AutoCAD  непосредственно  из
AutoLISP. COMMAND берет строковый аргумент  который  должен  быть
именем команды AutoCAD и любых ее параметров, которые должны быть
переданы в командную строку AutoCAD.
 
Например, эта форма вызывает команду Line и чертит линию  от  1,1
до 5,5. Форма возвращает нуль, потому что функция COMMAND  всегда
возвращает нуль. Вообще, побочный эффект формы COMMAND еще  более
интересен чем значение.
 
    Command: (command "LINE" "1,1" "5,5" "")
    nil
 
Нулевой параметр строки в конце списка параметров  обрабатывается
как возврат каретки командой Line ( или любой командой ).
 
Кроме строковых аргументов для опций к  командам,  COMMAND  будет
принимать вещественные или целые числа в соответствующих  местах,
наряду с списками двух или  трех  вещественных  числ  как  точек.
COMMAND также принимает переменные с соответствующими значениями.
 
Ниже другой способ начертания линии от 1,1 до 5,5.
 
    (command "LINE" (quote (1.0 1.0)) (quote (5.0 5.0)) "")
 
В примере ниже, три формы используются  чтобы  начертить  круг  с
центральной точкой, выбранной пользователем  и  радиусом  в  1.5.
Первые две формы используются чтобы собрать и сохранить данные, а
последняя - чтобы вызвать команду Circle и использовать предвари-
тельно сохраненные переменные как параметры к функции COMMAND.
 
    Command: (setq pt1 (getpoint "\nCenter: "))
    Center: <pick>
 
    Command: (setq rad (getdist pt1 "\nRadius: "))



Начало  Назад  Вперед