Геометрическое моделирование

Подписаться на эту рубрику по RSS

Заметки на геометрическую тематику.

На полях: перспективы FOSS-моделирования

Конкретно о направлениях развития

В продолжение разговора о перспективах развития геометрического моделирования приведем список тем, почти никак не раскрытых в рамках открытого программного обеспечения.

  1. Прямое редактирование граничного представления;
  2. Представление модели в виде поля дистанций и операции над полями;
  3. Алгоритмы полигонального моделирования;
  4. Вариационное моделирование;
  5. Алгоритмы распознавания типов моделей и их конструктивных элементов.

Прямое редактирование

Алгоритмы прямого моделирования и редактирования CAD-моделей должны привлекать т.н. локальные операторы, то есть обходиться без глобального перестроения модели. Популярными операторами прямого редактирования являются push/pull, построение и изменение скруглений, копирование и перенос конструктивных элементов и проч. Данный набор великолепно реализован в САПР SpaceClaim.

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

Представление модели в виде поля дистанций

Вместо того, чтобы хранить границу модели, как это принято в технологии B-rep, можно ввести в пространстве моделирования скалярное поле, определяющее в каждой точке значение знаковой дистанции до границы тела. Функция дистанции является по существу неявной функцией, не имеющей, за исключением специальных случаев, аналитического выражения. Вместо аналитических формул можно использовать, например, вокселизацию пространства, сохраняя в каждом вокселе информацию о значениях функции. Таким образом, задача моделирования сводится не к представлению непосредственно объекта, а к оснащению включающего его пространства данными о том, где этот объект расположен. Похожим образом в физическом пространстве вокруг нас определена температура и давление воздуха. Неявное моделирование (implicit modeling) избавлено от целого комплекса проблем, присущих граничному представлению. Так, булевы операции и эквидистанты в парадигме неявного моделирования не испытывают проблем с надежностью вычислений. Примером реализации принципа неявного моделирования является коммерческая платформа nTopology.

"Another approach is to use an implicit representation that specifies a recipe or process for creating an object, rather than the result of this process, which allows highly complex objects to be stored very concisely. This is what the history tree does in contemporary CAD systems, of course.

However, the history tree is used only for editing and to drive creation of b-reps, and nothing works (not even display) until a b-rep has been computed. We sometimes call this the ‘b-rep bottleneck’. The key difference in the nTop system is that it uses the implicit representation for display and other purposes without first computing a b-rep, so it avoids the b-rep bottleneck.

Meanwhile, another form of complexity is emerging – the complexity of material composition and distribution inside an object. Since b-rep systems store only the outer skin of an object, they assume that material is homogeneous throughout the object’s interior. However, given the capabilities of modern 3D printers, this assumption of homogeneity is no longer valid (if it ever was). An object might consist of several chunks of different material, or its material might even be ‘graded’, with a continuous transition from rubber to plastic, for example. All design systems will need to handle this new form of complexity going forward."


Источник: Why design tools need to change // Develop3D

Алгоритмы полигонального моделирования

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

Вариационное моделирование

Под вариационным моделированием мы понимаем набор алгоритмов, задействующих для построения результирующего объекта методы оптимизации. Реализация подобных операторов предполагает не только серьезную алгоритмическую подготовку разработчика, но требует глубокого понимания численных методов, основ математического моделирования и, нередко, МКЭ. Сюда можно отнести такие алгоритмы как развертка листовых металлов с физически корректными деформациями, аппроксимация сплайнами минимальной энергии, параметрическая оптимизация и проч. Достойным примером коммерческого программного пакета, реализующего вариационное моделирование, является плагин xNURBS для САПР Rhinoceros.

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

В области автоматического распознавания КЭ и классификации моделей по типам (например, нахождение электропроводки в сборке) можно выделить два принципиально различных подхода: детерминированный (основанный на правилах) и методы искусственного интеллекта (нейросети). Простой и понятный разбор детерминированного подхода заинтересованный читатель найдет в работе [Chow, P., Kubota, T., and Georgescu, S. 2015. Automatic Detection of Geometric Features in CAD models by Characteristics. Computer-Aided Design and Applications 12, 6, 784–793.]. В частности, авторы указанной работы подчеркивают, что методы автоматического распознавания и подавления конструктивных элементов доступны только в коммерческих ядрах, таких как ACIS и Parasolid. Соответствующих FOSS-решений на сегодняшний день не существует.

Что с этим делать?

Главное, чего делать не надо: не надо пытаться создать единственный программный продукт, «реализующий» все указанное выше. Практика показывает, что достойное воплощение даже предельно нишевых идей требует огромных, целенаправленных и регулярно прилагаемых усилий. А какие проблемы, связанные с геометрическим моделированием, актуальны для вас? Дайте знать через контактную форму. Наиболее интересные задачи обсудим в следующих заметках.