На языке Автолисп
При запуске программы на языке 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. Однако, у этой проблемы есть эффективное, недорогое
и простое решение, Это технология цифровых прототипов.