Научная статья на тему 'К разработке открытого программного обеспечения для реконструкции CAD-моделей'

К разработке открытого программного обеспечения для реконструкции CAD-моделей Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
229
38
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
САПР / РЕИНЖИНИРИНГ / РЕКОНСТРУКЦИЯ CAD-МОДЕЛЕЙ / СКИННИНГ ЛОПАТКИ ТУРБИНЫ / СГЛАЖИВАНИЕ / CAD / REVERSE ENGINEERING / CAD-MODEL RECONSTRUCTION / TURBINE BLADE SKINNING / FAIRING

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Сляднев С. Е., Турлапов В. Е.

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

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Сляднев С. Е., Турлапов В. Е.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Toward the development of open source software for the reconstruction of CAD-models

We describe an open source software package aimed at solving reverse engineering problems for CAD models defined in the polygonal form. We briefly discuss the main principles behind the new software, its architecture, and directions for further development. Examples of a turbine blade demonstrate the use of the software. In the first example, a turbine blade is reconstructed automatically from a structured point cloud. Another example is the interactive reconstruction of a turbine blade from an unstructured surface triangulation. In both cases, we use surface skinning strategy enhanced by a curve fairing operator. We illustrate by an example that the modified skinning operator does not minimize the total bending energy of the surface, but allows constructing a smooth patch where input inaccuracies are compensated. The reconstruction result is a parametric model of a turbine blade where the design variables are the coordinates of the poles of each profile curve. The presented software architecture can be used for partial or complete parameterization of the reconstructed CAD models aimed at their subsequent optimization.

Текст научной работы на тему «К разработке открытого программного обеспечения для реконструкции CAD-моделей»

К разработке открытого программного обеспечения для реконструкции CAD-моделей

С.Е. Сляднев <[email protected]> В.Е. Турлапов <[email protected]> Нижегородский государственный университет им. Н.И. Лобачевского, 603950, Россия, г. Нижний Новгород, пр.Гагарина, 23

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

Ключевые слова: САПР; реинжиниринг; реконструкция САБ-моделей; скиннинг лопатки турбины; сглаживание

Б01: 10Л5514ЛSPRAS-2019-31(1)-6

Для цитирования: Сляднев С.Е., Турлапов В.Е. К разработке открытого программного обеспечения для реконструкции САБ-моделей. Труды ИСП РАН, том 31, вып. 1, 2019 г., стр. 83-104. DOI: 10.15514ЛSPRAS-2019-31(1)-6

1. Введение

Актуальной инженерной проблемой остается воссоздание точной цифровой модели объекта из неполного описания его геометрической формы [1]. Такие данные получают, как правило, оцифровкой реального изделия, например, при помощи 3D-сканирования. Результат оцифровки подлежит реконструкции для дальнейшей работы в некотором инженерном программном обеспечении. Задачами реконструкции занимается дисциплина, известная как обратный инжиниринг (реинжиниринг). Ключевым этапом промышленного реинжиниринга является моделирование геометрической формы объекта в виде его граничного представления (boundary representation, B-Rep) [2], которое, на сегодняшний день, является стандартом де факто для систем автоматизированного проектирования (САПР). Как отмечают авторы обзора [1], CAD-модель (в граничном представлении) является своеобразным «языком», на котором общаются различные средства автоматизации проектирования и производства.

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

изначально. Иногда геометрическая модель оказывается недоступна в силу иных причин, таких как устаревание или исчезновение оригинальной CAD-системы. В таких случаях целью реинжиниринга является получение ранее не существовавшей или утраченной цифровой модели. Восстановленная геометрия может использоваться для дальнейшего редактирования CAD-модели, автоматизированного изготовления детали на станке с ЧПУ, а также для решения расчетных задач (исследование прочности, термический анализ, аэродинамический анализ и т.д.) или параметрической оптимизации формы. Если параметрическая оптимизация осуществляется на полигональной модели, то проблема реинжиниринга может возникать при обратном переходе от деформированной сетки [3] к CAD-представлению.

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

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

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

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

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

2. Состояние проблемы

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

Автор обзора [10] описывает подходы к реконструкции CAD-моделей, реализованные в широко используемом коммерческом программном обеспечении. В частности, указано, что интерактивные методы, задействующие пользователя для ручной сегментации сеток, остаются востребованными в индустрии, несмотря на их трудоемкость. Кроме того, согласно [10], интерактивная реконструкция с пользовательской сегментацией позволяет добиться наилучшего качества результирующих поверхностей.

Особое место занимают подходы, позволяющие реконструировать не единственный экземпляр геометрической модели, но параметрическое семейство S(a), где а £ Rw - вектор переменных проектирования, а N - размерность пространства параметров. Параметрическая модель является не просто описанием формы, но своеобразным генератором моделей, сохраняющим в их структуре т.н. «замысел проектировщика» (design intent) для различных значений вектора а. Подходы к реконструкции, восстанавливающие не только «геометрический артефакт», но инженерную концепцию (замысел проектировщика), доминируют, например, в области турбостроения [11,12]. Развиваются методы реинжиниринга параметрических моделей машиностроительных деталей. Например, авторы современной работы [13] предлагают

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

Большинство методов, публикуемых по поводу реконструкции, ограничивается воссозданием «немой» формы изделия (dumb model), которая лишена конструктивных элементов и потому не допускает полноценного редактирования. В частности, для моделей без истории построения решение задач параметрической оптимизации оказывается затруднено. В обзоре [16] указаны два способа параметризации функциональных (сообразующихся с аэродинамическим потоком) моделей: частичная и полная. Отсутствие декомпозиции модели на конструктивные элементы оставляет возможность лишь частичной параметризации.

В зависимости от конкретного программного обеспечения, могут привлекаться разнообразные схемы геометрического представления. Желательно, чтобы модель, полученная в результате реконструкции, могла быть передана в распространенные САПР для дальнейшей работы, например, последующего редактирования или технологической подготовки производства. На сегодняшний день, lingua franca систем автоматизированного проектирования является формат STEP (ISO 10303), регламентирующий в качестве основного граничное представление моделей [2]. Универсальной формой, позволяющей моделировать как каноническую геометрию, так и «скульптурные» поверхности, является NURBS. В то же время, в процессе реконструкции могут использоваться иные схемы представления, например, поверхности подразделения [17,18] или T-сплайны [19], с той оговоркой, что в конце моделирования они будут преобразованы в стандартный вид. Так, популярными средствами моделирования с использованием поверхностей подразделения, совместимыми с технологией NURBS, являются дополнения Clayoo и Xirus для CAD-системы Rhinoceros, а также, например, плагин Power Surfacing для ПО SolidWorks.

3. Процедура реконструкции

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

3.1. Основные этапы

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

Рис. 1. Основные этапы процесса реконструкции объекта свободной формы в разрабатываемой

системе

Fig. 1. The main stages of the process of reconstruction of a free-form object in the developed system

При сегментации модели необходимо учитывать расположение предполагаемых конструктивных линий. С этой целью, система реинжиниринга позволяет оценивать кривизну исходной сетки [29]. Данные о кривизнах играют вспомогательную роль при интерактивном задании топологии пользователем. После того, как топология модели определена, система осуществляет построение геометрических примитивов по выбору пользователя. Здесь привлекаются различные операторы, такие как построение поверхностей Кунса, Гордона, интерполяция упорядоченного облака точек, скиннинг и т.п. На заключительном этапе пользователь оценивает качество реконструкции и, в случае удовлетворительного результата, завершает процесс, либо возвращается на предыдущие этапы для редактирования топологической модели и ассоциированных параметров. Основные этапы реконструкции объекта свободной формы показаны на рис. 1. Заметим, что реинжиниринг в целом не является последовательным процессом, поскольку для достижения удовлетворительного результата, пользователю приходится возвращаться к предыдущим этапам.

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

3.2. Топологическая модель

Одним из ключевых этапов обратного инжиниринга является сегментация полигональной поверхности. В качестве основной рабочей гипотезы мы принимаем, что сегментация осуществляется пользователем интерактивно, в результате чего на сеточной модели задается топология (рис. 2). Данный подход был описан в обзоре [32] применительно к сегментации моделей свободной формы.

Рис. 2. Сеть кривых, формирующая топологию полигональной модели (отмечены вершины и ребра) Fig. 2. A network of curves that forms the topology of a polygonal model (vertices and edges are marked)

Известны примеры успешной реализации метода интерактивной реконструкции по сети кривых в коммерческом программном обеспечении [21]. Пользователь осуществляет разметку модели на порции, руководствуясь собственными практическими соображениями и, возможно, картой распределения дискретных кривизн. В простейшем случае, система может ограничивать пользователя созданием четырехугольных криволинейных ячеек, поскольку они допускают затягивание порциями NURBS в натуральных границах [33]. Последнее обстоятельство позволяет обойтись без использования обрезанных поверхностей (trimmed surfaces), и, как следствие, упростить задействованные структуры данных и алгоритмы (например, гладкого сопряжения).

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

Каждое ребро каркасной модели имеет натуральную (геометрическую) ориентацию, определяемую параметризацией соответствующей кривой. Для обеспечения единообразного порядка обхода контура, порция каркасной модели (patch) содержит не сами ребра, но их вхождения со знаком ориентации (Рис. 3). Таким образом, каркасная модель представляет собой направленный иерархический граф (рис. 4).

Рис. 3. Ориентированные полуребра каркасной модели Fig. 3. Oriented half-edges of the frame model

Pi Р2

се, се, сеэ се, ceQ се, сес сес

\ £ э 4 о/ЬЪ

I i Ы—' i i i

e e e e e e e

C1 2 C3 4 7 C6 5

V V V V V V

1 2 3 4 5 6

Рис. 4. Топология каркасной модели задается иерархическим ориентированным графом. Узлы р1 и р2 соответствуют двум реконструируемым лоскутам, изображенным на рис. 2 Fig. 4. The topology of the framework model is defined by a hierarchical oriented graph. Nodes p1 and p2 correspond to two reconstructed flaps shown in fig. 2

Структура каркасной модели определяет схему представления эквивалентную B-Rep в смысле разделения «геометрии» и «топологии», как описано в монографии [34]. Для полноценного моделирования с использованием сети кривых, система должна предоставлять базовый набор операторов редактирования топологии, включающий функции разделения кривых и лоскутов, слияния границ, завершения контура и т.п. В работе [35], посвященной интерактивной системе реинжиниринга, содержатся сведения о достаточном наборе топологических операторов для редактирования поверхностей подразделения. Те же подходы применимы и в схеме представления, основанной на NURBS.

3.3. Операторы реконструкции

На текущий момент в нашей системе реализованы следующие геометрические операторы, не считая алгоритмов, изначально доступных в библиотеках OpenCascade и VTK:

1. интерполяция кривых и поверхностей (алгоритмы A9.1, A9.4 из [36]);

2. скиннинг поверхности (согласно описанию в главе 10.3 монографии [36]);

3. сглаживание кривых и поверхностей (согласно идеям, изложенным в [37]);

4. построение лоскутов Кунса в виде поверхностей NURBS [33];

5. локальное редактирование NURBS-кривых [38];

6. проецирование отрезка прямой на триангуляцию для моделирования сети кривых;

7. построение огибающих облака точек на плоскости [39].

3.4. Создание граничной модели

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

4. Архитектура системы

Ниже мы описываем базовые принципы реализации открытой платформы реконструкции.

4.1 Объектная модель

Центральным объектом системы является Деталь (Part), подлежащая реконструкции. Деталь содержит результирующую CAD-модель в граничном представлении библиотеки OpenCascade. Входом системы является поверхностная сетка, загружаемая в объект Триангуляция (Triangulation) из файла формата STL (рис. 5).

Triangulation Node '

Reconstruction scenario

Part Node

Рис. 5. Входные и выходные данные системы Fig. 5. System Input and Output Объекты модели данных и взаимосвязи между ними организованы при помощи расширения модуля OCAF библиотеки OpenCascade [40]. Этот модуль реализует многоцелевое иерархическое хранилище данных, обеспечивающее такие фундаментальные сервисы, как транзакционность, двунаправленный откат изменений (undo/redo), сохранение в файл и чтение из файла, операции CRUD (Create, Read, Update, Delete). Доступ к данным осуществляется с использованием шаблона проектирования DAO (Data Access Object).

Каждый объект модели данных связан с единственным экземпляром класса Презентация (Presentation), содержащим один или несколько Конвейеров (Pipeline) визуализации VTK (Рис. 6).

Рис. 6. Объект данных и класс Презентация, содержащий набор Конвейеров Fig. 6. The data object and class Presentation containing a set of Pipelines.

Конвейер в нашей системе является адаптацией принципа конвейера (pipeline) из библиотеки VTK с дополнительными оговорками:

a) конвейер в нашей системе имеет источником данных объект OCAF, сохраняющий время последней модификации для эффективной перерисовки;

b) предполагается, что один конвейер отвечает единственному объекту сцены.

4.2 Визуализация

Для работы с CAD-данными была реализована подсистема визуализации, переводящая криволинейное представление CAD-модели в полигональную форму, а также соответствующие интерактивные сервисы на базе библиотеки VTK. В распространенных геометрических ядрах, таких как OpenCascade или Parasolid, граничная модель содержит ошибки, связанные с ограниченным машинным представлением вещественных чисел, а также погрешности аппроксимации и неточности геометрических построений. На практике эти погрешности хранятся в структуре CAD-модели в виде геометрических допусков, локально ассоциированных с ее граничными элементами [41].

Хотя существующие САПР, как правило, скрывают дефекты модели визуально, само наличие ошибок может привести к неверной работе операторов моделирования или проблемам при передаче данных из одной инженерной системы в другую. В этой связи, подсистема визуализации нашей платформы была реализована таким образом, чтобы обнажать геометрические и топологические дефекты, делая их очевидными для пользователя. Для B-Rep и сеточных моделей автоматически распознаются и маркируются цветом такие дефекты, как открытые и немногообразные (non-manifold) ребра, разомкнутые грани, «висячие» (dangling) вершины и проч. Акцентирование аномалий позволяет избежать их возникновения еще на этапе

моделирования, тем самым предотвращая необходимость использования операторов «лечения» модели [42] перед ее дальнейшим использованием.

г(Р) : Я1 ^

" S(U/Vo:R2 R3

Рис. 7. Представление ребра модели при помощи двух кривых (в пространстве моделирования и в области определения несущей поверхности) Fig. 7. Representation of the edge of the model using two curves (in the modeling space and in the domain of

the bearing surface)

Большие значения геометрических допусков возникают, как правило, из-за дефектов на стыке между гранями модели. Последние нередко связаны с наличием несогласованных ребер на смежных контурах, причем рассогласование возможно между параметрической кривой г в пространстве моделирования и ее собственным прообразом g в области определения несущей поверхности s(u,p) (рис. 7). Возникает требование синхронной параметризации, которое формализуется следующим образом:

||s(g(t))-r(t)||<£, (1)

где £ - геометрический допуск, параметр t принимает значения на отрезке [t0, t1], а в качестве нормы ||'|| выбрано евклидово расстояние. Геометрическое моделирование с гарантированным соблюдением правила (1) упрощается, если структура данных модели организована на сети трехмерных кривых, задающих топологию модели (см. Раздел 3.2). В этом случае, поверхностное моделирование обходится без использования параметрических кривых g(t) вплоть до момента, когда модель преобразуется в структуры данных ядра OpenCascade. Кроме того, в системе доступны средства визуализации графов, а также инструменты анализа дифференциальных свойств кривых и поверхностей. Подробнее данный инструментарий был описан в нашей предыдущей работе [43].

4.3 Геометрические ядра

Основным ядром геометрического моделирования, используемым в нашей системе, является библиотека OpenCascade [44]. Структуры данных этой библиотеки служат для представления CAD-моделей в виде, пригодном для визуализации, базового моделирования и обмена посредством открытых трансляторов (STEP, IGES). Разработка новых операторов моделирования осуществляется в рамках независимой NURBS-библиотеки, реализуемой в соответствии с широко известной монографией [36].

Рис. 8. Взаимодействие между двумя задействованными геометрическими ядрами Fig. 8. Interaction between two involved geometric cores

Передача данных между двумя библиотеками возможна следующими путями: при помощи формата JSON (JavaScript Object Notation) и с использованием специализированного программного модуля для соответствующего преобразования кривых и поверхностей (Рис. 8). Собственная библиотека геометрического моделирования адаптирована для решения задач обратного инжиниринга, тогда как компоненты OpenCascade играют роль геометрического ядра общего назначения. Похожие архитектурные решения прослеживаются, например, в работе [45].

{

entity: surface,

type: b-surface.

continuity: CO,

domain: {

U_min: 0,

U_max: 1,

V_min: 0,

V max: 1

properties: {

U_degree: 1,

V_degree: 1,

U_knots: [0, 0, 0.5, 1, 1],

V_knots: [0, 0, 0.5, 1, 1],

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

num_poles_in. _U_axis: 3,

num_poles_in. _V_axis: 3,

poles: {

uO: [[-10, -10, 0], [-10, 0, 0], [-10, 10, 0]],

ul: [[0, -10, 0], [0, 0, 10], [0, 10, 0]],

u2: [[10, -10 0], [10, 0, 0], [10, 10, 0]]

>

>

>

Рис. 9. Фрагмент определения B-поверхности первой степени в формате JSON Fig. 9. Fragment of determining the B-surface of the first degree in JSON format

Формат JSON (Рис. 9) является нейтральным по отношению к обеим библиотекам. С его помощью реализованы процедуры модульного тестирования.

4.4 Командная строка

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

5. Приложения

5.1 Автоматическая реконструкция лопатки

Одной из задач, решенных с использованием представленной системы, является воссоздание параметрической модели рабочего колеса турбины из дискретно заданных линий тока [12]. На рис. 10 показана геометрическая модель лопатки, которая на следующем этапе реплицируется в осевом направлении ротора и объединяется с моделью рабочего колеса турбины при помощи твердотельной булевой операции.

Рис. 10. Твердотельная модель лопатки турбины Fig. 10. Solid-state model of a turbine blade

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

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

5.2 Интерактивная реконструкция лопатки

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

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

Рис. 11. Сечения лопатки, построенные путем пересечения триангуляции с интерактивно

позиционируемой плоскостью Fig. 11. Blade cross-sections constructed by intersecting triangulation with an interactively positioned plane

Упорядоченные точки приближаются методом наименьших квадратов для получения B-кривых с заданной точностью. Для дальнейшего скиннинга кривые сечений должны быть совместимы [46], однако предыдущие шаги реконструкции этого не гарантируют. Более того, приведение сечений в совместимый вид путем унификации узлов, является практически нецелесообразным, так как итоговая поверхность оказывается чрезмерно сложной (рис 12).

Как замечают авторы [47], сокращение объема данных, представляющих геометрию лопатки, позволяет не только ускорить процедуру реконструкции, но также получить более гладкую поверхность и уменьшить расход памяти. Добавим также, что неоправданно высокое количество и концентрация контрольных точек сплайна затрудняет процесс параметрической оптимизации. Более того, избыточная сложность геометрического представления негативно сказывается на надежности последующих операторов моделирования, например, пересечения поверхностей. Простой способ понизить сложность итоговой поверхности состоит в том, чтобы избежать процедуры унификации профильных кривых, задавая их на едином узловом векторе изначально. Для этого исходные кривые дискретизируются с заданным количеством точек, после чего интерполируются с использованием центростремительной параметризации [48]. Результирующая поверхность имеет значительно меньшую сложность, однако остаются дефекты формы (рис. 13).

Для устранения эффекта «скручивания» лопатки, каждое сечение предварительно сегментируется. Мы используем интерактивный подход к сегментации, однако этот процесс допускает автоматизацию [49].

FGce(ifl)

Surface Vpe: Geom_BSplineSurface U degree: 3 V degree; 3 Continuity: C2 Not U-periodic Not V-periodic Num. of poles: 43665

Рис. 12. Поверхность лопатки, построенная скиннингом после унификации профильных кривых. Изолинии отвечают узловым значениям базисных сплайнов. Видны характерные сгущения. Поверхность содержит более 43 тыс. контрольных точек Fig. 12. The surface of the blade built by skinning after the unification of the profile curves. The isolines correspond to the node values of the basis splines. Visible characteristic thickening. The surface contains

more than 43 thousands of control points

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

профильных кривых

Fig. 13. A surface constructed by skinning on initially joint curves (contains 3,100 control points). The effect of «side twisting» is visible due to asynchronous parametrization ofprofile curves

Исходные данные реконструкции, как правило, содержат погрешность, связанную с несовершенством метода оцифровки. Кроме того, конструктивные линии, определенные пользователем для сегментации сторон лопатки, могут оказаться непреднамеренно извилистыми из-за ошибок ввода или разреженности облака точек. Для устранения искажений формы мы используем оператор скиннинга со сглаживанием [12]. Идея оператора состоит в том, чтобы изменить пространственное расположение контрольных точек промежуточных кривых скиннинга для минимизации энергии деформации [50]. Регулировка коэффициента сглаживания

X > 0 позволяет получить более гладкую поверхность ценой увеличения геометрической невязки (рис. 14).

Рис. 14. Скиннинг без сглаживания (слева) и со сглаживанием при значении коэффициента X = 1 Fig. 14. Skinning without smoothing (left) and with smoothing at a value of the coefficient X = 1

Итак, основными шагами процесса интерактивной реконструкции являются:

1) сечение триангуляции плоскостью и сортировка точек путем построения их огибающей по К ближайшим соседям [39];

2) сегментация каждого сечения с целью разделения сторон лопатки;

3) аппроксимация точек сечения с заданным допуском;

4) вторичная интерполяция регулярного облака, построенного дискретизацией профильных кривых [51], с целью их задания на едином узловом векторе;

5) объединение кривых в замкнутые контуры;

6) скиннинг со сглаживанием [12].

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

* = ЯЁ)2+2ШЧ£)2^ (2)

Здесь оператор (-)2 есть скалярный квадрат, а интегрирование осуществляется по всей области определения поверхности s (и, v).

Экспериментально полученная зависимость энергии деформации от значения коэффициента сглаживания показана на рис. 15.

Рис. 15. Зависимость приближенной энергии деформации от коэффициента сглаживания X Fig. 15. Dependence of the approximate strain energy on the smoothing coefficient X

Из рис. 15 видно, что зависимость между энергией деформации поверхности и коэффициентом сглаживания не есть монотонно убывающая функция. Действительно, функционал энергии (2) не является целевым для процедуры сглаживания направляющих скиннинга. Согласно подходу [12], сглаживание кривой c(u) гарантирует минимизацию лишь функционала (3), агрегирующего геометрическую невязку с — с0 с энергией изгиба.

Ec = j[X[c"]2 + [c-c0]2}du (3)

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

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

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

Tab. 1. The values of the maximum and minimum mean curvature in the vicinity of the local minimum of the deformation energy (fig. 15)

X Mean curvature (min) Mean curvature (max)

1e-4 -0.492 1.25

1e-3 -0.492 1.21

0.01 -0.493 1.21

0.1 -0.539 1.22

1 -0.557 1.22

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

Fairing coefficient

Рис. 16. Зависимость максимальной геометрической невязки от коэффициента сглаживания X Fig. 16. Dependence of the maximum geometric residual on the smoothing coefficient X

Измерения производились в точках, снятых с результирующей поверхности s(u,p) с шагом 0.01 в параметрическом направлении и и 0.005 в параметрическом направлении v (рис. 17).

Рис. 17. Карта искажений сглаженной лопатки относительно исходной триангуляции для X = 0.001 Fig. 17. The distortion map of the smoothed blade relative to the original triangulation

for X = 0.001

6. Заключение

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

Для оценки геометрической точности в режиме реального времени интерес представляют подходы, привлекающие вычисления на GPU [52]. Еще одним пробелом в текущей системе является недостаточность набора операторов аппроксимации поверхностей. С практической точки зрения перспективной выглядит стратегия, изложенная в работе [53], а также дополняющий ее подход [54].

Исходные коды системы и расширенная документация доступны в глобальной сети по адресу www.analysissitus.org.

Список литературы

[1] Geng Z. and Bidanda B. Review of reverse engineering systems - current state of the art. Virtual and Physical Prototyping, vol. 12, no. 2, 2017, pp, 161-172.

[2] Requicha A.G. Representations for Rigid Solids: Theory, Methods, and Systems. ACM Computing Surveys vol. 12, no. 4, 1980, pp. 437-464.

[3] Sederberg T.W. and Parry S.R. Free-form deformation of solid geometric models. In Proc. of the 13th annual conference on Computer graphics and interactive techniques (SIGGRAPH'86), 1986, pp. 151160.

[4] Bradley C. and Currie B. Advances in the Field of Reverse Engineering. Computer-Aided Design and Applications, vol. 2, no. 5, 2005m pp. 697-706.

[5] Gulanova J., Gulan L., Forrai M., and Hirz M. Generative engineering design methodology used for the development of surface-based components. Computer-Aided Design and Applications vol. 14, no. 5, 2017, pp. 642-649.

[6] Hafer L. and Kirkpatrick A.E. Assessing open source software as a scholarly contribution. Communications of the ACM, vol. 52, no. 12, 2009, pp. 126-129.

[7] Brown C.M. PADL-2: A Technical Summary. IEEE Computer Graphics and Applications, vol. 2, issue 2, 1982, pp. 69-84.

[8] Francesco Buonamici, Monica Carfagni, Rocco Furferi, Lapo Governi, Alessandro Lapini, Yary Volpe.

. Reverse engineering modeling methods and tools : a survey. Computer-Aided Design and Applications, vol. 15, issue 3, 2018, pp. 443-464.

[9] Ibanez L, Schroeder W, Hanwell MD. Practicing Open Science. In Implementing Reproducible Computational Research, Chapman and Hall/CRC, 2014, pp. 241-280.

[10] Varady T. Automatic Procedures to Create CAD Models from Measured Data. Computer-Aided Design and Applications, vol. 5, no. 5, 2008, pp. 577-588.

[11] Mohaghegh K., Sadeghi M.H., and Abdullah A. Reverse engineering of turbine blades based on design intent. The International Journal of Advanced Manufacturing Technology, vol. 32, issue 9-10, 2007, pp. 1009-1020.

[12] Сляднев С.Е., Турлапов В.Е. Реконструкция параметрической модели лопатки турбины из набора аэродинамических сечений с использованием техники сглаживания. Труды 28-й Международной конференции по компьютерной графике и машинному зрению (ГрафиКон-2018), 2018 г., стр. 495-499.

[13] Du T., Inala J.P., Pu Y. et al. InverseCSG: automatic conversion of 3D models to CSG trees. ACM Transactions on Graphics, vol. 27, no. 4, 2018, pp. 1-16.

[14] Сляднев С., Турлапов В. Метод декомпозиции машиностроительных твердотельных моделей на элементы объема изъятия. Труды 26-й Международной конференции по компьютерной графике, обработке изображений и машинному зрению, системам визуализации и виртуального окружения (ГрафиКон-2016), 2016 г., стр. 58-63.

[15] Ye X., Liu H., Chen L., Chen Z., Pan X., and Zhang S. Reverse innovative design - an integrated product design methodology. CAD Computer Aided Design, vol. 40, no. 7, 2008, pp. 812-827.

[16] Harries S., Abt C., and Brenner M. Upfront CAD - Parametric Modeling Techniques for Shape Optimization. Computational Methods in Applied Sciences, vol. 48, 2019, pp. 191-211.

[17] Catmull E. and Clark J. Recursively generated B-spline surfaces on arbitrary topological meshes. Computer-Aided Design, vol. 10, no. 6, 1978, pp. 350-355.

[18] Antonelli M., Beccari C.V., Casciola G., Ciarloni R., and Morigi S. Subdivision surfaces integrated in a CAD system. Computer Aided Design, vol. 45, no. 11, 2013, pp. 1294-1305.

[19] Sederberg T.W., Zheng J., Bakenov A., and Nasri A. T-splines and T-NURCCs. ACM Transactions on Graphics, vol. 22 issue 3, 2003, pp. 477-484.

[20] Eck M. and Hoppe H. 1996. Automatic reconstruction of B-spline surfaces of arbitrary topological type. In Proc. of the 23rd annual conference on Computer graphics and interactive techniques (SIGGRAPH '96), 1996, pp. 325-334.

[21] Albat F., Müller R. Free-Form Surface Construction in a Commercial CAD/CAM System. Lecture Notes in Computer Science, vol. 3604. 2005, pp. 1-13.

[22] Andrews J., Jin H., and Séquin C. Interactive Inverse 3D Modeling. Computer-Aided Design and Applications, vol. 9, no. 6, 2012, pp. 881-900.

[23] Brooks F.P. The computer scientist as toolsmith II. Communications of the ACM, vol. 39, no. 3, 1996, pp. 61-68.

[24] Mobius J. and Kobbelt L. OpenFlipper: An open source geometry processing and rendering framework. Lecture Notes in Computer Science, vol. 6920, 2012, pp. 488-500.

[25] Cignoni P., Callieri M., Corsini M., Dellepiane M., Ganovelli F., and Ranzuglia G. MeshLab: an Open-Source Mesh Processing Tool. In Proc. of the Sixth Eurographics Italian Chapter Conference, 2008, pp. 129-136.

[26] Wang J., Gu D., Gao Z., Yu Z., Tan C., and Zhou L. Feature-Based Solid Model Reconstruction. Journal of Computing and Information Science in Engineering, vol. 13, no. 1, 2013.

[27] Hirz M., Rossbacher P., and Gulanova J. Future Trends in CAD - from the Perspective of Automotive Industry. In Proc. of the CAD'16, 2016, pp. 734-741.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

[28] Schroeder W., Martin K., Lorensen B. Visualization Toolkit: An Object-Oriented Approach to 3D Graphics. Kitware, 2006, 528 p.

[29] Meyer M., Desbrun M., Schröder P., and Barr A.H. Discrete Differential-Geometry Operators for Triangulated 2-Manifolds. In Visualization and Mathematics III, Mathematics and Visualization, Springer, 2003, pp. 35-57.

[30] Anwer N. and Mathieu L. From reverse engineering to shape engineering in mechanical design. CIRP Annals, vol. 65, issue 1, 2016, pp. 165-168.

[31] Venkataraman S., Sohoni, M., and Kulkarni, V. A graph-based framework for feature recognition. In Proc. of the sixth ACM symposium on Solid modeling and applications (SMA '01), 2001, 194-205.

[32] Varady, T., Martin R.R., and Cox J. Reverse engineering of geometric models—an introduction. Computer-Aided Design, vol. 29, no. 4, 1997, pp. 255-268.

[33] Lin F. and Hewitt W.T. Expressing Coons-Gordon surfaces as nurbs. Computer-Aided Design, vol. 26, no. 2, 1994, pp. 145-155.

[34] Corney J.R. and Lim T. 3D Modelling with ACIS, 2nd edition. Saxe-Coburg Publications, 2001. 388 p.

[35] Beccari C.V., Farella E., Liverani A., Morigi S., and Rucci M. A fast interactive reverse-engineering system. Computer-Aided Design, vol. 42, no. 10, 2010, pp. 860-873.

[36] Piegl L., Tille, W. The NURBS Book. Springer, 1996, 646 p.

[37] Kallay M. Constrained optimization in surface design, In Modeling in Computer Graphics, Springer, 1993, pp. 85-93.

[38] Bartels R.H., and Beatty J.C. A technique for the direct manipulation of spline curves. In Proc. of the Graphics Interface Conference'89, 1989, pp. 33-39.

[39] Moreira, A. and Santos, M.Y. Concave hull : a k-nearest neighbours approach for the computation of the region occupied by a set of points. In Proc. of the Second International Conference on Computer Graphics Theory and Applications, 2007, pp. 61-68.

[40] Slyadnev S. Active Data: SDK for organizing data of CAD/CAM/CAE software (powered by Open CASCADE Technology). Technical report. Режим доступа:

https://www.researchgate.net/publication/282149692_Active_Data_SDK_for_organizing_data_of_CAD CAMCAE_software_powered_by_Open_CASCADE_Technology, дата обращения 28.01.2019.

[41] Jackson D.J. Boundary representation modelling with local tolerances. In. Proc. of the Third Symposium on Solid Modeling and Applications (SMA '95), 1995, pp. 247-254.

[42] Frischmann F. Topological and Geometric Healing on Solid Models. Master thesis, Faculty of Civil Engineering and Geodesy, Technische Universitat Munchen. 2011, 137 p.

[43] Slyadnev S., Malyshev A., and Turlapov V. CAD model inspection utility and prototyping framework based on OpenCascade. In Proc. of the 27th International Conference on Computer graphics, image processing and computer vision, visualization systems and virtual environment (GraphiCon 2017), pp. 323-327.

[44] Сляднев C. Open CASCADE Technology Overview. Режим доступа: http://isicad.net/articles.php?article_num=17368, дата обращения 28.01.2019.

[45] Colombo G., Facoetti G., Rizzi C., and Vitali A. Simplynurbs: A software library to model nurbs for medical applications. Computer-Aided Design and Applications, vol. 12, no. 6, 2015, pp. 794-802.

[46] Piegl L.A. and Tiller W. Surface skinning revisited. The Visual Computer, vol. 18, no. 4, 2002, pp. 273283.

[47] Pérez-Arribas F. and Pérez-Fernández R. A B-spline design model for propeller blades. Advances in Engineering Software, vol. 118, 2017, pp. 35-44.

[48] Lee E.T.Y. Choosing nodes in parametric curve interpolation. Computer Aided Design vol. 21, no. 6, 1989, pp. 363-370.

[49] Ke Y., Fan S., Zhu W., Li A., Liu F., and Shi X. Feature-based reverse modeling strategies. Computer Aided Design, vol. 38, no. 5, 2006, pp.485-506.

[50] Juhász, I. and Róth, Á. Adjusting the energies of curves defined by control points. Computer-Aided Design, vol. 107, 2019, pp. 77-88.

[51] Pagani L. and Scott P.J. Curvature based sampling of curves and surfaces. Computer Aided Geometric Design, vol. 59, 2018, pp. 32-48.

[52] Kurella V., Stone B., and Spence A. GPU accelerated CAD to inspection data deviation colormap generation. Computer-Aided Design and Applications, vol. 14, no. 2, 2017, pp. 234-241.

[53] Weiss V., Andor L., Renner G., and Várady T. Advanced surface fitting techniques. Computer Aided Geometric Design, vol. 19, 2002, pp. 19-42.

[54] Vaitkus M. and Várady T. Parameterizing and extending trimmed regions for tensor-product surface fitting. Computer Aided Design, vol. 104, 2018, pp. 125-140.

Toward the development of open source software for the reconstruction of CAD-models

S.E. Slyadnev <[email protected]> V.E. Turlapov <[email protected]> Lobachevsky State University of Nizhni Novgorod, 23, Gagarin Avenue), Nizhnij Novgorod, 603950, Russia

Abstract. We describe an open source software package aimed at solving reverse engineering problems for CAD models defined in the polygonal form. We briefly discuss the main principles behind the new software, its architecture, and directions for further development. Examples of a turbine blade demonstrate the use of the software. In the first example, a turbine blade is reconstructed automatically from a structured point cloud. Another example is the interactive reconstruction of a turbine blade from an unstructured surface triangulation. In both cases, we use surface skinning strategy enhanced by a curve fairing operator. We illustrate by an example that the modified skinning operator does not minimize the total bending energy of the surface, but allows constructing a smooth patch where input inaccuracies are compensated. The reconstruction result is a parametric model of a turbine blade where the design variables are the coordinates of the poles of each profile curve. The presented software architecture can be used for partial or complete parameterization of the reconstructed CAD models aimed at their subsequent optimization.

Keywords: CAD; reverse engineering; CAD-model reconstruction; turbine blade skinning; fairing

DOI: 10.15514/ISPRAS-2019-31(1)-6

For citation: Slyadnev S.E., Turlapov V.E. Toward the development of open source software for the reconstruction of CAD-models. Trudy ISP RAN/Proc. ISP RAS, vol. 31, issue 1, 2019. pp. 83-104 (in Russian). DOI: 10.15514/ISPRAS-2019-31(1)-6

References

[1] Geng Z. and Bidanda B. Review of reverse engineering systems - current state of the art. Virtual and Physical Prototyping, vol. 12, no. 2, 2017, pp, 161-172.

[2] Requicha A.G. Representations for Rigid Solids: Theory, Methods, and Systems. ACM Computing Surveys vol. 12, no. 4, 1980, pp. 437-464.

[3] Sederberg T.W. and Parry S.R. Free-form deformation of solid geometric models. In Proc. of the 13th annual conference on Computer graphics and interactive techniques (SIGGRAPH'86), 1986, pp. 151160.

[4] Bradley C. and Currie B. Advances in the Field of Reverse Engineering. Computer-Aided Design and Applications, vol. 2, no. 5, 2005m pp. 697-706.

[5] Gulanova J., Gulan L., Forrai M., and Hirz M. Generative engineering design methodology used for the development of surface-based components. Computer-Aided Design and Applications vol. 14, no. 5,

2017, pp. 642-649.

[6] Hafer L. and Kirkpatrick A.E. Assessing open source software as a scholarly contribution. Communications of the ACM, vol. 52, no. 12, 2009, pp. 126-129.

[7] Brown C.M. PADL-2: A Technical Summary. IEEE Computer Graphics and Applications, vol. 2, issue 2, 1982, pp. 69-84.

[8] Francesco Buonamici, Monica Carfagni, Rocco Furferi, Lapo Governi, Alessandro Lapini, Yary Volpe. . Reverse engineering modeling methods and tools : a survey. Computer-Aided Design and Applications, vol. 15, issue 3, 2018, pp. 443-464.

[9] Ibanez L, Schroeder W, Hanwell MD. Practicing Open Science. In Implementing Reproducible Computational Research, Chapman and Hall/CRC, 2014, pp. 241-280.

[10] Varady T. Automatic Procedures to Create CAD Models from Measured Data. Computer-Aided Design and Applications, vol. 5, no. 5, 2008, pp. 577-588.

[11] Mohaghegh K., Sadeghi M.H., and Abdullah A. Reverse engineering of turbine blades based on design intent. The International Journal of Advanced Manufacturing Technology, vol. 32, issue 9-10, 2007, pp. 1009-1020.

[12] Slyadnev S., Turlapov V. In Proc. of the 27th International Conference on Computer graphics, image processing and computer vision, visualization systems and virtual environment (GraphiCon 2018),

2018, pp. 495-499 (in Russian).

[13] Du T., Inala J.P., Pu Y. et al. InverseCSG: automatic conversion of 3D models to CSG trees. ACM Transactions on Graphics, vol. 27, no. 4, 2018, pp. 1-16.

[14] Slyadnev S., Turlapov V. The method of decomposition of engineering solid-state models into elements of the volume of withdrawal. In Proc. of the 26th International Conference on Computer graphics, image processing and computer vision, visualization systems and virtual environment (GraphiCon 2016), 2016, pp. 58-63 (in Russian).

[15] Ye X., Liu H., Chen L., Chen Z., Pan X., and Zhang S. Reverse innovative design - an integrated product design methodology. CAD Computer Aided Design, vol. 40, no. 7, 2008, pp. 812-827.

[16] Harries S., Abt C., and Brenner M. Upfront CAD - Parametric Modeling Techniques for Shape Optimization. Computational Methods in Applied Sciences, vol. 48, 2019, pp. 191-211.

[17] Catmull E. and Clark J. Recursively generated B-spline surfaces on arbitrary topological meshes. Computer-Aided Design, vol. 10, no. 6, 1978, pp. 350-355.

[18] Antonelli M., Beccari C.V., Casciola G., Ciarloni R., and Morigi S. Subdivision surfaces integrated in a CAD system. Computer Aided Design, vol. 45, no. 11, 2013, pp. 1294-1305.

[19] Sederberg T.W., Zheng J., Bakenov A., and Nasri A. T-splines and T-NURCCs. ACM Transactions on Graphics, vol. 22 issue 3, 2003, pp. 477-484.

[20] Eck M. and Hoppe H. Automatic reconstruction of B-spline surfaces of arbitrary topological type. In Proc. of the 23rd annual conference on Computer graphics and interactive techniques (SIGGRAPH '96), 1996, pp. 325-334.

[21] Albat F., Müller R. Free-Form Surface Construction in a Commercial CAD/CAM System. Lecture Notes in Computer Science, vol. 3604. 2005, pp. 1-13.

[22] Andrews J., Jin H., and Séquin C. Interactive Inverse 3D Modeling. Computer-Aided Design and Applications, vol. 9, no. 6, 2012, pp. 881-900.

[23] Brooks F.P. The computer scientist as toolsmith II. Communications of the ACM, vol. 39, no. 3, 1996, pp. 61-68.

[24] Mobius J. and Kobbelt L. OpenFlipper: An open source geometry processing and rendering framework. Lecture Notes in Computer Science, vol. 6920, 2012, pp. 488-500.

[25] Cignoni P., Callieri M., Corsini M., Dellepiane M., Ganovelli F., and Ranzuglia G. MeshLab: an Open-Source Mesh Processing Tool. In Proc. of the Sixth Eurographics Italian Chapter Conference, 2008, pp. 129-136.

[26] Wang J., Gu D., Gao Z., Yu Z., Tan C., and Zhou L. Feature-Based Solid Model Reconstruction. Journal of Computing and Information Science in Engineering, vol. 13, no. 1, 2013.

[27] Hirz M., Rossbacher P., and Gulanová J. Future Trends in CAD - from the Perspective of Automotive Industry. In Proc. of the CAD'16, 2016, pp. 734-741.

[28] Schroeder W., Martin K., Lorensen B. Visualization Toolkit: An Object-Oriented Approach to 3D Graphics. Kitware, 2006, 528 p.

[29] Meyer M., Desbrun M., Schröder P., and Barr A.H. Discrete Differential-Geometry Operators for Triangulated 2-Manifolds. In Visualization and Mathematics III, Mathematics and Visualization, Springer, 2003, pp. 35-57.

[30] Anwer N. and Mathieu L. From reverse engineering to shape engineering in mechanical design. CIRP Annals, vol. 65, issue 1, 2016, pp. 165-168.

[31] Venkataraman S., Sohoni, M., and Kulkarni, V. A graph-based framework for feature recognition. In Proc. of the sixth ACM symposium on Solid modeling and applications (SMA '01), 2001, 194-205.

[32] Várady, T., Martin R.R., and Cox J. Reverse engineering of geometric models—an introduction. Computer-Aided Design, vol. 29, no. 4, 1997, pp. 255-268.

[33] Lin F. and Hewitt W.T. Expressing Coons-Gordon surfaces as nurbs. Computer-Aided Design, vol. 26, no. 2, 1994, pp. 145-155.

[34] Corney J.R. and Lim T. 3D Modelling with ACIS, 2nd edition. Saxe-Coburg Publications, 2001. 388 p.

[35] Beccari C.V., Farella E., Liverani A., Morigi S., and Rucci M. A fast interactive reverse-engineering system. Computer-Aided Design, vol. 42, no. 10, 2010, pp. 860-873.

[36] Piegl L., Tille, W. The NURBS Book. Springer, 1996, 646 p.

[37] Kallay M. Constrained optimization in surface design, In Modeling in Computer Graphics, Springer, 1993, pp. 85-93.

[38] Bartels R.H., and Beatty J.C. A technique for the direct manipulation of spline curves. In Proc. of the Graphics Interface Conference'89, 1989, pp. 33-39.

[39] Moreira, A. and Santos, M.Y. Concave hull : a k-nearest neighbours approach for the computation of the region occupied by a set of points. In Proc. of the Second International Conference on Computer Graphics Theory and Applications, 2007, pp. 61-68.

[40] Slyadnev S. Active Data: SDK for organizing data of CAD/CAM/CAE software (powered by Open CASCADE Technology). Technical report. Available at:

https://www.researchgate.net/publication/282149692_Active_Data_SDK_for_organizing_data_of_CAD CAMCAE_software_powered_by_Open_CASCADE_Technology, accessed 28.01.2019.

[41] Jackson D.J. Boundary representation modelling with local tolerances. In. Proc. of the Third Symposium on Solid Modeling and Applications (SMA '95), 1995, pp. 247-254.

[42] Frischmann F. Topological and Geometric Healing on Solid Models. Master thesis, Faculty of Civil Engineering and Geodesy, Technische Universitat Munchen. 2011, 137 p.

[43] Slyadnev S., Malyshev A., and Turlapov V. 2017. CAD model inspection utility and prototyping framework based on OpenCascade. In Proc. of the 27th International Conference on Computer graphics, image processing and computer vision, visualization systems and virtual environment (GraphiCon 2017), pp. 323-327.

[44] Slyadnev S. Open CASCADE Technology Overview. Available at: http://isicad.net/articles.php?article_num=17368, дата обращения 28.01.2019.

[45] Colombo G., Facoetti G., Rizzi C., and Vitali A. Simplynurbs: A software library to model nurbs for medical applications. Computer-Aided Design and Applications, vol. 12, no. 6, 2015, pp. 794-802.

[46] Piegl L.A. and Tiller W. Surface skinning revisited. The Visual Computer, vol. 18, no. 4, 2002, pp. 273283.

[47] Pérez-Arribas F. and Pérez-Fernández R. A B-spline design model for propeller blades. Advances in Engineering Software, vol. 118, 2017, pp. 35-44.

[48] Lee E.T.Y. Choosing nodes in parametric curve interpolation. Computer Aided Design vol. 21, no. 6, 1989, pp. 363-370.

[49] Ke Y., Fan S., Zhu W., Li A., Liu F., and Shi X. Feature-based reverse modeling strategies. Computer Aided Design, vol. 38, no. 5, 2006, pp.485-506.

[50] Juhász, I. and Róth, Á. Adjusting the energies of curves defined by control points. Computer-Aided Design, vol. 107, 2019, pp. 77-88.

[51] Pagani L. and Scott P.J. Curvature based sampling of curves and surfaces. Computer Aided Geometric Design, vol. 59, 2018, pp. 32-48.

[52] Kurella V., Stone B., and Spence A. GPU accelerated CAD to inspection data deviation colormap generation. Computer-Aided Design and Applications, vol. 14, no. 2, 2017, pp. 234-241.

[53] Weiss V., Andor L., Renner G., and Várady T. Advanced surface fitting techniques. Computer Aided Geometric Design, vol. 19, 2002, pp. 19-42.

[54] Vaitkus M. and Várady T. Parameterizing and extending trimmed regions for tensor-product surface fitting. Computer Aided Design, vol. 104, 2018, pp. 125-140.

i Надоели баннеры? Вы всегда можете отключить рекламу.