The Web-site of design Company Chelyabenergoproekt in English   English
Проектные работы в проектной организации Челябэнергопроект Заказать проектные работы в письме к проектной организации Челябэнергопроект Карта сайта
Die Web-seite der Projektorganisation Tscheljabenergoprojekt in Deutsch   Deutsch




Création de site web société française Chelyabenergoproekt   Française

   Облако тегов на сайте проектной организации Челябэнергопроект
Проекты интеллектуального мастерства!
новости компании
30.12.2015 С Новым годом!
Администрация ...
21.12.2015 С Днём Энергетика!
Уважаемые друзья и коллеги! Поздравляю вас с нашим большим праздником – Днем Энергетика! ...



новости отрасли
объекты Ростехнадзора
  Облако тегов
проектирование монтаж ключ котел кран сертификат ГОСТ ремонт заказЧелябинск

Создание конструктивной концепции модели в Rhino 3D
Rhino 3D – популярная трехмерная САПР для платформы Windows от компании McNeel. Ее используют как минимум 150 тысяч профессионалов по всему миру, которые ценят эту САПР за развитые возможности моделирования поверхностей свободной формы. Лицензия за одно рабочее место стоит меньше тысячи евро, хотя аналогичную функциональность можно найти только в программных продуктах, стоящих в 20, а то и в 50 раз дороже. Rhino основана на открытом формате данных 3DM, свободно доступном любому программисту для чтения/записи в рамках инициативы openNURBS. В результате такой политики Райно имеет более 120 подключаемых плагинов, созданных независимыми разработчиками. Своим интерфейсом, набором конструктивных элементов и команд, эта система похожа на другие САПР, что упрощает процесс обучения и позволяет легко решать сложные задачи трехмерного проектирования. Однако у Rhino отсутствует одна важная особенность: в этой системе нельзя задать желаемое поведение при изменении трехмерной геометрии.

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

Известно, что в Rhino можно создать трехмерную модель, но нельзя задать ее конструктивную концепцию.

Необходимо отметить, что программная архитектура Rhino – открытая, разработчикам приложений предоставляется развитый интерфейс программирования на языках C/C++.

Чтобы иметь возможность создания конструктивной концепции модели, российская компания ЛЕДАС разработала набор инструментов для Rhino, объединенных общим названием Driving Dimensions (англ. управляющие размеры). С помощью этих инструментов пользователи Rhino могут добавить конструктивную концепцию к любой трехмерной модели и использовать эту информацию для интеллектуального редактирования её геометрии. Первый инструмент в линейке Driving Dimensions для Rhino носит название Rhino Assembly. Этот подключаемый модуль работает внутри привычного окружения Rhino и позволяет пользователям этой системы использовать геометрические ограничения и управляющие размеры для интеллектуальной модификации трехмерных сборок, состоящих из деталей с фиксированной геометрией. После установки плагина Rhino Assembly пользователи могут легко собирать сложные механизмы и анализировать их кинематику, рассматривая с разных точек зрения работу движущихся частей. Простота пользовательского интерфейса Rhino Assembly скрывает лежащие в его основе сложные математические алгоритмы для одновременного разрешения сотен и тысяч геометрических ограничений. Соответствующие наукоемкие инновационные технологии разрабатываются компанией ЛЕДАС с 2001 г. Зрелость данных технологий подтверждается их использованием в многочисленных системах классов CAD (автоматизированное проектирование), CAE (инженерный анализ) и CAM (подготовка производства), большинство из которых уже представлены на рынке.

Рассмотрим задание конструктивной концепции без дерева истории.

Опытные пользователи «механических» САПР (MCAD) найдут интерфейс системы Rhino похожим на инструменты, предлагаемые другими серийными системами этого класса. Следуя обычной процедуре, конструктор создает объемную модель: сначала чертит двумерный контур, затем вытягиванием превращает его в призму, скругляет острые кромки, «вырезает» отверстия и т.д.

Существует, однако, существенное различие между Rhino и другими MCAD-системами, такими как Pro/ENGINEER или SolidWorks. Различие состоит не в том, как создаются трехмерные формы, а в том, как они редактируются. Например, в Rhino нельзя изменить диаметр отверстия простым щелчком «мыши». Rhino не позволяет пользователям изменить радиус однажды созданного скругления. А если вы измените двумерный контур, лежащий в основе трехмерного тела, то это никак не повлияет на форму последнего. Пользователи серийных MCAD-систем будут неприятно удивлены таким поведением, и, скорее всего, откажутся от использования Rhino.

Причину такого поведения объяснить несложно: в то время как большинство MCAD-систем основано на истории построения модели, Rhino не поддерживает такую информацию. Rhino не пытается запомнить изменения, которые пользователь вносит в модель. Эти изменения, известные как история построения, лежат в основе задания конструктивной концепции модели. История построения подобна медицинскому или кулинарному рецепту: когда вы хотите изменить что-то в своей модели, вы сначала модифицируете рецепт ее построения, а потом CAD-система автоматически перестраивает вашу модель в соответствии с измененным рецептом. Обычно такой рецепт имеет вид дерева построения, которое реализуется в виде надстройки над «немой» геометрией, так называемым граничным представлением твердого тела (BRep, от англ. boundary representation).

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

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

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

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

Таким образом, геометрические ограничения и управляющие размеры полностью заменяют собой конструктивные элементы при редактировании геометрии. Ограничения представляют собой мощный способ выражения конструктивной концепции в окружении без истории построения. Вы можете легко добавлять, удалять и модифицировать их на любом этапе проектирования. Вы можете комбинировать их с другими средствами спецификации инженерных знаний (формулами, правилами, оптимизационными алгоритмами и проч.) В оставшейся части статьи мы рассмотрим реализацию данной концепции, выполненной в компании ЛЕДАС в рамках плагина Rhino Assembly.

Рассмотрим проектирование сборок в Rhino с использованием геометрических ограничений и управляющих размеров.

Проектирование сборок – типичное приложение САПР, в котором геометрические и размерные ограничения используются даже в системах с историей построения. Плагин Rhino Assembly – первое приложение линейки Driving Dimensions, созданное компанией ЛЕДАС для Rhinoceros. Оно было выбрано в качестве стартового потому, что соответствующая функциональность знакома пользователям MCAD-систем.

Хорошо известно два подхода, используемых в MCAD для проектирования сборок: нисходящий и восходящий. При нисходящем подходе вы начинаете с проектирование механизма «с нуля», по очереди создавая геометрию его частей и размещая ее в соответствии с конструктивной концепцией вашего механизма. Используя такой подход, вы можете спроектировать простую сборку в Rhino, например, модель одноцилиндрового двигателя внутреннего сгорания.

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

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

Как собрать вместе разрозненные части двигателя?
Как собрать вместе разрозненные части двигателя?


Как сохранить конструктивную концепцию при перемещении деталей механизма? Как упростить и ускорить процесс восходящего проектирования? Плагин Rhino Assembly дает четкие ответы на эти вопросы. Доступна 30-дневная ознакомительная версия этого плагина на сайте www.DrivingDimensions.com.

После инсталляции плагина и запуска Rhino вы увидите новую инструментальную линейку в знакомом окружении:

Инструментальная линейка Rhino Assembly
Инструментальная линейка Rhino Assembly


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

Рассмотрим моделирование кинематики.

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

Плагин Rhino Assembly позволяет динамически моделировать кинематику механизмов.




Источники:
1. Ушаков, Д. Создание конструктивной концепции в Rhino 3D // isicad. – 2009 [http://isicad.ru/ru/articles.php?article_num=13469]
2. Modeling tools for designers [www.rhino3d.com]

Автор: Челябэнергопроект
Дата: 23.03.2010

Комментарии специалистов Челябэнергопроект:
Нет
Статьи

смета проектных работ
©Челябэнергопроект – проектные работыinfo@chepr.ru, 2007-2013
DRA.RU - проектирование сайта под ключ; системный администратор ООО «Челябэнергопроект»
Главная|О компании|Стратегия|
Компетенция / услуги|Контакты
Сертификат качества