Auto CAD

Тестирование фрагментов кода в окне Visual LISP Console


Вы можете проверить, насколько правильно понимаете синтаксис функции, запустив ее в командной строке AutoCAD или в окне Visual LISP Console (Консоль Visual LISP). Например, предположим, вы не можете вспомнить структуру функции polar (мы рассматривали ее в главе 8). Функция polar помогает вам найти точку, находящуюся на определенном расстоянии и под определенным углом относительно существующей. Вы знаете, что polar требует указания начальной точки, расстояния и угла. Вы уже достаточно хоро

шо знакомы с аргументами и знаете, что их следует помещать после имени функции. Но в каком порядке?

Если вы поищете функцию polar в справочной системе (отличная идея!), система выдаст следующую информацию.

Кажется, все понятно. Вы закрываете справку и пробуете ввести функцию polar в Visual LISP Console (Консоль Visual LISP) или в командной строке AutoCAD в том виде, как она показана в диалоговом окне Help (Справка). В ответ ВЫ получите сообщение: error: bad argument type: 2D/3D point: nil (ошибка: неверный тип аргумента: 2D/3D точка: nil).

Разумеется, три аргумента должны быть, соответственно, точкой, углом в радианах и расстоянием в единицах. В справочной системе они обозначены как pt, ang и dist. В программе такие обозначения могут служить именами переменных, но до тех пор, пока им не присвоены значения, они все пустые (nil). Поэтому функция polar вернула сообщение об ошибке.

Программы AutoLISP часто возвращают ответ nil, который означает либо пустой список, либо неправильное условие. Воспринимайте такой ответ как отсутствие значения, не ошибитесь, принимая nil за 0. Совсем нет, потому что 0 — это значение.

Вы пытаетесь снова запустить функцию polar, заменив pt на (2 3 0), ang на 45, a dist на 4. Теперь, когда вы задали подходящие значения аргументов, ввод кода должен вернуть точку, расположенную на расстоянии 4 единицы от точки с координатами 2,3 и под углом в 45°. Но нет, вместо этого появляется еще одно сообщение об ошибке.

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