Возможные ошибки при запуске и отладке программ

На языке Автолисп

При запуске программы на языке AutoLISP в окне консоли Visual LISP могут появляться следующие сообщения (рис. 3.13):

• Ошибка в правильной расстановке скобок. Надпись об этом будет со­держать текст "Malformed list".

• Неизвестная функция.

Данная ошибка появляется, когда при наборе названия функции до­пущена орфографическая ошибка. Например (setg ... Здесь допущена ошибка: вместо символа q набран символ д. Должно быть —» setq).

• Ошибка в расстановке кавычек - Malformed string. Данная ошибка появ­
ляется, когда при наборе текста программы или существует лишний сим­
вол ", или данного символа не хватает. Например: (command "line" p1
р2 рЗ " ).

В этом примере есть ошибка: после переменной рЗ находится одна двойная кавычка, а должно быть две двойные кавычки, т. е. (command "line" р1 р2 рЗ "").

• Неверный тип аргумента.

error: bad argument type - неверный тип аргумента, передаваемого в функцию.

Данная ошибка появляется, когда функции неправильно передано значение аргумента. Пусть выполняется расчет точки (setq p22 (polar Р21 U I)). При возникновении указанной ошибки на экране в команд­ной строке появляется сообщение

(polar p21 u I) ;Ошибка неверный тип аргумента

(polar p21 u I) -указывается функция, куда неверно передано значение аргумента.

Для определения ошибки необходимо определить, какой из аргумен­тов функции р21, и или I принимает значение nil или значение не соот­ветствует функции. Значение переменной выясняют набором в командной строке имени переменной, перед которой указывают символ ! . Например: Command: !p21 - Enter. Если значение переменной р21 ранее рассчитано, то в скобках появляется значение координат точки р21 —> (I00, 50). Если значение, например, переменной и не вычислено или ранее не задано, то появляется сообщение Command: !u —» (nil).

 

Сообщение о данной ошибке появляется в следующих случаях:

- значение аргумента функции ранее не было рассчитано или введено;

- значение переменной при расчетах становится - nil (например, при использовании функции inters,когда отрезки являются параллельными);

- неправильное количество элементов списка в каком-либо аргументе функции, например в функции polarугол и имеет значение списка !и-(10,20);

- вместо действительного числа аргумент функции имеет значение строковой константы !и-"Т1".

• Функции передано неверное количество аргументов.

error: Too many arguments- слишком много аргументов. Обычно появляется в блоке IF, когда автор забыл об использовании функции (progn)и много операторов пытается запустить в теле IF.

error: Too few arguments- мало аргументов. Сообщение проявляет­ся, когда мало аргументов указано для функции.

 

 

DCL (Dialog Control Language) — язык разработки диалоговых окон для приложений, написанных на языке AutoLISP. Впервые DCL был введён в AutoCAD R12 и с тех пор не претерпел существенных изменений. Для разработки диалоговых окон не используется визуальное программирование и возможности создания диалоговых окон существенно ограничены. Для устранения указанных недостатков и расширения возможностей AutoLISP сторонними разработчиками созданы альтернативные среды для разработки диалоговых окон, такие как ObjectDCL, OpenDCL и некоторые другие.

Что же представляет собой OpenDCL? OpenDCLсостоит из двух частей, студии или среды разработки (см. ниже) и системной библиотеки. Среда разработки OpenDCL - это отдельное приложение, которое работает под управлением операционных систем от Windows 2000 до Windows Vista x64. В среде разработки OpenDCL вы проектируете и редактируете вашиOpenDCL-проекты.

Классический DCL предлагает только окна типа Modal, VBA - только Modal и Modeless. Только с помощью OpenDCL вы можете создавать продвинутые окна вAutoCAD без необходимости в изучении языка .NET . Единичный OpenDCL-проект может содержать множество окон различных типов. После того, как вы завершите разработку диалога к программе, вы можете сохранить его либо в формате .ODCL или записать в .LSP-файл и затем скомпилировать в .VLX-файл.

Средства управления - это элементы, которые вы размещаете в диалоговых окнах. OpenDCL предлагает такие средства управления как кнопки, метки, списки, переключатели, кнопки выбора и многое другое. Эти базовые средства управления доступны и в классическом DCL. В то же время, в OpenDCL есть дополнительные средства управления, которых нет в DCL. Это деревья, сетки, панели и другие средства управления ActiveX. Подобно другим языкам программирования, средства управления в OpenDCL имеют методы, свойства и события. К свойствам относятся такие параметры как высота, ширина, шрифт и цвет, которые можно установить как при проектировании, так и при выполнении программы. События активизируются, когда действие, к примеру, OnClicked, OnDblClicked, или OnDragnDropBegin имеет место.

Вторым компонентом OpenDCL является системная библиотека, которая представляет собой ARX-модуль, загружаемый в AutoCAD. Системная библиотека может работать в AutoCAD начиная с версии AutoCAD 2004 до AutoCAD 2009 x64 bit. Системная библиотека читает .ODCL-файлы и отображает формы в AutoCAD.

 

 

В настоящий момент доступен OpenDCL версии 5.0, который поддерживает создание визуального пользовательского интерфейса для AutoLISP и Visual LISP в версиях AutoCAD от 2004 до 2008. Как и ObjectDCL, OpenDCL состоит из редактора и ObjectARX-приложения (runtime). Редактор позволяет вам создавать и модифицировать проекты диалогов и сохранять их в .odcl (или .odcl.lsp) файлы для распространения вместе с вашими AutoLISP или Visual LISP приложениями. ObjectARX-приложение (OpenDCL.16.arx или OpenDCL.17.arx файл) так же должно распространяться вместе с вашим приложением и загружаться в AutoCAD чтобы отображать диалоги, определенные .odcl (или .odcl.lsp) файлами.


Рис. 5. Среда разработки OpenDCL

OpenDCL доступен для загрузки в виде двух пакетов, один для распространения вместе с вашим приложением, а другой - среда разработки. Скачать их можно с сайта OpenDCL

. Более подробную информацию о OpenDCL вы можете найти в статье "OpenDCL, как расширение возможностей DCL в AutoCAD"

 

Технология цифровых прототипов Autodesk.

 

Те, кто следит за рынком САПР для промышленного проектирования, несомненно знакомы с

термином PLM (Product Lifecycle Management – управление жизненным циклом продукции).

Философия Autodesk заключается в том, чтобы разрабатывать не PLM, а продукты,

реализующие технологию цифровых прототипов.

Термин «цифровой прототип» стал причиной некоторой путаницы в отрасли. Его четкое

определение можно найти в документе под названием «Технология цифровых прототипов:

усиление преимуществ Autodesk перед другими мировыми производителями ПО для сегмента

SMB», опубликованном компанией IDC в октябре 2008. В этой статье отражены различия

между технологией цифровых прототипов и PLM: «PLM охватывает период с момента

появления изделия до его утилизации. С другой стороны, технология цифровых прототипов не

идет дальше построения компьютерной модели изделия и составления спецификации к нему.

Привлекательная сторона технологии цифровых прототипов заключается в том, что проекты

можно всесторонне протестировать до их передачи в производство».

Таким образом, в реализованную компанией Autodesk технологию цифровых прототипов

включены основные функции PLM: промышленный дизайн, конструкторские работы, перенос

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

следующие за изготовлением изделий.

Autodesk постоянно вносит усовершенствования в Inventor, чтобы инженеры могли

использовать в своем рабочем процессе все преимущества беспрепятственной передачи

данных. То, что сегодня представляет собой Inventor – это слияние технологий,

разработанных или приобретенных компанией Autodesk. Многие из таких технологий не

предоставляются как надстройки к основному ПО за дополнительную плату, а являются

частью программного продукта Inventor.

 

 

Цифровые прототипы могут использоваться в про-

мышленном проектировании, проектно-конструктор-

ских работах, хранении данных и организации сов-

местной работы. В отличие от систем PLM, данное

решение не охватывает всего жизненного цикла изде-

лия – от разработки до утилизации; но оно позволяет

создать цифровую модель продукта и спецификацию

материалов еще до перехода к этапу непосредственно-

го производства.

 

Фактически очень многим малым и средним про-

изводственным предприятиям не хватает технической

компетенции или времени и средств на автоматизацию

процессов и оптимизацию производства по стандартам

PLM. Однако, у этой проблемы есть эффективное, недорогое

и простое решение, Это технология цифровых прототипов.