Лучшие практики

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

Делай так

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

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

1

2 (Аннотация)

Рассматриваются современные вызовы геометрического моделирования с точки зрения независимого разработчика инженерного ПО. Исходя из прикладного опыта авторов, сформулированы и обсуждаются пять групп взаимосвязанных проблем:

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

В настоящем докладе мы рассматриваем актуальные проблемы инженерной геометрии с точки зрения независимого (от коммерческих продуктов) исследователя. Обзор имеет целью выявить «точки роста» дисциплины геометрического моделирования и, тем самым, некоторые направления перспективных исследований и разработок. В качестве компонентной базы избраны некоммерческие продукты с открытыми исходными кодами, хотя это условие не обязательно. Наш выбор мотивирован следующими соображениями. В разработке инженерного ПО некоммерческие продукты играют ту же роль, что научные публикации в академической среде. Это «плечи гигантов», представляющие современный уровень достигнутой технологической «вооруженности». Данный уровень можно принять в качестве ориентира для оценки собственных разработок. Кроме того, использование открытой компонентной базы в качестве «точки отсчета» позволяет акцентировать проблемы, рассматриваемые ниже, поскольку, с нашей точки зрения, ни одна из них не решена до конца даже в коммерческих продуктах. Наконец, открытое ПО позволяет воспроизводить исследовательские результаты без необходимости преодоления лицензионных ограничений, накладываемых поставщиками коммерческих продуктов. Солидарно с автором [30], мы считаем, что подлинно научное решение проблем, выносимых в настоящий обзор, возможно только при соблюдении принципов «открытой науки» (open science).

Д. Касик и др. [11] рассмотрели главные вызовы, стоящие перед разработчиками средств автоматизированного проектирования. Авторы выделили три класса проблем, связанных, во-первых, с вычислительной геометрией, во-вторых, с интерактивной работой пользователя и, в-третьих, с масштабируемостью САПР на большие массивы данных и распределенные инженерные команды. В продолжение работы [11], мы рассматриваем преимущественно проблемы первого класса, то есть связанные с геометрией, не умаляя при этом значения других. В частности, Д. Касик и др. выявили такие пробелы, как недостаточность контроля над формой цифрового продукта (geometry shape control), низкое качество средств обмена инженерными данными (interoperability across CAD, CAM, and CAE applications) и отсутствие зрелых средств для параметрической оптимизации (automatically morphing geometry in a meaningful way during design optimization). Исходя из нашего опыта, мы обнаруживаем, что указанные проблемы актуальны и сегодня, в 2018 году.

Вопросы о контроле геометрической формы и обмене инженерными данными поднимает также изобретатель NURBS, Кен Версприлл [4]. Другой авторитетный исследователь и автор Книги NURBS, Лес Пигл, сформулировал проблемы САПР, решение которых, по его мнению, потребует десятилетий работы [12]. Среди проблем, связанных с вычислительной геометрией, Л. Пигл особенно выделяет надежность используемых алгоритмов. Обеспечение надежности вычислений есть многофакторный процесс, требующий найти ответы на следующие вопросы. Какие методы вычислений пригодны в области САПР? Какие геометрические допуски следует использовать в алгоритмах и как они взаимосвязаны? Как бороться с численной нестабильностью? Как обеспечить логическое ветвление алгоритмов во избежание недостоверных вычислений (knowledge-guided computation)? Кроме того, обзор [12] содержит ценные идеи относительно самой архитектуры САПР будущего.

Проблемам в области аддитивных технологий посвящен обзор [13]. Особое внимание следует уделить проектированию с использованием сетчатых структур [14-16] (см. рисунок ниже) и топологической оптимизации. На практике, большинство задач, связанных с 3D печатью, приводят к необходимости работы с полигональными моделями (хотя в некоторых случаях применяется точная геометрия CAD).

Примеры сетчатых структур, напечатанных на 3D принтере. Изображения предоставлены Марком Хелоу (Mark Helou) [14-15].

Некоторые проблемы геометрического моделирования выявлены путем анализа областей его приложения. Так, авторы обзора [17] отмечают, что большой трудностью по-прежнему остается моделирование геометрии судов. В частности, судостроительное моделирование нередко привлекает треугольные лоскуты поверхностей свободной формы, которые, в силу ограниченности стандартов обмена инженерными данными, часто представлены вырожденными прямоугольными лоскутами B-поверхностей или поверхностей Безье [31]. Наличие вырожденных зон нередко приводит к ошибкам в операторах моделирования (см. рисунок ниже). Другие проблемы связаны с избыточной сложностью используемых поверхностей и нехваткой алгоритмических средств для формообразования.

Усиление погрешности моделирования оператором построения эквидистанты.

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

3

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

4

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

5

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

6

Геометрическое моделирование, как таковое, начинается с вопроса о том, как представить моделируемый объект. Абстрактную модель твердого тела, используемую теперь повсеместно, предложил А. Рекуич [7]. По Рекуичу, абстрактное твердое дело есть ограниченное, замкнутое, регулярное, полуаналитическое подмножество трехмерного Евклидова пространства (соответствующий англоязычный термин r-set будем переводить как регулярное множество). Увы, с таким формализмом особо не поработаешь, и для реализации соответствующих вычислений на компьютере он мало что дает.

Для автоматизации вычислений данный формализм необходимо алгоритмизировать, то есть описать регулярные множества при помощи структур данных, воспринимаемых машиной. С этой целью выбирается схема представления s, ставящая в соответствие регулярному множеству (абстрактному телу) конкретное выражение из языка, порождаемого некоторой контекстно-свободной грамматикой. Соответствие между регулярными множествами и их представлениями схематично изображено на слайде выше. Схема s действует над подмножеством D множества всех твердотельных объектов M. Множество D отвечает объектам, представимым схемой s. Грамматика задает правила образования синтаксически корректных моделей R. Подмножество семантически корректных (т.е. имеющих смысл) моделей V есть образ множества D на отображении s. Изложенный формализм подходит для описания геометрического моделирования вообще, то есть независимо от конкретной техники алгоритмизации.

7

Такой техникой может быть конструктивная твердотельная геометрия (Constructive Solid Geometry, CSG) или граничное представление (Boundary Representation, B-Rep).

8

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

9

При создании конкретной системы проектирования предпочтение часто отдается уже готовым программным решениям, реализующим некоторую схему представления s и базовые операторы моделирования. Такие решения, как было отмечено выше, называют «геометрическими ядрами». Если принять, что все необходимые операторы моделирования реализованы как в коммерческих ядрах, так и в свободно распространяемых продуктах, то остаются следующие критерии для их объективного сравнения: точность, надежность, эффективность. Как показывает практика, высокие показатели надежности и эффективности обеспечивают труднодоступные коммерческие ядра, такие как ACIS и Parasolid. Создание же доступного геометрического ядра, обладающего высоким качеством в смысле указанных критериев, является, по нашему мнению, существенной нерешенной проблемой. Добавим здесь, что вопрос о геометрическом ядре оказывается краеугольным при разработке широкой линейки инженерных продуктов.

10

Отсутствие программной подсистемы, отвечающей за вычислительную геометрию — это, выражаясь неформально, «showstopper» для огромного количества задач автоматизированного проектирования. Существование проблемы открытого ядра, которое обеспечивало бы не только построение геометрической модели, но и решение на ней необходимого круга задач инженерного анализа, отмечено еще в 1999 году [18].

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

11

Перейдем теперь к проблеме обмена инженерными данными.

12

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

13

На сегодняшний день, lingua franca систем автоматизированного проектирования является формат STEP (ISO 10303). Появление новых стандартов, таких как JT (ISO 14306:2012), вероятно, лишь усложнит и без того запутанные процедуры передачи данных между проектными подразделениями. Более того, тенденции, направленные на унификацию форматов (в качестве примера следует взять, прежде всего, развитие протокола STEP AP242), прямо противоречат коммерческим интересам крупных вендоров, стремящихся монополизировать рынок инженерного программного обеспечения.

С другой стороны, индустрия предпочитает использовать открытые стандарты, не зависящие от коммерческих систем. Открытость — ключевое требование к формату, претендующему на роль состоятельного способа долговременного хранения данных. Дело в том, что пользователи инженерного ПО не могут, вообще говоря, рассчитывать на то, что проектные данные, созданные в текущей версии системы, будут корректно транслироваться в ее новых версиях. Как отмечено еще в 2005 [11], пользователи уже привыкли к тому, что обновление парка ПО чревато потерей или искажением данных и не стремятся его обновлять без крайней на то необходимости.

14

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

15

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

16

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

17

Нередко в результате трансляции данных из модели «выпадают» грани.

18

Частой проблемой (особенно при использовании формата IGES) является потеря топологической смежности граней.

19

Другая проблема — излишне сложная топология.

20

Некоторые проблемы решаются относительно легко и надежно. Примером может служить проблема инверсии тела (вместо того, чтобы описывать ограниченный объем пространства, грани тела ориентированы так, что объект представляет собой полость в неограниченном объеме).

21

Видео-пример: некоторые аномалии B-Rep.

22

Перейдем теперь к задачам редактирования формы.

23

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

24

В качестве примеров таких операторов можно взять удаление грани и знаменитую операцию push/pull (детальный разговор о ней неминуемо вскроет проблемы пользовательского взаимодействия с САПР).

25

Редактирование граничных моделей может быть реализовано с привлечением эйлеровых операторов, либо без таковых. Эйлеровы операторы играют роль «языка ассемблера» над граничными структурами, поскольку они позволяют перейти из одного топологически целостного состояния модели к другому. При этом, сохранение топологической целостности означает лишь синтаксическую, но не семантическую корректность полученного представления модели [7]. Для получения семантически корректной модели обычно требуется произвести «стягивание» геометрии к новому топологическому «скелету». Таким образом, эйлеровы операторы не обеспечивают полноценного редактирования модели, но лишь гарантируют, что в результате их последовательного применения модель может быть возвращена в синтаксически и семантически корректное состояние путем нормализации геометрии. Это наблюдение проиллюстрированно на слайде выше: несмотря на то, что эйлеров оператор выводит модель из множества семантически корректных моделей V (переход из состояния a в b, а затем в c и d), он все же гарантирует, что модель останется в некотором «приграничном слое» V*, из которого она может быть возвращена в семантически корректное состояние при помощи процедуры нормализации (переход из состояния d в e).

Видео-пример: эйлеровы операторы.

26

Поговорим теперь о задачах параметрической оптимизации.

27

Допустим, что у нас есть геометрическое ядро, а также средства трансляции данных и операторы редактирования формы. Возникает вопрос: как отыскать оптимальную форму изделия в смысле некоторого инженерного критерия?

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

Градиентные методы позволяют снизить количество вычислений целевой функции и добиться, тем самым, производительности, приемлемой в индустрии (речь, как правило, идет о десятках машинных часов). Эти методы традиционно используются в аэрогидродинамическом моделировании для нужд авиа- и турбостроения, где пространство параметров имеет высокую размерность, а целевая функция является достаточно гладкой. Кроме того, эти методы локальны, и хорошо работают в случае, если исходная форма близка к оптимальной, но допускает уточнение. Методы без градиента — это, как правило, стохастические методы глобальной оптимизации. Они используются для решения задач сравнительно небольшой размерности (несколько десятков переменных проектирования).

28

С точки зрения собственно геометрического моделирования, успешная параметрическая оптимизация требует преодоления нескольких препятствий. Первая проблема состоит в выборе параметризации модели. Вне коммерческих САПР, как правило нельзя рассчитывать на наличие дерева конструктивных элементов, дающих некоторый набор параметров (не обязательно, кстати, наилучший в смысле гибкости допустимых вариаций формы). Параметризация должна быть восстановлена, и вопрос о выборе способа параметризации в общем случае открыт. Современная тенденция состоит в том, чтобы ставить задачу оптимизации непосредственно в пространстве параметров синтеза CAD-модели, так как любая вариация параметров в этом случае не нарушает замысла проектировщика. С другой стороны, наиболее «богатое» пространство поиска получается, если степенью свободы модели назначить каждый узел ее полигонального представления. В этом случае, решатель оптимизирует сеточную форму, и ограничения на допустимые деформации оказываются минимальны, но любой шаг может привести и очень часто приводит к нарушению ограничений. Как отмечают авторы [6], такой подход остается востребованным в силу относительной простоты реализации и возможности обозревать практически неограниченное множество вариантов модели. С другой стороны, результирующая модель, представленная деформированной сеткой, должна быть возвращена в CAD-систему, что приводит нас к следующей проблеме геометрического моделирования — необходимости решения задачи обратного инжиниринга.

29

Второй ключевой вопрос параметрической оптимизации состоит в том, как получить градиент (чувствительность) модели по параметрам. Типичное геометрическое ядро (ACIS, Parasolid, OpenCascade) предоставляет функциональность для создания параметрических моделей S[a], где a — вектор параметров (переменных проектирования), а S — сама геометрическая модель. Задача же оптимизации, как было отмечено выше, состоит в поиске такого набора a*, что результирующая модель S[a*] доставляет минимум целевой функции J(S[a]).

Современные геометрические ядра не позволяют получить точный градиент параметрической модели ∇S, необходимый для использования гладких методов. Отметим, однако, что некоторые шаги на пути создания подобного «расширенного» ядра были недавно сделаны [5] и уже дали практические результаты [32]. Вообще говоря, внедрение подобных решений затруднено требованием доступности исходных кодов геометрического ядра (см. Проблему 1). Кроме того, поскольку расчет производных существенно сказывается на производительности вычислений, остается открытым вопрос о способе переключения между двумя версиями ядра в коммерческих продуктах.

30

Последняя проблема в обсуждаемом комплексе — обратный инжиниринг.

31

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

32

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

33

Как отметили классики реинжиниринга еще в 2002 [9], задача реинжиниринга состоит в том, чтобы получить модели, редактируемые в терминах технологии изготовления и допускающие дальнейшую обработку так, будто они изначально создавались под данную технологию в некоторой САПР.

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

34

Видео-пример: интерполяция B-поверхности.

35

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

Важной частью процесса проектирования является процедура назначения и анализа технологических допусков. Эти инженерные практики требуют высокой компетенции и остаются до сегодняшнего дня слабо автоматизированными, особенно для трехмерных размерных цепей [19]. Обычно допуски формируются в виде ассоциативных метаданных, привязанных к трехмерной геометрии, либо чертежу. Отличия изготовляемых деталей от эталонной формы имеют свойство накапливаться. Наличие кумулятивной ошибки в изделии может привести к проблемам его функционирования, либо даже к невозможности его собрать. За дальнейшей информацией по поводу методов автоматизированного управления допусками, можно обратиться к работе 2018 года [20], а также Интернет-ресурсу [21], где можно найти открытую систему для анализа допусков и расширенную библиографию по тематике CAT (Computer-Aided Tolerancing).

Автоматизированные средства назначения и верификации технологических допусков, в перспективе, должны помочь более глубокому внедрению концепции «цифрового двойника» (Digital Mock-Up, DMU) в индустрию. Идея DMU как единой цифровой модели продукта была впервые использована компанией Boeing в конце 1980-х годов при разработке самолета B777. Цифровой двойник представляет собой сборку, полученную как временной срез из некоторой PLM-системы. Это виртуальный прототип изделия, выполняющий справочные функции в процессе проектирования. DMU позволяет выполнять базовые расчетные задачи, как то: анализ собираемости, кинематический анализ, верификация технологических допусков, расчет прочности, анализ аэро- и гидродинамики и проч. Модель цифрового двойника нередко содержит десятки и сотни тысяч деталей и подсборок, будучи максимально детализированным представлением продукта. В этой связи, для применения DMU в индустрии требуется наличие средств, позволяющих работать с огромными массивами данных, а также преобразовывать их в вид, пригодный к дальнейшему инженерному использованию.

Прототип приложения для работы с крупными сборками на базе программы «Анализ Положения» [23].

Многие проблемы, представленные выше, были очерчены С. Кунсом еще в 1963 году [24], то есть на заре развития САПР. Тот факт, что современные системы не дают окончательного ответа на старые вызовы, говорит о том, что универсального решения для этих проблем, по всей видимости, не существует. С другой стороны, мы уверены, что острота многих проблем может быть в значительной степени снята, и не последнюю роль в этом сыграет развитие программного обеспечения с открытыми исходными кодами, которое является «питательной средой» для новых инженерных приложений.

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

Об актуальности представленных выше проблем свидетельствует коммерческий успех систем «прямого моделирования» [27-28] и специальных инструментов для решения конкретных задач, например, обмена инженерными данными [25-26] или адаптации CAD-моделей к различным сценариям использования [8, 29]. Коммерческим продуктам, облегчающим параметрическую оптимизацию, верификацию технологических допусков и многоцелевое редактирование индустриальных цифровых макетов, еще только предстоит появиться.


Источники
  1. [1] Mesh2Surface: http://www.mesh2surface.com/ (Accessed 01.09.2018)
  2. [2] RhinoReverse: http://www.rhinoreverse.icapp.ch/english/index.html (Accessed 01.09.2018).
  3. [3] Geomagic by 3D systems: https://www.3dsystems.com/software (Accessed 01.09.2018).
  4. [4] Ken Versprille, the Inventor of NURBS, Tells about Past, Present, and Future of CAD. 2013. URL: http://isicad.net/articles.php?article_num=16045 (Accessed 01.09.2018).
  5. [5] Mladen Banović, Orest Mykhaskiv, Salvatore Auriemma, Andrea Walther, Herve Legrand & Jens-Dominik Müller (2018) Algorithmic differentiation of the Open CASCADE Technology CAD kernel and its coupling with an adjoint CFD solver, Optimization Methods and Software.
  6. [6] Muller J.-D., CAD-based shape optimisation with CFD using a discrete adjoint // International Journal for Numerical Methods in Fluids. 2008. № October 2007. C. 601–629.
  7. [7] Requicha A.G. Representations for rigid solids: theory, methods, and systems // ACM Computing Surveys. 1980. N 4 (12). p. 437–464.
  8. [8] Review: ITI CADfix 12. 2018. URL: https://www.develop3d.com/reviews/review-iti-cadfix-12-CAD-geometry-3D-data-translation-engineering (Accessed 01.09.2018).
  9. [9] Varady T., Martin R. Chapter 26 - Reverse Engineering // Handbook of Computer Aided Geometric Design. 2002. C. 651–681.
  10. [10] An Interview with Robert McNeel, CEO of McNeel and Associates (Rhino 3D). 2007. URL: http://blog.novedge.com/2007/03/an_interview_wi_3.html (Accessed 01.09.2018).
  11. [11] Kasik D.J., Buxton W., Ferguson D.R. Ten cad challenges // IEEE Computer Graphics and Applications. 2005. (25). C. 81–92.
  12. [12] Piegl, L. A. (2005). Ten challenges in computer-aided design. Computer-Aided Design, 37(4), 461–470.
  13. [13] Oropallo, W., Piegl, L. A. (2016). Ten challenges in 3D printing. Engineering with Computers, 32(1), 135–148.
  14. [14] Helou M., Vongbunyong S., Kara S. Finite Element Analysis and Validation of Cellular Structures // Procedia CIRP. 2016. № June 2017 (50). C. 94–99.
  15. [15] Helou M., Kara S. Design, analysis and manufacturing of lattice structures: An overview // International Journal of Computer Integrated Manufacturing. 2018. № 3 (31). C. 243–261.
  16. [16] Vasiliev V. V., Barynin V.A., Razin A.F. Anisogrid composite lattice structures - Development and aerospace applications // Composite Structures. 2012. № 3 (94). C. 1117–1127.
  17. [17] Sharma R. [и др.]. Challenges in computer applications for ship and floating structure design and analysis // CAD Computer Aided Design. 2012. № 3 (44). C. 166–185.
  18. [18] R.T. Farouki, Closing the Gap between CAD Model and Downstream Application, SIAM News, vol. 32, no. 5, 1999, pp. 303-319. URL: https://cs.nyu.edu/exact/resource/cfd99/cadmodel.htm (Accessed 05.09.2018).
  19. [19] Friel I. [и др.]. Intelligent DMU Creation: Toleranced Part Modelling to Enhance the Digital Environment // Procedia CIRP. 2017. (60). C. 92–97.
  20. [20] Delos V., Arroyave-Tobón S., Teissandier D. Model reduction in geometric tolerancing by polytopes // Computer-Aided Design. 2018.
  21. [21] Politopix. URL: https://www.i2m.u-bordeaux.fr/politopix (Accessed 05.09.2018).
  22. [22] NIST Engineering Laboratory. Download Free CAD Models, STEP Files, and Test Results. URL: https://www.nist.gov/el/systems-integration-division-73400/mbe-pmi-validation-and-conformance-testing-project/download (Accessed 05.09.2018).
  23. [23] Slyadnev S., Malyshev A., Turlapov V. CAD model inspection utility and prototyping framework based on OpenCascade/ Proc. of Int. Conf. GraphiCon’2017. Perm, Russia:, 2017. 323–327 с.
  24. [24] Coons S.A. An Outline of the Requirements for a Computer-Aided Design System. 1963. AFIPS Spring Joint Computer Conference (23). 299–304 с.
  25. [25] CAD Exchanger. URL: https://cadexchanger.com (Accessed 05.09.2018).
  26. [26] Datakit. URL: http://www.datakit.com/en (Accessed 05.09.2018).
  27. [27] ANSYS SpaceClaim. URL: http://www.spaceclaim.com (Accessed 05.09.2018).
  28. [28] KeyCreator. URL: https://www.kubotek3d.com/products/keycreator (Accessed 05.09.2018).
  29. [29] OPEN CASCADE CAD Processor. URL: https://www.opencascade.com/content/cad-processor (Accessed 05.09.2018).
  30. [30] Ibanez L., Schroeder W., Hanwell M.D. Practicing Open Science / Implementing Reproducible Research, Chapman and Hall/CRC, 2014. URL: https://osf.io/s9tya/ (Accessed 07.09.2018).
  31. [31] Du, Wen-Hui & J. M. Schmitt, Francis. (1991). A General Method of Treating Degenerate Bézier Patches / Curves and Surfaces. 7th International Conference. 1991. 161-164.
  32. [32] Mykhaskiv O. [и др.]. NURBS-based and parametric-based shape optimization with differentiated CAD kernel // Computer-Aided Design and Applications. 2018. № 6 (15).