Полезное:
Как сделать разговор полезным и приятным
Как сделать объемную звезду своими руками
Как сделать то, что делать не хочется?
Как сделать погремушку
Как сделать так чтобы женщины сами знакомились с вами
Как сделать идею коммерческой
Как сделать хорошую растяжку ног?
Как сделать наш разум здоровым?
Как сделать, чтобы люди обманывали меньше
Вопрос 4. Как сделать так, чтобы вас уважали и ценили?
Как сделать лучше себе и другим людям
Как сделать свидание интересным?
Категории:
АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника
|
Определение новых командСоздадим простую и полезную функцию, которая бы объединяла команду Zoom с опцией Window.
В этом примере, специальное ключевое слово AutoLISP pause ис- пользуется как аргумент для функции COMMAND. Pause останавливает оценку выражения и позволяет пользователю ответить на текущее приглашение в командной строке. Наберите этот код в новом текстовом файле, назвав его ZW.LSP, а затем загрузите файл в AutoCAD.
(Defun ZW() (command "ZOOM" "Window" pause pause) )
Command: (appload "ZW") ZW
Command: (zw) First corner: <pick> Other corner: <pick> nil
Недостаток этой функции - некоторое неудобство при вызове ее как формы, то-есть надо набрать ее имя в круглых скобках и вызывать ее как функцию AutoLISP. Это требование означает дополнительный набор на клавиатуре конечным пользователем, и потребность помнить, какие команды заключены в круглые скобки и какие нет. AutoLISP позволяет создавать определяемые пользователем функции, которые могут вызываться из командной строки без того, чтобы пе-редавать их как формы, то-есть без того, чтобы включать имя функции в круглые скобки. Перед именем функции должен быть префикс C:, как иллюстрируется ниже. Добавьте этот код к новому текстовому файлу назвав его ZW.LSP. Загрузите файл.
(defun C:ZW () (command "ZOOM" "Window" pause pause) ) Command: (appload "zw") C:ZW Command: ZW or Command: (C:ZW)
Ниже пример новой команды AutoCAD названной CD. CD чертит окружности по центральной точке и диаметру.
Добавьте этот код к новому текстовому файлу названному CD.LSP. Загрузите файл.
(defun C:CD () (command "CIRCLE" pause "Diameter" pause) )
Command: (appload "cd") C:CD
Command: CD или Command: (C:CD)
Вопросы:
1. Что такое подпрограммы в AutoLISP? 2. Что такое форма в AutoLISP? 3. Каково различие между формой и списком (или сложным выражением), что должно обрабатываться строго как данные? 4. Какой вид атома должен всегда быть первым элементом в любой форме? 5. Какая подпрограмма AutoLISP позволяет пользователю создавать его собственные функции? 6. Каковы два требуемых параметра функции, обсуждаемой в пункте 5? 7. Каковы необязательные параметры функции обсуждаемой в пункте 5? 8. Какое значение возвращается определяемой пользователем фун- кцией? 9. Как Вы можете использовать внешний файл, который содержит код AutoLISP в AutoCAD? 10. Какое ключевое слово позволяет пользователю отвечать на зап- росы, сгенерированные командами AutoCAD, вызываемыми функцией COMMAND AutoLISP? 11. Как можно устранить необходимость для пользователя вызывать функцию включая ее имя в круглых скобках? 12. Какая функция будет возвращать пустую строку если она включе- на как последнее выражение в определении функции? 13. Как может пользователь определить, требуется ли функции пара- метр? 14. Где используются значения требуемых параметров внутри выраже- ний, которые включают команды обработки определенной пользовате- лем функции?
|