Отладка программы. Наиболее частые ошибки и их исправление.
Для того, что бы отладить программу ее нужно загрузить в AutoCAD. Загрузка программы, написанной в AutoLisp, осуществляется при помощи диалогового окна AutoCAD Load Application..., которое вызывается из главного меню Tools и имеет вид представленный на рисунке 6.3.
Рисунок 6.3. Диалоговое окно Load Application.
Файл, который необходимо загрузить в AutoCAD, либо выбирается из списка, либо находится через клавишу File... . После того, как нужный файл найден и выделен, он загружается в чертеж при помощи клавиши Load . После успешной загрузки файла с программой в AutoCAD в командной строке должно появиться следующее сообщение:
Loading C:имя.lsp . . .,
где имя - имя файла, в котором содержится программа.
Если данное сообщение не появилось, то в командной строке будет написана подсказка, которая указывает на ошибку (Error:) в программе. При загрузке программы возможны два варианта ошибок:
1. Отсутствие открывающей или закрывающей скобки - Malformed list.
2. Непарность кавычек - Malformed string.
Для внесения исправлений в программу необходимо открыть файл, содержащий данную программу (использовать программу Блокнот, см. раздел 1). Читаем программу, обращая особое внимание на открытые и закрытые скобки и кавычки. Количество открытых и закрытых скобок и кавычек должно совпадать между собой. При нахождении непарных скобок или кавычек, необходимо исправить ошибку. После этого необходимо сохранить программу. Войти в AutoCAD и загрузить исправленную программу в файл (см. начало данной главы).
При успешной загрузке файла с программой в AutoCAD в командной строке появиться следующее сообщение:
Loading C:имя.lsp . . .
После того как данное сообщение появилось в командной строке можно обратиться к новой команде, загруженной в чертеж AutoCAD. Для этого необходимо в командной строке набрать с клавиатуры имя команды, которое было написано в первой строке программы после С: и нажать клавишу ЕNTER. При этом в командной строке должен появиться первый запрос команды (в примере – это фраза “Введите центр детали C: “). Получив ответы на все запросы, программа начнет построение детали. Если в написанной программе нет ошибок, то после ответа на все ее запросы, на рабочем поле чертежа появится изображение детали.
При наличии ошибок в командной строке появится соответствующее сообщение, которое будет указывать на род ошибки и в каком выражении AutoLisp она находится. Если данное выражение вложено в другое выражение, то оно также будет написано в командной строке после первого выражения. Это может выглядеть, например следующим образом:
error: null function
(n/ a 180)
(setq А1 (n/ a 180))
(C:PRO)
*Cancel*
В данном примере допущена ошибка в написании функции AutoLisp в математическом выражении, присвоенном параметру А1, который используется в команде с именем PRO. Слово *Cancel* говорит о том, что выполнение программы было прервано. Ошибка заключается в том, что в AutoLisp нет функции n/, а есть функция / - деление.
Рассмотрим наиболее часто встречающиеся ошибки.
1. Отсутствует или неправильно написана функция AutoLisp – Null function.
2. Аргумент не определен – Bad argument type.
3. Аргумент не соответствует функции - Function undefined for argument.
При обнаружении любой из ошибок, необходимо вернуться в текстовый редактор, открыть файл с программой, найти и исправить ошибку, сохранить файл и снова загрузить его в AutoCAD.
Ошибки исправляются следующим образом: если найдена первая ошибка, то необходимо исправить написание функции (или написать функцию); если найдена вторая ошибка, то необходимо определить аргумент перед тем, как он используется в выражении. Третья ошибка чаще всего встречается в том случае, если в программе используется для математических вычислений квадратный корень. Если это так, то необходимо снова обратиться к программе и задать новые параметры детали (выражение под корнем не должно быть отрицательным числом). Та же самая ошибка встречается и в случае, если тип аргумента не соответствует тому, с которым работает данная функция. Например, при обращении к команде AutoCAD POLYGON (МНОГОУГОЛЬНИК) количество сторон – целое число. Поэтому, для определения числа сторон надо использовать функцию GET… для ввода целого числа.
После отладки программа сдается преподавателю в электронном виде: загружается в AutoCAD и демонстрируется ее работа. Если все правильно и программа работает без ошибок, студент получает задание на защиту своей программы. Для этого преподаватель задает какое-либо дополнительное условие (технологический параметр), которое необходимо добавить в уже написанную программу и исправить ее соответствующим образом.
Лекция №7
В «Программе» данной лекции соответствуют п.п. 6.1 и 6.2.
Дата добавления: 2017-02-13; просмотров: 1728;