Auto CAD

AutoLISP на примерах: идем вперед


Примеры AutoLISP, которые я привел в главе 8,— упрощенные, но это не означает, что они бесполезны. На самом деле только с помощью этих примеров вы сможете создать сотни новых, полезных команд AutoCAD. Но вскоре вам, вероятно, захочется написать функции, требующие более сложной структуры, чем приведенные в предыдущей главе. В данной главе вы сможете "нарастить мускулы" и не только узнаете о более сложных функциях, но и познакомитесь с двумя понятиями, очень важными для ваших будущих успехов в программировании: обработкой ошибок и комментированием.

В первую очередь давайте рассмотрим причины неудовлетворенности при создании собственных программ. Если программа не работает, как найти ошибку?

     Отладка программы

     Обработка ошибок

     Комментирование

     Выбор объектов

     Функция IF

     Функция WHILE

     Функции COND, INITGET И GETKWORD

     Манипуляции с текстом и строками

     DOS и AutoLISP

Отладка программы

Программы, которые вы тестировали в главе 8, были достаточно простыми, поэтому у вас, скорее всего, не возникло проблем с их запуском. Тем не ме

нее если вы начнете писать более сложные программы, то будете вынуждены столкнуться с решением проблем, известных в программировании как дебаг- гинг, или отладка программы. Прежде чем начнем рассматривать примеры более сложных программ, давайте научимся некоторым техническим приемам, которые помогут при создании новых программ. Это следующие приемы:

     Тестирование фрагментов кода в окне Visual LISP Console (Консоль Visual LISP) или в командной строке AutoCAD.

     Поиск парных скобок в процессе или после написания кода.

     Модифицирование формата кода таким образом, чтобы его было удобнее читать.

     Проверка кода на наличие структурных ошибок.

     Запуск фрагментов кода из редактора Visual LISP.

     Нахождение текущих значений переменных.

Программы AutoLISP имеют дело с двумя типами переменных: системными переменными, описанными в AutoCAD, такими как OSMODE, и программными переменными, описанными и именованными вами. Программные переменные могут быть как локальными, т. е. сохранять значение только на время выполнения программы, так и глобальными, сохраняющими значение после завершения работы программы, в которой они определены.

     Остановка программы в процессе выполнения, чтобы увидеть появление проблем.

     Замедление выполнения программы, чтобы вы могли наблюдать за ней в процессе выполнения и видеть, как она работает.

Перед началом отладки программы в интегрированной среде разработки приложений Visual LISP (VUDE) убедитесь, что вы сохранили все открытые файлы чертежей на случай, если AutoCAD перестанет отвечать и вам придется закрыть программу. Такое бывает нечасто, но иногда все же случается.

 

Комментарии закрыты