Исследование механизмов построения интегрированной инструментальной среды на базе КОМПАС-3D

Направления развития САПР. Технологии интеграции инструментальных приложений. Схемы взаимодействия КОМПАС-3D и MathCAD на основе механизмов интеграции. Разработка интерфейсных модулей и механизма связывания переменных, апробация программного решения.

Рубрика Программирование, компьютеры и кибернетика
Вид диссертация
Язык русский
Дата добавления 15.04.2013
Размер файла 6,3 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

1.2.4 .NET и будущее COM

В 2002 году была официально выпущена платформа Microsoft .NET Framework 1.0, которая на сегодняшний день объявлена Microsoft рекомендуемой основой для создания приложений и компонентов под Windows. По этой причине в .NET включены и средства, позволяющие обращаться к компонентам COM из приложений .NET, и наоборот. По словам представителей Майкрософт, COM (точнее, COM+) и .NET являются отлично взаимодополняющими технологиями.

Одной из основных идей Microsoft .NET является совместимость различных служб, написанных на разных языках. Например, служба, написанная на C++ для Microsoft .NET, может обратиться к методу класса из библиотеки, написанной на Delphi; на C# можно написать класс, наследованный от класса, написанного на Visual Basic .NET, а исключение, созданное методом, написанным на C#, может быть перехвачено и обработано в Delphi. Каждая библиотека (сборка) в .NET имеет сведения о своей версии, что позволяет устранить возможные конфликты между разными версиями сборок.

Подобно технологии Java, среда разработки .NET создаёт байт-код, предназначенный для исполнения виртуальной машиной. Входной язык этой машины в .NET называется MSIL (Microsoft Intermediate Language), или CIL (Common Intermediate Language, более поздний вариант), или просто IL. Применение байт-кода позволяет получить кроссплатформенность на уровне скомпилированного проекта (в терминах .NET: сборка), а не только на уровне исходного текста, как, например, в С. Перед запуском сборки в среде исполнения CLR байт-код преобразуется встроенным в среду JIT-компилятором (just in time, компиляция на лету) в машинные коды целевого процессора. Также существует возможность скомпилировать сборку в родной (native) код для выбранной платформы с помощью поставляемой вместе с .NET Framework утилиты NGen.exe. [22,17]

1.2.5 Универсальный формат обмена XML

Обсуждение XML не сходит со страниц большинства компьютерных изданий, а сам язык и его применение в сфере электронного бизнеса является "темой года". Такая популярность вполне заслужена - не только и не столько как собственно языка разметки электронных документов, но и как универсального формата для обмена электронными документами.

Наибольший интерес вызывает возможность организации обмена электронными документами между приложениям при помощи стандарта XML. В силу самоопределенности XML-документов, приложения могут передавать друг другу данные через XML-документы, не имея никакой дополнительной информации о струтктуре передаваемых данных. Дело в том, что приложения могут работать с XML-документами нормальным образом, не привлекая для этого соответствующий DTD (Document Type Definition), то есть в общем случае двум приложениям, чтобы понять один XML-документ, не нужно пользоваться каким-то общим DTD, задающим XML-документ. Как раз этот факт делает обмен документами между приложениями простым, гибким и надежным.[40]

XML (англ. eXtensible Markup Language -- расширяемый язык разметки) -- рекомендованный Консорциумом Всемирной паутины язык разметки, фактически представляющий собой свод общих синтаксических правил. XML -- текстовый формат, предназначенный для хранения структурированных данных (взамен существующих файлов баз данных), для обмена информацией между программами, а также для создания на его основе более специализированных языков разметки (например, XHTML), иногда называемых словарями. XML является упрощённым подмножеством языка SGML.

Целью создания XML было обеспечение совместимости при передаче структурированных данных между разными системами обработки информации, особенно при передаче таких данных через Интернет. Словари, основанные на XML (например, RDF, RSS, MathML, XHTML, SVG), сами по себе формально описаны, что позволяет программно изменять и проверять документы на основе этих словарей, не зная их семантики, то есть не зная смыслового значения элементов. Важной особенностью XML также является применение так называемых пространств имён . [10]

Синтаксис XML

XML -- это описанная в текстовом формате иерархическая структура, предназначенная для хранения любых данных. Визуально структура может быть представлена как дерево элементов. Элементы XML описываются тэгами.

Первая строка XML-документа называется объявление XML - это необязательная строка, указывающая версию стандарта XML (обычно это 1.0), также здесь может быть указана кодировка символов и внешние зависимости.

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

В любом месте дерева может быть размещен элемент-комментарий. Остальная часть этого XML-документа состоит из вложенных элементов, некоторые из которых имеют атрибуты и содержимое.

Элемент обычно состоит из открывающего и закрывающего тегов, обрамляющих текст и другие элементы. Открывающий тег состоит из имени элемента в угловых скобках, например, <step>, а закрывающий тег состоит из того же имени в угловых скобках, но перед именем ещё добавляется косая черта, например, </step>.

Содержимым элемента называется всё, что расположено между открывающим и закрывающим тегами, включая текст и другие (вложенные) элементы. Кроме содержания у элемента могут быть атрибуты -- пары имя-значение, добавляемые в открывающий тег после названия элемента. Значения атрибутов всегда заключаются в кавычки (одинарные или двойные), одно и то же имя атрибута не может встречаться дважды в одном элементе.

1.3 Возможности КОМПАС-3D

КОМПАС-3D -- система трехмерного моделирования, ставшая стандартом для тысяч предприятий, благодаря удачному сочетанию простоты освоения и легкости работы с мощными функциональными возможностями твердотельного и поверхностного моделирования, которые решают все основные задачи пользователей.

Ключевой особенностью продукта является использование собственного математического ядра и параметрических технологий, разработанных специалистами АСКОН.

Основные компоненты КОМПАС-3D -- собственно система трехмерного твердотельного моделирования, универсальная система автоматизированного проектирования КОМПАС-График и модуль проектирования спецификаций. Все они легки в освоении, имеют русскоязычные интерфейс и справочную систему.

Базовый функционал системы включает в себя:

развитый инструментарий трехмерного моделирования, в том числе возможности построения различных типов поверхностей;

механизм частичной загрузки компонентов и специальные методы оптимизации, позволяющие обеспечить работу со сложными проектами, включающими десятки тысяч подсборок, деталей и стандартных изделий;

функционал моделирования деталей из листового материала -- команды создания листового тела, сгибов, отверстий, жалюзи, буртиков, штамповок и вырезов в листовом теле, замыкания углов и т.д., а также выполнения развертки полученного листового тела (в том числе формирования ассоциативного чертежа развертки);

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

инструменты создания пользовательских параметрических библиотек типовых элементов;

возможность получения конструкторской и технологической документации: встроенная система КОМПАС-График позволяет выпускать чертежи, спецификации, схемы, таблицы, текстовые документы;

встроенные отчеты по составу изделия, в том числе по пользовательским атрибутам;

возможность простановки размеров и обозначений в трехмерных моделях (поддержка стандарта ГОСТ 2.052-2006 «ЕСКД. Электронная модель изделия»);

поддержку стандарта Unicode;

средства интеграции с различными CAD/CAM/CAE системами;

средства защиты пользовательских данных, интеллектуальной собственности и сведений, составляющих коммерческую и государственную тайну (реализовано отдельным программным модулем КОМПАС-Защита).

По умолчанию КОМПАС-3D поддерживает экспорт/импорт наиболее популярных форматов моделей, за счет чего обеспечивается интеграция с различными CAD/CAM/CAE пакетами.

Базовая функциональность продукта легко расширяется за счет различных приложений, дополняющих функционал КОМПАС-3D эффективным инструментарием для решения специализированных инженерных задач. Например, приложения для проектирования трубопроводов, металлоконструкций, различных деталей машин позволяют большую часть действий выполнять автоматически, сокращая общее время разработки проекта в несколько раз.

Модульность системы позволяет пользователю самому определить набор необходимых ему приложений, которые обеспечивают только востребованную функциональность.

Простой интуитивно понятный интерфейс, мощная справочная система и встроенное интерактивное обучающее руководство «Азбука КОМПАС» позволяют освоить работу с системой в кратчайшие сроки и без усилий.[37]

1.4 Автоматизация инженерных расчётов

Для автоматизации математических, инженерно-технических и научных расчётов используются разнообразные вычислительные средства - от программируемых микрокалькуляторов до сверхмощных суперЭВМ. И, тем не менее, такие расчёты для многих остаются сложным делом. Более того, применение компьютеров для расчётов внесло новые трудности: прежде чем начать расчёты, пользователь должен освоить азы алгоритмизации, изучить один или несколько языков программирования, а также численные методы расчётов. Положение существенно изменилось после выпуска специализированных программных комплексов для автоматизации математических и инженерно-технических расчётов.

К таким комплексам относятся пакеты программ Mathcad, MatLab, Mathematica, Maple, MuPAD, Derive и др. Mathcad занимает в этом ряду особое положение.[36] Связано это прежде всего с тем, что этот пакет задумывался как средство работы на компьютере пользователей, не желавших или не умевших “возиться” с языками программирования при решении финансовых, научно-технических и прочих прикладных задач (программирование без программирования).На практике, реализация такого подхода, приводит с следующей ситуации.

Проводя вычисления с помощью Mathcad, кажется, что вы просто работаете с обыкновенной бумагой. Для четкого и понятного изложения метода и всех сделанных допущений можно вставлять столько комментариев, сколько потребуется. Рабочие листы Mathcad можно легко перепроверить, все документировано так четко, что понять не составляет труда. Благодаря интеллектуальным технологиям Mathcad, вы никогда не ошибетесь с размерностями, несовместимыми модулями. Рабочие листы защищены от такого рода ошибок, так что допустить ошибку на начальном этапе расчетов очень сложно. Вычислительные процедуры и важные для проекта параметры выносятся так, чтобы их можно было легко менять и следить за результатами. Например, легко определить, на какие вычисления в проекте повлияло изменение процедуры или параметра. Mathcad позволяет представлять результаты расчетов таким образом, что их поймут и инженеры, и менеджеры, и покупатели, и служба поддержки и проверяющие.

В то время как Maple, MATLAB и Mathematica - это языки программирования. Языки программирования гибкие и мощные, но трудные в использовании и требующие длительного времени на изучение. Поэтому, пользовательский интерфейс сложен, в нем легко допускать ошибки, которые вынуждают проверять и отлаживать весь код. Программирование не визуально и не интерактивно. Невозможно поменять несколько строк в программе и автоматически увидеть результаты. Для этого вам потребуется перекомпилировать и перезапустить программу. Также сложно разделить работу, а потом понять и использовать решения коллег. Не программисты не смогут снова использовать результаты. Даже если вы являетесь программистом, повторное использование чьих-то вычислений требует всестороннего инженерного анализа, чтобы понимать те процессы, которые скрываются за полученными результатами.[8]

Таким образом, благодаря простой и эффективной логике работы, а так же удобному пользовательскому интерфейсу, MathCAD можно признать оптимальным выбором, если речь идет об автоматизации инженерных расчётов. Рассмотрим возможности этого продукта подробнее.

Mathcad является интегрированной системой решения математических, инженерно-технических и научных задач. Он содержит текстовый и формульный редактор, вычислитель, средства научной и деловой графики, а также огромную базу справочной информации, как математической, так и инженерной, оформленной в виде встроенного в Mathcad справочника, комплекта электронных книг и обычных «бумажных» книг, в том числе и на русском языке.

Текстовый редактор служит для ввода и редактирования текстов. Тексты являются комментариями, и входящие в них математические выражения не выполняются. Текст может состоять из слов, математических символов, выражений и формул.

Принцип работы формульного процессора

Формульный процессор обеспечивает естественный «многоэтажный» набор формул в привычной математической нотации (деление, умножение, квадратный корень, интеграл, сумма и т.д.). Последняя версия Mathcad полностью поддерживает буквы кириллицы в комментариях, формулах и на графиках.

Вычислитель обеспечивает вычисление по сложным математическим формулам, имеет большой набор встроенных математических функций, позволяет вычислять ряды, суммы, произведения, интегралы, производные, работать с комплексными числами, решать линейные и нелинейные уравнения, а также дифференциальные уравнения и системы, проводить минимизацию и максимизацию функций, выполнять векторные и матричные операции, статистический анализ и т.д. Можно легко менять разрядность и базу чисел (двоичная, восьмеричная, десятеричная и шестнадцатеричная), а также погрешность итерационных методов. Автоматически ведётся контроль размерностей и пересчёт в разных системах измерения (СИ, СГС, англо-американская, а также пользовательская).

В Mathcad встроены средства символьной математики, позволяющие решать задачи через компьютерные аналитические преобразования.

Графический процессор служит для создания графиков и диаграмм. Он сочетает простоту общения с пользователем с большими возможностями средств деловой и научной графики. Графика ориентирована на решение типичных математических задач. Возможно быстрое изменение вида и размера графиков, наложение на них текстовых надписей и перемещение их в любое место документа.

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

Интеграция Mathcad и Pro/ENGINEER

О возможностях интеграции MathCAD говорит тот факт, что начиная с 14-й версии, Mathcad интегрирован с Pro/ENGINEER и с SolidWorks.

В основе интеграции MathCAD и Pro/ENGINEER (см. рис. 1.2) лежит двухсторонняя связь между этими приложениями. Их пользователи могут легко связать любой файл Mathcad с деталью и сборкой Pro/ENGINEER при помощи такой функции системы Pro/ENGINEER, как фичер анализа. Базовые величины, расчитанные в системе Mathcad, могут быть переведены в параметры и размеры CAD-модели для управления геометрическим объектом. Параметры из модели Pro/ENGINEER также можно ввести в Mathcad для последующих инженерно-конструкторских расчётов. При изменении параметров взаимная интеграция двух систем позволяет динамически обновлять вычисления и чертёж объекта.[36]

Интеграция Mathcad и SolidWorks

SolidWorks-MathCAD Integrator (см. рис. 1.3) представляет собой программный модуль, который позволяет связывать между собой переменные двух продуктов. Он существенно уменьшает усилия пользователей, сокращает цикл разработки изделия, и снижает риск ошибок. Данная технология позволяет автоматически вести параметрическое моделирование в SolidWorks. [35,34]

Ниже приведен список доступных механизмов интеграции:

Использование API-интерфейса, который предоставляет доступ к функциям математического ядра. Доступ к этим функциям можно получить из приложений, написанных на различных современных языках программирования. Наиболее важные методы: SetValue (задать значение входных переменных) и GetValue (считать значение выходных переменных).

Использование технологии внедренных объектов. Так, например, в рабочий лист можно внедрить объекты Word, Excel, SolidWorks и др.

Экспорт/импорт таблицы входных/выходных переменных посредством файла формата табличного редактора Excel - *.xls.

Обработка, посредством синтаксического анализа, выходного файла, который c 12 версии представляет собой файл текстового формата - *.xmcd. Запись данных в этот файл производиться на особом «наречии» XML, который основан на собственном словаре. После изучения данного словаря можно получить доступ к обширному списку возможностей.

Из перечисленных механизмов интеграции, наиболее гибким стоит признать синтаксический анализ, а наиболее надежным API-интерфейс.

1.5 Выводы

Анализ современного состояния рынка САПР показывает, что CAD - системы оказывают конструктору слабую помощь с точки зрения всего процесса конструкторского проектирования. Они обеспечивают описание геометрических форм и рутинные операции, такие как образмеривание, генерация спецификаций и т.п. Эти ограничения и чисто геометрический интерфейс оставляет методологию конструкторской работы такой же, какой она была бы при использовании кульмана. Системы автоматизации проектирования технологических процессов и программирования изготовления деталей на станках с ЧПУ подобно CAD - системам, не затронули сам процесс проектирования: САПР ТП - системы могут генерировать технологические процессы, но только при условии предварительного специального описания изделия с помощью конструкторско-технологических элементов. CAM-системой может быть использована геометрическая модель CAD-системы, но все функции САПР ТП - системы перекладываются на конструктора.

Реальные задачи проектирования не сводятся к «электронизации» накопленной инженерной документации. Это серьезный процесс согласованного труда инженеров, управленцев, программистов и т.д. Причем выпуск и передача документации на следующий этап - далеко не определяющая во всем цикле «проектирование - изготовление» составляющая.Главной составляющей автоматизированного проектирования должно являться создание такого информационного описания проектируемого изделия, которое позволяло бы уловить логику каждого проектного решения, оперативно осуществлять изменение проекта, использовать в дальнейшем полученные ранее проектные решения, даже относящиеся к другой области проектирования.

Всё это говорит о том, что необходимо создание программных инструментальных средств, позволяющих на основе базовых САПР программировать модули для решения ряда специфичных задач пользователя. Наличие инструмента, позволяющего создавать визуальными средствами (без явного использования языков программирования), пользовательские модули, интегрированные с базовым продуктом, становится все более важным условием, выдвигаемым со стороны пользователей.

С помощью технологий, основанных на спецификации COM, стало возможным создавать программные комплексы, состоящие из множества компонентов, инкапсулирующих методы обработки информации, при этом давая возможность гибко и эффективно пользоваться ими со стороны сторонних приложений, что позволяет «отвязать» несвязанные или слабосвязанные направления проектирования и эффективно решать их по отдельности, не выходя, тем не менее, за рамки общей системы. Это также даёт широкие возможности интеграции узкоспециализированных систем в единый комплекс, решающий эффективно широкий круг задач. Современный уровень построения баз данных позволяет эффективно решать задачи хранения и доступа к данным практически любой сложности. Таким образом, становится возможным создавать сложные программные комплексы, основанные на обработке данных.

2. Графический процессор ИИС

2.1 Интегрированная Инструментальная Среда

интеграция компас mathcad

Требования к ИИС

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

Отсутствие возможности, на данный момент, создать систему, которая бы удовлетворяла всех, приводит к мысли о создании инструмента позволяющего объединять существующие в настоящее время и используемые в процессе проектирования, и всего жизненного цикла изделия, приложения.

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

Конструкторская деятельность предполагает использование различных способов обработки информации, поэтому вопрос интеграции инструментов обработки данных (приложений) и создания интегрированных процедур САПР стоит очень остро.

Решением данного вопроса может стать создании интегрированной инструментальной среды (ИИС), которая бы обеспечивала выполнение следующих требований:

возможность интеграции разнородных приложений, удобным для пользователя образом;

возможность обработки разнородной информации в специализированных приложениях;

работа с содержимым проектного решения, его идейным наполнением;

«контекстность» предоставляемой пользователю информации;

отказ от конкретных форматов данных и их преобразований.

Для успешного создания ИИС необходимо решить ряд задач:

необходимо разработать новые принципы формирования информационных описаний проекта; Существующие сейчас способы представления проектной информации практически непригодны для их дальнейшего использования, поскольку скрывают логику выполнения отдельных шагов проектирования, сложно совмещаются с другими проектными решениями.

необходимо найти как можно более универсальный способ управления различными инструментальными средами САПР без участия программиста;

обеспечить возможность включения в проект объектов, построенных в различных средах САПР; Данная задача объясняется невозможностью всесторонней проработки проекта в рамках одной системы проектирования. А именно требования по всесторонней и максимально более тщательной проработке проекта диктует современный уровень задач проектирования.

обеспечить параметризацию проектируемых объектов; Без возможности параметризации невозможно сейчас представить себе современную систему проектирования. И это неслучайно - она наиболее точно вписывается в рамки изложенных представлений о процессе автоматизации проектирования. Очень важно и полезно проследить изменение проекта при модификации или подборе ее параметров.

обеспечить простое дополнение функциональных возможностей системы; Данную возможность включают в свои системы все разработчики современных САПР. Это объясняется невозможностью приспособить систему для решения всех задач проектирования. Расширить возможности системы позволяет включение новых модулей.

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

Архитектура ИИС.

Возможность создания инструмента позволяющего осуществить интеграцию существующих САПР, появилась благодаря развитию объектно-ориентированных технологий открытых систем, позволяющих с помощью механизмов СОМ связывать различные приложения.

Идея разделения проектной информации по типам, и, соответственно, по специализирующимся на её обработке интегрируемым в систему приложениям приводит к нескольким схемам построения ИИС.

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

Здесь существуют два общих подхода (возможных и в комбинации).

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

Второй - это реализация центрального модуля (ядра), обеспечивающего управление и пересылку данных между вспомогательными модулями, обеспечивающими «приведение» интерфейса целевых программ к интерфейсу ядра. Обе схемы, представленные на рис. 2.1. и рис.2.2.

Рис.2.1. Схема ИИС с Интерфейсными Модулями

Первая схема хороша при интенсивном обмене данными между двумя отдельно взятыми целевыми программами, т.к. данные, если это вообще необходимо преобразуются напрямую. Недостатком является сильный рост числа промежуточных компонентов приблизительно пропорционально N2/2.

Рис.2.2. Схема ИИС с Управляющим Модулем

Вторая схема хороша малым числом компонентов N+1, где N-число целевых программ, а также относительно лёгкой масштабируемостью (добавлением новых целевых программ в комплекс). Её недостаток - если между двумя отдельно взятыми целевыми программами идёт интенсивный обмен данными, то процесс разработки может сильно замедлиться из-за непродуктивного двойного преобразования.

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

Рис.2.3. Общая структура приложения

Структура приложения представлена на рис.2.3. , из которого видно, что приложение будет иметь модульную структуру и включать в себя следующие элементы:

Ядро - основа приложения, осуществляющее всю основную логику. В его "обязанности" будет входить: взаимодействие с базой данных; предоставление универсального интерфейса взаимодействия с Интерфейсными модулями, обеспечение гибкого интерфейса пользователя.

База данных - основное хранилище данных и мета-данных (данных о данных). Должна иметь структуру способную хранить проектные решения и информацию об их связях.

Интерфейсные модули - их основная задача приведение интерфейса взаимодействия с «внешними» САПР («внешние» САПР - существующие системы автоматизированного проектирования, предназначенные для решения специфичного круга задач), к универсальному интерфейсу ядра.

Данная архитектура позволит обеспечить достаточную гибкость и масштабируемость ИИС. После создания ядра реализующего всю логику работы системы, необходимо будет создать интерфейсные модули для взаимодействия с внешними САПР, причем количество модулей будет зависеть от количества используемых в работе внешних САПР. Таким образом, уникальные программные решения требуется создавать лишь для отдельных приложений, а не для отдельных операций, а сами операции выполняются тем приложением из числа присутствующих на рынке ПО, которое более всего подходит для решения требуемой задачи. Необходимость создания нового компонента возникает лишь при введении в процесс проектирования нового типа операций.

Создаваемые с помощью этого инструмента процедуры проектирования позволят конструктору больше времени уделять творческим процессам, за счет отсутствия необходимости «ручного» переноса данных между приложениями, позволяя при этом пользоваться тем ПО, которое лучше удовлетворяет его потребности.

2.2 Графический процессор в структуре ИИС

Требования, предъявляемые к архитектуре ИИС, в свою очередь, диктуют общие требования к графическому процессору ИИС:

Поддержка современных технологий трехмерного твердотельного моделирования.

Поддержка современных технологий интеграции.

Возможность параметризации проектируемых объектов.

Возможность фиксации промежуточных и конечных результатов работы.

Предварительный обзор в первой главе показал, что Компас-3D в целом удовлетворяет этим требованиям. Проведем более глубокий анализ данного программного продукта.

2.2.1 Компас-3D как Графический процессор ИИС.

Нередко между пользователями различных программных пакетов для трехмерного моделирования, как отечественных, так и зарубежных, возникают споры о том, какая система лучше. Каждый пытается доказать, что именно та, которой пользуется он сам, поскольку она предоставляет проектировщику наибольший выбор функций и методов для скорейшего достижения поставленной цели. Как правило, такие споры ограничиваются попытками убедить оппонента, что с помощью такой-то системы можно построить такую-то деталь проще, быстрее, с меньшим количеством операций и т.д. и т.п. Но ведь не в этом дело!

Сегодня класс редактора трехмерной графики определяется не только предложенным пользователю набором команд для создания и редактирования трехмерных моделей или чертежей и даже не возможностями и функциями каждой отдельно взятой команды, так как базовые подходы к созданию моделей (выдавливание, вращение, операция по сечениям и пр.) и их реализация в большинстве современных инженерных систем моделирования мало отличаются друг от друга.

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

Это, во-первых, предполагает наличие подсистем, расширяющих стандартные возможности программы, которые позволяют ускорить проектирование собственно объекта (агрегата, механизма, здания), а не отдельно взятой его детали или составляющей. Чаще всего такие подсистемы представляют собой подключаемые модули (библиотеки), функционирующие только в среде «родительского» графического редактора и позволяющие на основе его базовых функций быстро создавать и использовать различные стандартные элементы.

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

Очевидно, что качество любой программы для трехмерного инженерного моделирования определяют отнюдь не только базовые инструментальные средства. Зачастую как раз наоборот: чем больше возможностей для расширения списка доступных средств, тем выше система котируется предприятиями-заказчиками.[11]

Огромный перечень областей применения САПР -- первая причина, по которой любая из современных CAD-систем должна быть максимально открытой и обязательно содержать инструменты для создания пакета пользовательских модулей (прикладных библиотек, приложений и т.д.). Второй причиной является ориентация на заказчика. Если, например, подавляющее большинство предприятий, использующих ту или иную систему, работают в машиностроении, а единицы -- в области производства медицинского оборудования, то разработчики прикладных приложений вынуждены подстраиваться под первую категорию. Но для заказчиков КОМПАС никаких проблем не возникнет -- они могут создать пользовательские модули самостоятельно.

Рассмотрим основные способы создания таких модулей:

создание библиотеки фрагментов (эскизов) или моделей на основе базовых возможностей системы КОМПАС-3D;

создание библиотеки шаблонов с помощью Менеджера шаблонов;

использование специальной макросреды КОМПАС-Макро для подготовки пользовательского приложения;

применение инструментальных средств КОМПАС-Мастер, то есть собственно написание (программирование) библиотек и приложений.

Создание библиотек фрагментов и моделей

Для создания библиотек этого типа не потребуется никаких специальных навыков, кроме умения работать в КОМПАС-График или в КОМПАС-3D. С помощью таких библиотек каждый проектировщик может систематизировать свой набор наиболее часто используемых элементов, чтобы облегчить доступ к ним при разработке новых чертежей или моделей.

Главное преимущество библиотек фрагментов -- простота их создания и применения. Большим плюсом таких приложений является также то, что при появлении новых версий КОМПАС не нужно подгонять или изменять их структуру под только что выпущенный релиз. Достаточно загрузить старый файл библиотеки в Менеджер библиотек, и можете не сомневаться -- всё будет работать.

Рис.2.4. Пример пользовательской библиотеки, содержащей модели шпонок, и ее применение

Недостатком подобных библиотек является ограниченность их функциональных возможностей. Автоматизация таких библиотек достигается только за счет параметризации объектов, которыми вы наполняете приложение, а библиотека лишь ускоряет процесс поиска и вставки нужного графического элемента в документ и обеспечивает лучшие условия для их хранения (не в отдельных файлах, раскиданных по жесткому диску, а упорядоченно, в едином файле-библиотеке).

Создание библиотек шаблонов

Библиотека шаблонов -- это прикладная библиотека, состоящая из базового параметризованного чертежа или трехмерной модели, таблицы переменных, набранной в соответствии с некоторыми правилами в табличном редакторе MS Excel, и схемы -- документа КОМПАС-3D или рисунка, содержащего имена переменных. Библиотека представляет собой файл с расширением *.tlm, с помощью которого переменным параметризованного фрагмента или детали ставятся в соответствие значения, набранные в Excel-таблице. Для создания библиотек шаблонов предназначено специальное приложение под названием Менеджер шаблонов.

Разработку шаблона следует начинать с создания его прототипа (фрагмента или детали), пользуясь стандартными средствами КОМПАС-График или КОМПАС-3D. Затем необходимо параметризовать вычерченный фрагмент или эскизы модели и назначить внешними все переменные, которые вы планируете вводить (набирать) в таблице Excel. Следующим шагом является создание таблицы значений. Такая таблица формируется в редакторе Excel и включает названия внешних параметризованных переменных, флаги видимости колонок значений в Менеджере шаблонов, конкретные значения или их интервал для каждой переменной и др. Детально с правилами заполнения таблиц к шаблонам вы можете ознакомиться в файле-справке и примерах, поставляемых вместе с библиотекой шаблонов. Формирование еще одной составной части шаблона -- схемы параметров -- не вызовет особых затруднений. Схемой может быть любой графический файл системы КОМПАС-3D или файл-рисунок в формате *.bmp, *.gif или *.jpg.

Рис.2.5. Пример пользовательской библиотеки шаблонов для создания трехмерной модели гайки

Когда все три рассмотренных выше компонента подготовлены, их нужно собрать в единое приложение. Для этого, пользуясь командой Новая библиотека, следует указать название будущей библиотеки и папку, где она будет размещена. Далее необходимо оформить внутреннюю древовидную структуру библиотеки, то есть разделы и подразделы, в которых будут находиться подготовленные вами шаблоны.

Завершающий этап подготовки библиотеки -- это наполнение разделов соответствующими шаблонами, для чего следует воспользоваться командой Создать шаблон. После ее вызова появится небольшое окошко, в котором для каждого шаблона нужно ввести имя, указать файл с параметризованным фрагментом или моделью, файл таблицы параметров Excel и заставку (необязательно). По завершении всех этих действий библиотека шаблонов полностью готова к работе. Можно загружать определенный шаблон, вводить значения переменных и вставлять готовую деталь или фрагмент в документ.

Создание пользовательских библиотек с помощью КОМПАС-Макро

КОМПАС-Макро -- это интегрированная в систему КОМПАС-3D среда разработки конструкторских приложений на основе языка программирования Python. Почему за основу выбран именно Python? Во-первых, Python распространяется бесплатно и, как следствие, не налагает никаких ограничений на использование и распространение написанных на нем программ. Во-вторых, сегодня Python -- один из самых простых и понятных языков программирования, однако при всей своей простоте он мало в чем уступает таким «китам» объектно-ориентированного программирования, как C++ и Object Pascal (Delphi).

По своей сути КОМПАС-Макро является обычной библиотекой, подключаемой к КОМПАС, только с большими возможностями. При создании приложений в КОМПАС-Макро можно пользоваться как функциями КОМПАС-Мастер, так и специальными функциями макросреды, облегчающими разработку прикладных библиотек. Среди специальных функций КОМПАС-Макро следует отметить функции простановки угловых, линейных и радиальных размеров, функцию вставки в документ фрагмента, рисования линии-выноски и пр. Синтаксис перечисленных методов значительно проще их аналогов, реализованных в КОМПАС-Мастер (к примеру, вместо вызова одной-единственной функции создания линейного размера в КОМПАС-Макро при работе с API-функциями среды КОМПАС-Мастер приходится объявлять и инициализировать целых три интерфейса).

Но в контексте данной работы, основные проблемы, которые предполагалось решить с помощью КОМПАС-Макро - это создание и параметризация макросов. Решение данной проблемы позволило бы организовать сохранение промежуточных результатов работы пользователя в КОМПАС-3D, с последующим их использованием, что является одним из требований к Графическому процессору.

Для того, чтобы на практике убедиться в возможностях данной библиотеки, был проведен небольшой эксперимент: были «зафиксированы» действия пользователя, при выполнение ряда простейших задач - создание эскиза, создание прямоугольника в эскизе, задание размеров сторон прямоугольника, операция выдавливания. Для большей наглядности результаты были сравнены с результатами, которые были получены с помощью подобных средств фиксации действий пользователя (панель для создания макросов и файл протокола) системы SolidWorks. Листинг полученных скриптов приведён в Приложении 1.

Анализ скриптов, полученных в результате эксперимента привел к следующим выводам.

Для скриптов SolidWorks характерно:

наличие «мусора» - строк скрипта, которые не принципиальны для сохранения сценария работы пользователя ( изменение вида, выделение объектов, изменение масштаба и т.д.)

наличие автоматической генерации имен объектов - наличие «имен» у объектов позволяет обращаться напрямую к ним, минуя координаты. Тоесть позволяет в дальнейшем произвести параметризацию переменных.

Для скрипта КОМПАС-3D характерно:

отсутствие «мусора» - каждая строка скрипта необходима для корректного выполнения всего скрипта в целом. Присутствуют на первый взгляд «ненужные» строки, но они полностью описывают свойства создаваемых объектов и без этих строк объекты просто не будут созданы.

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

Таким образом, можно сделать вывод о том, что хотя библиотека КОМПАС-Макро и пригодна для сохранения промежуточных результатов работы пользователя в системе КОМПАС-3D в виде макросов, для решения проблем рассматриваемых в данной работе она бесполезна. Это объясняется, прежде всего, тем, что без параметризации, сохраненные промежуточные результаты работы не представляют особой ценности.

КОМПАС-Мастер

КОМПАС-Мастер - это очень мощные инструментальные средства разработки приложений (библиотек) неограниченной сложности, функционирующих в среде КОМПАС-3D. С помощью КОМПАС-Мастер прикладной программист получает доступ ко всем без исключения функциям системы. То есть абсолютно всё, что пользователь может делать вручную, -- будь то создание или редактирование графического документа, открытие и закрытие файлов, работа со спецификациями, создание таблиц, оформление чертежей, сохранение файлов в различных форматах, вставка рисунков и т.д. и т.п. -- все это может быть автоматизировано с использованием КОМПАС-Мастер.

Доступ к внутренним функциям КОМПАС-График и КОМПАС-3D обеспечивается двумя путями:

через экспортные функции, оформленные в виде dll-модулей, которые разработчик подключает к своей программе, -- при создании плоских чертежей; через использование СОМ-объектов -- при программном формировании твердотельных моделей;

с помощью технологии Automation (Автоматизации), реализованной через API (Application Programming Interface -- программный интерфейс приложения) системы КОМПАС. Управление и взаимодействие с системой при этом оформлено через интерфейсы IDispatch.

Рис.2.6. Создание прикладных библиотек с помощью API

Использование интерфейсов IDispatch возможно в любой из наиболее распространенных сегодня сред программирования (Visual C++, Delphi, C++Builder, Visual Basic). Интеграция с такими мощными программными пакетами позволяет, помимо применения графического инструментария КОМПАС, использовать в создаваемых модулях все преимущества современного объектно-ориентированного программирования.

На последнем рисунке изображены трехмерные сборки четырех различных типов муфт (зубчатой, упругой втулочно-пальцевой, торообразной с резиновой оболочкой и продольно-свертной), в которых на первый взгляд нет ничего необычного. Ничего, за исключением того, что все эти муфты полностью сгенерированы программно -- при помощи конструкторской библиотеки, разработанной в среде КОМПАС-Мастер. Их создание заключалось только в выборе пользователем диаметра соединяемых валов и нажатии кнопки «Строить». Все остальные операции спрятаны внутри программы.

Рис.2.7. Муфты, сгенерированные с помощью приложения, разработанного в среде КОМПАС-Мастер

Но за всю эту мощь КОМПАС-Мастер приходится расплачиваться. В отличие от библиотек фрагментов или шаблонов, в этом случае не обойтись знанием только КОМПАСа. Для программирования библиотек нужно уметь четко формулировать задачу: что будет решаться с помощью создаваемого приложения, представлять себе все возможные пути ее решения (для составления правильного алгоритма), а также освоить приемы работы с одной из вышеназванных сред программирования, для того чтобы все грамотно запрограммировать. Разработчик прикладных САПР должен быть одновременно и инженером, и программистом, обладая при этом немалым терпением. Нужно быть готовым потратить время и нервы на нелегкую отладку программ. Даже если вы профессионал высокого класса, ошибки не исключены, а их поиск и устранение могут быть не менее долгими и утомительными, чем процесс написания библиотеки.

Зато, преодолев все эти трудности, можно получить удобное и гибкое приложение, обладающее функциональностью и интерфейсом, которые полностью удовлетворяют вашим требованиям. Программу можно заставить «думать» - самостоятельно выбирать, анализировать и обрабатывать необходимые данные, производить определенные действия в зависимости от прочитанных значений, делать сложные расчеты и выводы по их результатам и пр. И всё это для того, чтобы максимально облегчить работу инженера, избавить его от выполнения рутинных операций.[12]

Таким образом, если подвести итог всему вышесказанному, можно сделать вывод о том, что система трехмерного твердотельного проектирования КОМПАС-3D действительно соответствует требованиям, предъявляемым к Графическому процессору интегрированной инструментальной среды:

Поддерживается большинство современных технологий трехмерного моделирования.

КОМПАС-Мастер предоставляет все необходимые инструменты для организации связи с внешними приложениями.

Параметризация обеспечивается через присвоение ключевым переменным псевдонимов в панели «Переменные».

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

2.2.2 Схема взаимодействия Графического процессора с компонентами интегрированной инструментальной среды

Такие компоненты ИИС как Ядро, Интерфейс пользователя, Интерфейс взаимодействия с БД, БД являются принципиально важными элементами, без которых невозможно решение проблемы комплексной автоматизации проектирования. Но нельзя не отметить и тот факт, что все вышеперечисленные компоненты выполняют лишь сервисные функции, в своей совокупности облегчая и ускоряя процессор проектирования. В то время как основной объём работ выполняется в Графическом и Математическом процессорах. Следовательно, можно сделать вывод о том, что построение полноценной ИИС без организации продуктивного обмена данными между этими двумя компонентами невозможно.

Поэтому, для того, чтобы исследовать механизмы построения ИИС на базе Компас-3D и однозначно ответить на вопрос, подходит ли данная система трехмерного твердотельного моделирования на роль Графического процессора, необходимо и достаточно уделить основное внимание цепочке, приведенной на рис.2.8.

Рис.2.8. Цепочка взаимодействия Графического и Математического

процессоров

Именно эта цепочка во многом определяет возможности ИИС и логику её работы. Без полноценного обмена данными между Графическим и Математическим процессором невозможно будет организовать параметризацию, связывание, хранение в БД переменных на уровне всей ИИС.

Как было показано в первой главе, на роль Математического процессора вполне подходит хорошо зарекомендовавший себя MathCAD. Данный выбор обусловлен, прежде всего, двумя особенностями продукта:

Поддержка современных механизмов интеграции (API-интефейс, XML-рабочий файл).

Необходимый уровень абстракции (иными словами, удобный интерфейс и логика работы: мы просто набираем формулы и получаем результат, подобно расчёту на бумаге; это выгодно отличает MathCAD от других математических пакетов, присутствующих на рынке, со сложным синтаксисом команд)

Благодаря наличию в MathCAD текстового редактора, от отдельного Текстового процессора в структуре ИИС можно на время отказаться, так как это не является принципиально важным для организации её работы.

Таким образом, окончательно структура приложения будет выглядеть, как показано ниже на рис.2.9.

Рис.2.9. Структура приложения

2.2.3 Схемы взаимодействия КОМПАС-3D и MathCAD на основе доступных механизмов интеграции.

Для того чтобы выстроить цепочку, изображенную на рис.2.8., можно воспользоваться различными механизмами интеграции приложений. Ниже еще раз приведен в компактном виде список доступных механизмов.

Для MathCAD:

API-интерфейс.

Технология составных документов.

Экспорт/импорт таблицы входных/выходных переменных в Excel.

Синтаксический анализ выходного файла.

Для КОМПАС-3D:

API-интерфейс.

Экспорт/импорт таблицы внешних переменных в Excel.

Синтаксический анализ скрипта макроса.

Но наиболее подходящими для решения задач, озвученных в данной работе, можно считать API-интерфейс, а так же синтаксический анализ выходного файла для MathCAD. На основе выбранных механизмов интеграции можно составить две различных схемы взаимодействия MathCAD и КОМПАС-3D. Данные схемы приведены ниже на рис.2.10 и рис.2.11.

Использование только API-интерфейса можно назвать классическим подходом, неоднократно проверенным в различных приложениях. Но данный способ ограничен только тем набором функций и методов, к которым разработчики программного обеспечения открыли доступ.

Использование синтаксического анализатора в некоторых случаях позволяет пользоваться большей свободой действий.

Обе схемы будут апробированы в ходе программной реализации.

Рис. 2.10. Схема взаимодействия MathCAD и КОМПАС-3D на основе API-интерфейса

Рис. 2.11. Схема взаимодействия MathCAD и КОМПАС-3D на основе API-интерфейса и Синтаксического анализатора.

2.3 Модель данных и иерархическая структура функций ИИС

В ходе анализа задачи были выделены несколько сущностей, реализация и использование которых дали бы возможность организовать полноценный обмен данными между Графическим и Математическим процессором.

Проект (Пр) - наибольшая абстракция, которая хранит в себе все действия пользователя и всю сопутствующую информацию.

Проектная операция (ПО) - некоторый набор действий, выполняемых пользователем и выделяемых им в отдельную смысловую единицу, являющиеся выполнением некоторых действий, которые лишь в совокупности обладают смыслом для пользователя.

Переменная (П) - неотъемлемая часть параметризированной проектной операции и являющиеся следствием параметризации проектных операций. Переменные сами по себе значения не имеют.

Связь (С) - cвязь между переменными операций (П).

Таким образом, модель данных определяется следующими множествами объектов:

1) Множество проектов, Пр

{Прi <Project_ID, Project_Name, Project_Description> }

Project_ID - уникальное число-идентификатор проекта;

Project_Name - имя проекта;

Project_Description - подробное описание содержания проекта.

2) Множество проектных операций, ПО

{ПОi <Operation_ID, Operation_Name, Project_ID, Operation_Type, Operation_Description > }


Подобные документы

  • Общие сведения о системе Компас 3D, предназначенной для графического ввода и редактирования чертежей на ПК. Ее основные функции, типы объектов, единицы измерения. Принципы работы в Компас-График LT. Пример создания файла трехмерной модели сборки детали.

    курсовая работа [1,1 M], добавлен 03.11.2014

  • Последовательность разработки чертежа и модели с типоразмерами из параметрического ряда. Построение таблицы переменных в соответствии с исходными данными. Проектирование параметрической модели в системе Компас-3D, внешние переменные для чертежа детали.

    практическая работа [5,9 M], добавлен 14.04.2016

  • Анализ объектно-ориентированной технологии программирования на примере языка Java. Методы, инструменты разработки web-приложений. Применение их при создании Интернет-магазина для ООО "Компас". Разработка апплета для его страницы в виде стрелочных часов.

    курсовая работа [2,7 M], добавлен 31.01.2014

  • Изучение системы КОМПАС-ГРАФИК, ее структура и основные возможности, типы файлов. Рабочий чертеж детали с простановкой размеров, оформлением технических требований и заполнением основной надписи. Проверочный прочностной расчет узла автомобиля в САПР-АВТО.

    курсовая работа [68,8 K], добавлен 14.05.2015

  • Изучение интерфейса и основных инструментов программы Компас. Обзор инструментов моделирования, используемых при создании модели материнской платы. Анализ программных и технических средств, объединенных в единый технологический процесс проектирования.

    курсовая работа [2,7 M], добавлен 05.04.2012

  • Компас-3D как универсальная система трехмерного проектирования. Классический процесс трехмерного параметрического проектирования. Особенности универсальной системы автоматизированного проектирования Компас-График. Преимущества и недостатки системы Компас.

    реферат [2,8 M], добавлен 30.05.2010

  • Создание, редактирование, выбор штриховок и заливок 3D детали с целью наглядности представления изготовленной детали в программе Компас 3D. Изучение и порядок работы с программой, знакомство с ее особенностями, область применения программы Компас.

    курсовая работа [1,4 M], добавлен 16.07.2012

  • Жизненный цикл программного продукта. Современные среды разработки приложений. Защита информации в базах данных. Особенности разработки приложения с помощью среды Delphi 7. Проверка программного модуля на предмет соответствия стандартам кодирования.

    отчет по практике [589,0 K], добавлен 18.05.2017

  • Создание сложных двумерных и трехмерных моделей в среде AutoCAD, КОМПАС-3D и Autodesk Inventor. Построение эскизов на плоскости, порядок создания чертежей. Способы построения моделей и особенности их применения в той или иной ситуации на практике.

    контрольная работа [1,2 M], добавлен 30.05.2015

  • Точность чертежей и документации. Использование собственного математического ядра и параметрических технологий как ключевая особенность "Компас-3D". Основной инструментарий трехмерного моделирования. Моделирование деталей из листового материала.

    реферат [16,4 K], добавлен 20.06.2013

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.