Проблемы геометрического моделирования в промышленных CAD / CAM / CAE системах
Автор: Джордж Аллен
Главный технолог и технический специалист компании
Siemens PLM Software, Шанхай
Перевод: А.И. Степных
Автор: Джордж Аллен
Главный технолог и технический специалист компании
Siemens PLM Software, Шанхай
Перевод: А.И. Степных
Эта статья представляет собой всестороннее рассмотрение некоторых геометрических задач, возникающих в реальном мире коммерческих CAD / CAM / CAE систем. Цель состоит в том, чтобы посредством будущей работы помочь исследовательскому сообществу понять, что за проблемы существуют и в коммерческой среде сегодня, какие из них важны, и как они могут помочь в их решении. Упор будет сделан на разработку и производство механических устройств (в отличие от электрических устройств, зданий или других видов продукции). Сначала мы кратко рассмотрим некоторые из бизнес-задач, с которыми сталкиваются компании, занимающиеся разработкой и производством механических изделий, так что мы можем попытаться связать эти проблемы бизнеса с возможными инновациями будущего. Опишем некоторые необходимые исходные технологии, а затем три примера проблемы. Одна из проблем (закругление) достаточно узкая и конкретная, а две другие (историческое моделирование и представление) являются более широкими и более общими. Для сравнения, мы классифицировали исследовательские работы недавней конференции, с целью оценки их соответствия потребностям и интересам CAD / CAM / CAE бизнеса.
В некоторых производственных процессах, наличие острых углов не допустимо, поэтому все острые углы в моделях САПР должны быть «округлыми» или «закругленными». Типичный подход использует расчеты, которые имитируют ранее немеханизированные методы. Закругленная поверхность образуется оболочкой сферы, которая вращается в контакте с двумя наборами поверхностей. В простых случаях, закругленные поверхности представляют собой цилиндры, торы и сферы. В более сложных случаях, некоторые системы используют специализированные типы поверхностей, а некоторые системы просто аппроксимируют закругление поверхностей с NURBs.
Проблема закруглений важна, поскольку она занимает много времени моделирования – как правило, целых 40% от таких частей, как отливка, поковка и штамповка листового металла. Тема закругления часто опускается на ранних стадиях проектирования, но она должна присутствовать для того, чтобы сделать детальный структурный анализ, и она, очевидно, нужна при механической обработке (формы, штампы и литейные модели). К сожалению, в некоторых компаниях, нагрузка удваивается, потому что закругление делается дважды – один раз в отделе анализа стресса и один раз в отделе механической обработки. Но, даже если это делается всего один раз, это является препятствием, которое потребляет значительное время в процессе разработки продукта.
Что еще хуже, функции закруглениях в CAD-системах зачастую ведут себя непредсказуемо, нелогично, и результаты их применения могут привести к неудачам. Так, достижение желаемых результатов часто требует значительных навыков пользователя, что означает, что задача не может быть выполнена эффективно неквалифицированными работниками. Две странности проиллюстрированы на следующих фотографиях.
На изображении № 1 показано, что в результате контакта кривых (где оболочка сфера касается подстилающих поверхностей) часто получаются непонятные углы. На самом деле, если основной поверхностью является не G2, то кривые не будут касаться G1. Углы часто являются непонятными для пользователей, и они тогда тратят время, пытаясь выяснить, что они сделали не так. Алгоритм дает ответ на вопрос, что является «правильным» (предполагается, что мы будем использовать подход сворачивания сферы), но часто нежелательным.
Изображение № 2 показывает, что совершенно разные результаты могут быть получены в результате закругления краев в различном порядке. Так что, опять же, некоторые навыки и опыт, необходимы для получения желаемого результата. Ситуация, показанной на рисунке № 3, еще хуже. Опять же, разные результаты получаются при закруглении краев в разном порядке, но они могут и быть нежелательным. Если это детали из листового металла, развороты кривизны получаются путем сведения сферы к закруглению, что доставляет некоторые неудобства.
Наконец, более фундаментальная проблема показана на рисунке № 4. Закругления поверхности, образованные качанием сферы часто имеют неожиданные самопересечения. Если эти самопересечения удаляются самым простым способом, то на поверхности остается неприемлемая складка. Итак, в подобных ситуациях, парадигма оболочки сферы просто не работает.
Вполне может быть, что мы чрезмерно эксплуатируем идею оболочки сферы. Она должна быть использована для простого закругления, потому что это то, чего ожидают пользователи, и это форма, которая будет подготовлена для очевидного процесса фрезерного ЧПУ. Но в более сложных ситуациях, результаты непредсказуемы и часто нежелательны, поэтому, возможно, необходимо использовать некоторые другие подходы.
Историческое моделирование важно, потому что, когда оно хорошо работает, обеспечивает огромные преимущества в производительности. Умные компании выстраивают «шаблоны» модели, которые предназначены для изменения и повторного использования. Когда они начинают новый проект, то просто ищут подходящую модель шаблона, регулируют ее входы, и воспроизводят ее. Это не подходит для получения готового дизайна, но это часто обеспечивает очень хорошую отправную точку для дальнейшей работы, что существенно сужает сроки. Кроме того, шаблон модели представляет собой утвержденный процесс моделирования, таким образом, это является эффективным способом процесса накапливания знаний компании.
Другим преимуществом является превышение плана задач. Так как процесс воспроизведения позволяет легко адаптироваться к изменению входа, следующие задачи могут быть запущены ранее, использование предварительных релизов данных, до того, как выполнятся вышестоящие задачи. Такое совмещение, очевидно, сужает сроки выполнения работы.
Но, с другой стороны, есть также несколько проблем. Во-первых, процесс воспроизведения иногда дает сбой, особенно если новые входные данные значительно отличаются от предыдущих. Когда это происходит, пользователь должен сделать «перезапуск» модели. Он должен понимать последовательность шагов, которые были использованы, чтобы построить модель, и выяснить, какие из этих шагов не удаются, и почему.
Процесс очень похож на отладку программ – на самом деле, в некотором смысле, историческое моделирование это программа. Но, к сожалению, средства отладки очень примитивны по сравнению с доступными для отладки программ. В результате, люди часто просто сдаются и восстанавливают модель с нуля.
Один из возможных подходов заключается в применении понятия «грамотного программирования» к программам воплощения исторического моделирования. Основная идея заключается в обратной роли кода и комментариев – программа рассматривается как документ, который будут читать люди, но с исполняемым кодом, встроенным в него, а не наоборот. Сегодня процессы проектирования часто описываются в «руководстве по проектированию» – там излагается «рецепт», что инженер должен делать, чтобы развивать проект. Предположительно, эти справочники можно сделать исполняемыми файлами (путем внедрения кода в них) без снижения их читабельности и четкости. Математические формулы, как показано ниже, обеспечивают один из примеров такого подхода.
В какой-то мере, понимание исторического моделирования не является геометрической проблемой – это проблема компьютерных наук или пользовательских интерфейсов. Но улучшение геометрического моделирования, безусловно, может помочь. В частности, если мы могли бы разработать моделирования операций, которые являются более общими и менее чувствительны к изменению их входов, неудачи случались бы гораздо реже. В былые 1980-ые года, операции моделирования состояли только из набора булевых операций, и эти работало, потому что в таком случае выходы всегда четко определены, независимо от их входов. Нам нужны новые функции моделирования с такого же рода универсальностью.
Другая проблема заключается в выполнении процесса представления, но это описывается в теме «Проблема № 3» ниже.
Учитывая проблемы, связанные с историческим моделированием, существует тенденция к использованию подходов моделирования, которые не полагаются на историю.
В следующей таблице приведены три обсуждаемых проблемы, и их связи с общими целями бизнеса: дешевле, раньше, и лучше.
Проблема | Дешевле | Раньше | Легче |
Закругление | Позволяет использовать труд менее квалифицированных людей | Сокращает время, затрачиваемое в ходе разработки | – |
Историческое моделирование | Позволяет использовать труд менее квалифицированных людей | Перекрытие задач и сокращение ручного труда | Стандартный шаблон модели и использование предыдущего опыта в проектировании задач |
Представление | – | Общие улучшения в пользовательской производительности | Своевременные реакции способствуют исследованию, продуктивности, инновациям |
Улучшения надежности и понимание исторического моделирования, вероятно, будет самым ценным из всех трех. Однако, как отмечалось ранее, это не является проблемой только лишь геометрии.