Что такое реверс инжиниринг применительно к uml
Начальные сведения об объектном программировании
6.14. Reverse engineering – построение UML-диаграмм по разработанным классам
Появится диалоговая форма задания параметров создаваемого проекта, в которой следует изменить название проекта на осмысленное, по которому легко можно будет определить, к какому проекту Java он относится.
Для класса показываются конструкторы и обычные методы (узел Operations ), а также отношения наследования и другие варианты отношений (узел Relationships ).
Если выбрать пункт «Create Diagram From Selected Elements» («Создать диаграмму из выбранных элементов»), и далее выбрать тип диаграммы «Class Diagram»,
можно получить диаграмму такого вида:
Если для класса Circle во всплывающем меню выбрать пункт «Generate Dependency Diagram» («Сгенерировать диаграмму зависимостей»), получим следующую диаграмму :
Пункт всплывающего меню Navigate to Source позволяет вместо диаграмм показывать редактор исходного кода.
Краткие итоги
Типичные ошибки:
Задания
Модификатор static помечает подпрограмму как метод класса. То есть позволяет вызывать метод через имя класса без создания объекта.
Напомним, что факториал натурального числа n – это произведение всех натуральных чисел от 1 до n :
Reverse engineering – построение uml-диаграмм по разработанным классам
Среда NetBeans при установленном пакете NetBeans Enterprise Pack позволяет по имеющемуся исходному коду построить UML-диаграммы. Для этого следует открыть проект и нажать на главной панели среды разработки кнопку “Reverse Engineer…”
Кнопка “Reverse Engineering”
Появится диалоговая форма задания параметров создаваемого проекта, в которой следует изменить название проекта на осмысленное, по которому легко можно будет определить, к какому проекту Java он относится.
Диалоговая форма задания параметров создаваемого UML-проекта
В нашем случае UMLProject7 мы заменим на UML_Figure. После нажатия на кнопку Finish (“Закончить”) будет выдана форма с ненужной вспомогательной информацией, и в ней следует нажать кнопку Done (“Сделано”). В результате чего мы получим новый UML-проект, в котором можно просмотреть параметры, относящиеся к каждому классу:
Параметры UML-проекта, относящиеся к классу Circle
Для класса показываются конструкторы и обычные методы (узел Operations), а также отношения наследования и другие варианты отношений (узел Relationships).
В UML-проекте можно сгенерировать UML-диаграммы, щёлкнув правой кнопкой мыши по имени соответствующего класса:
Всплывающее меню действий с классом в UML-проекте
Если выбрать пункт “Create Diagram From Selected Elements” (“Создать диаграмму из выбранных элементов”), и далее выбрать тип диаграммы “Class Diagram”,
Выбор типа создаваемой диаграмы
можно получить диаграмму такого вида:
Диаграмма для класса Circle
При этом лучше заменить имя создаваемой диаграммы, например, на Circle Diagram. Переименование можно сделать и позже, щёлкнув правой кнопкой мыши по имени диаграммы и выбрав в появившемся всплывающем меню пункт Rename… (“Переименовать…”).
Если же выделить Circle,Dot,Figure, ScalableFigure, мы получим диаграмму наследования, которой можно дать имя Inheritance Diagram.
Диаграмма для классов Circle,Dot,Figure, ScalableFigure
Если для класса Circle во всплывающем меню выбрать пункт “Generate Dependency Diagram” (“Сгенерировать диаграмму зависимостей”), получим следующую диаграмму :
Диаграмма зависимостей для класса Circle
Пункт всплывающего меню Navigate to Source позволяет вместо диаграмм показывать редактор исходного кода.
На диаграммах можно добавлять в классы или удалять из них поля и методы, проводить переименования, менять модификаторы. Причём изменения, сделанные на любой из диаграмм, автоматически отражаются как на других диаграммах UML-проекта, так и в исходном коде проекта Java (это проектирование – Forward Enineering). И наоборот — изменения, сделанные в исходном коде Java, автоматически применяются к диаграммам UML (это обратное проектирование – Reverse Enineering).
В настоящее время работа с UML-проектами в NetBeans Enterprise Pack не до конца отлажена, иногда наблюдаются “баги” (мелкие ошибки). Но можно надеяться, что в ближайшее время недостатки будут исправлены.
Краткие итоги по главе 6
u Наследование опирается на инкапсуляцию. Оно позволяет строить на основе первоначального класса новые, добавляя в классы новые поля данных и методы. Первоначальный класс называется прародителем (ancestor), новые классы – его потомками (descendants). От потомков можно наследовать, получая очередных потомков. Набор классов, связанных отношением наследования, называется иерархией классов. Класс, стоящий во главе иерархии, от которого унаследованы все остальные (прямо или опосредованно), называется базовым классом иерархии.
u Иерархия нужна для того, чтобы писать полиморфный код. Основные преимущества объектного программирования обеспечиваются наличием полиморфного кода.
u Поля отражают состояние объекта, а методы — задают его поведение.
u Чем ближе к основанию иерархии лежит класс, тем более общим и универсальным (general) он является. Чем дальше от базового класса иерархии стоит класс, тем более специализированным (specialized) он является.
u Каждый объект класса-потомка при любых значениях его полей данных должен рассматриваться как экземпляр класса-прародителя на уровне абстракций поведения, но с некоторыми изменениями в реализации этого поведения.
u Проектирование классов осуществляется с помощью UML-диаграмм.
u В Java подпрограммы задаются только как методы в каком-либо классе и называются функциями. Объявление в классе функции состоит из задания заголовка и тела функции (её реализации).
u Параметры, указанные в заголовке функции при её декларации, называются формальными. А те параметры, которые подставляются во время вызова функции, называются фактическими. Формальные параметры нужны для того, чтобы указать последовательность действий с фактическими параметрами после того, как те будут переданы в подпрограмму во время вызова. Это ни что иное, как особый вид локальных переменных, которые используются для обмена данными с внешним миром.
u Параметры в Java передаются в функцию всегда по значению. Передача по ссылке отсутствует. В частности, ссылки передаются в функции по значению.
u В Java имеются уровни видимости private (“частный”, “закрытый”), пакетный, protected (“защищённый”) и public (Общедоступный). Пакетный – уровень видимости по умолчанию для полей и методов, для задания остальных уровней используются модификаторы private, protected и public.
u Ссылка this обеспечивает ссылку на объект из метода объекта. Чаще всего она используется при перекрытии области видимости имени поля объекта формальным параметром функции.
u В классе-наследнике методы можно переопределять. При этом у них должен сохраняться контракт – в который входит весь заголовок метода за исключением имён формальных параметров.
u Можно задавать перегруженные (overloaded) варианты методов, отличающиеся сигнатурой. В сигнатуру входит только часть заголовка метода – имя функции, а также число, порядок и тип её параметров.
u Переменной некоторого объектного типа можно присваивать выражение, имеющее тот же тип или тип класса-наследника. В качестве фактического параметра функции вместо формального параметра некоторого объектного типа можно подставлять выражение, имеющее тот же тип или тип класса-наследника. Именно это правило обеспечивает возможность использования полиморфного кода.
u Для приведения типа используется имя типа, заключённое в круглые скобки – как и для преобразования типа. Но при преобразовании типа могут меняться содержимое и размер ячейки, к которой применяется данный оператор, а при приведении типа ячейка и её содержимое остаются теми же, просто начинают считать, что у ячейки другой тип.
u Проверка на то, что объект является экземпляром заданного класса, осуществляется оператором instanceof: if(figure instanceof Circle)…
u Возможна программная проверка точного соответствия объекта нужному типу с помощью ссылки на класс: if(figure.getClass()==Circle.class)… При этом для экземпляра класса-наследника Circle сравнение даст false, в отличие от экземпляра Circle.
u Оператор isInstance позволяет проверять, является ли тип объекта совместимым с классом, на который задана ссылка c: if(c.isInstance(figure))… При если класс, экземпляром которого является объект figure, является наследником класса c или совпадает с ним, сравнение даст true.
u Рефакторинг – изменение структуры существующего проекта без изменения его функциональности. Три наиболее часто встречающихся примера рефакторинга: 1) Переименование элементов программы – классов, переменных, методов. 2) Перемещение элементов программы с одного места на другое. 3) Инкапсуляция полей данных.
u С помощью средств Reverse Engineering можно создавать UML-диаграммы классов и зависимостей классов. Причём после создания UML-проекта, сопровождающего Java-проект, изменения, сделанные в исходном коде Java, автоматически применяются к диаграммам UML, и наоборот.
public static double factorial(int n)
Модификатор static помечает подпрограмму как метод класса. То есть позволяет вызывать метод через имя класса без создания объекта.
Напомним, что факториал натурального числа n – это произведение всех натуральных чисел от 1 до n :
Кроме того, 0! считается равным 1. Обозначение факториала в виде n! математическое, в Java символ “!” зарезервирован для других целей. Также написать подпрограммы вычисления факториала с другими типами возвращаемых значений:
public static long factorial_long(int n) и
public static int factorial_int(int n)
Сравнить работу подпрограмм при n=0,1,5,10,20,50,100. Объяснить результаты.
Статьи к прочтению:
Klassendiagramme mit UML — Theoretische Objektorientierte Konzepte 1
Похожие статьи:
Пример 10Ж ввод вещественной матрицы A(n x m). writeln(‘Enter matrix ‘); forI := 1 ton do <перебор строк>Begin forj := 1 tom do<перебор элементов строк>…
Процесс разработки диаграммы классов занимает центральное место в ООАП сложных систем. От умения правильно выбрать классы и установить между ними…
Выбор 3D-сканера для реверс-инжиниринга
Здравствуйте! С вами Top 3D Shop и в очередном обзоре мы рассказываем о реверс-инжиниринге, особенностях выбора 3D-сканеров для него и примерах их использования.
Узнайте больше из этой статьи.
Содержание
Что такое реверс-инжиниринг или обратное проектирование изделий
Реверс-инжиниринг, он же обратный инжиниринг или обратное проектирование – процесс создания проекта деталей или изделий, для которых нет чертежей или документации. Создав с помощью 3D-сканирования цифровую модель CAD, эти детали можно изменить и оптимизировать, чтобы продлить их срок службы или добавить новые функции. Этот метод используется во многих отраслях промышленности, включая производство военной техники или космических аппаратов.
Обратный инжиниринг привлекает все больше внимания, из-за растущей популярности 3D-печати. Это связано с тем, что воспроизведение объекта или дизайна с помощью цифрового моделирования и 3D-печати более доступно рядовым пользователям, по сравнению с другими производственными процессами.
Компания ICON использует различные 3D-сканеры для реверс-инжиниринга деталей старинных автомобилей.
Процесс реверс-инжиниринга состоит из трех задач: получения достаточно точного цифрового слепка детали, перевода полученного изображения в твердотельную 3D-модель в специализированном программном продукте и последующей программной обработки полученной модели для устранения артефактов, преобразования формата и модификации, для создания проекта изделия, годного для запуска в производство.
Поэтому необходим правильный выбор 3D-сканера для получения первичных данных, наиболее соответствующих имеющейся задаче. Например, совершенно бессмысленно сканировать ювелирное украшение времяпролетным сканером для крупных объектов, и наоборот, очень высокая точность настольного или ручного сканера избыточна при 3D-сканировании, например, морского судна.
Компания NeoMetrix technologies использует 3D-сканер Creaform HandySCAN 700 для реверс-инжиниринга и метрологического контроля различных объектов.
Этапы реверс-инжиниринга
1. Подготовьте объект к сканированию, при необходимости нанесите маркеры. Обратите внимание, что даже слегка глянцевые поверхности затрудняют работу 3D-сканеров, а отражающие и прозрачные поверхности вообще почти невозможно сканировать без матового покрытия, поэтому распылите на объект временный матовый порошок для повышения точности сканирования.
2. Используйте 3D-сканер для захвата важных участков детали. Вам может потребоваться несколько раз сориентировать и повторно сканировать ваш объект, если он имеет отверстия или глубокие пазы.
3. Скорректируйте и оптимизируйте полученную полигональную сетку. Некоторые сканеры создают файлы очень большого размера, из-за чего могут возникнуть трудности с последующей обработкой или печатью. Удалите артефакты, проверьте сшивание поверхностей.
4. Импортируйте сетку в программное обеспечение CAD, оснащенное инструментами обратного проектирования.
5. Переведите полигональные поверхности в твердотельные. Подробнее о создании и обработке 3D-моделей читайте в нашей статье “Как создать модель для 3D-печати”.
6. При необходимости, добавьте в полученную 3D-модель новые объекты или удалите лишние.
7. Используйте 3D-принтеры или станки с ЧПУ для создания новой детали в соответствии с вновь созданной моделью.
Реверс-инжиниринг автомобильных деталей в компании Creaform с использованием 3D-сканера Creaform и ПО VXmodel и Autodesk Inventor.
Примеры использования
Реверс-инжиниринг импеллера
Производителю оборудования потребовалось оптимизировать производство продукта и устранить отклонения, возникающие при изготовлении. Традиционными средствами оказалось невозможно получить точные данные о детали, имеющей отверстия, мертвые углы и геометрически сложные поверхности. Импеллер имеет узкие зазоры между лопатками, что препятствует измерению с помощью зонда, поэтому было решено использовать лазерное 3D-сканирование и обработку результатов методами реверс-инжиниринга для сравнения с исходной цифровой моделью.
Для 3D-сканирования был использован высокоточный 3D-сканер ScanTech PRINCE с режимами красного и синего лазерного сканирования. Устройство имеет разрешение 0,020 мм, может быстро переключаться между режимами, способно сканировать глубокие отверстия с помощью одной красной лазерной линии, нечувствительно к внешнему освещению и способно захватывать мельчайшие детали.
При помощи 3D-сканера была получена полная детальная модель корпуса импеллера с лопатками.
Для анализа была создана полная цифровая модель.
Создание тележки для аудиоколонки методом реверс-инжиниринга
Для участия в спортивно-танцевальном мероприятии под названием «Colorguard» капитану потребовалось сделать что-то для команды. Она решила создать тележку на роликах для тяжелой колонки, которую девушки используют для воспроизведения музыки во время тренировок и выступлений. Колонка должна была легко сниматься с тележки при необходимости. Кроме того, необходимо было восстановить одну из ручек на ней, которая была сломана.
У колонки есть три одинаковые ручки, которые крепятся винтами. Чтобы создать новую ручку взамен сломанной, для сканирования одной из оставшихся ручек был использован 3D-сканер EinScan-SP. Так как ручка была очень темной, ее припудрили тонким слоем детской присыпки, чтобы сканер смог правильно распознать поверхность. EinScan-SP имеет функцию автоматического сшивания изображений, при повороте объекта на поворотном столе и в разных положениях объекта. Программа выбирает некоторые точки из нескольких сканированных изображений и совмещает их друг с другом. Это позволяет пользователям сканировать не только стороны, но также верх и низ объекта.
Для очистки полученного изображения от артефактов и коррекции имевшихся на ручке повреждений был использован инструмент “Deform: Smooth” в бесплатной утилите Autodesk Meshmixer. С помощью инструментов “Edit: Erase and Fill” с модели был удален имевшийся логотип производителя и добавлен логотип мероприятия. Meshmixer также был использован для того, чтобы убедиться, что отверстия для винтов имеют цилиндрическую форму. Обработка полученного STL-файла в программе Meshlab упростила модель и уменьшила размер файла с 26 до 2,4 Mb.
Для печати ручки использовался 3D-принтер Afinia H+1 с экструдером TPU и гибкая нить Cheetah от NinjaTek. Для большей жесткости использовалось заполнение на 80%. Полученная ручка оказалась одновременно прочной и приятной на ощупь.
После осмотра было решено использовать отверстия для крепления колонки в качестве точек крепления к тележке. Можно было бы потратить много времени на замеры штангенциркулем, но в этом случае эффективнее было использовать портативный 3D-сканер Shining 3D EinScan Pro 2X PLUS. Для лучшего захвата поверхностей использовались маркеры.
Хотя EinScan Pro 2X PLUS поставляется с программным обеспечением Solid Edge – полным пакетом САПР с возможностями реверс-инжиниринга, в этом случае использовался Autodesk Fusion 360, так как пользователю с ним было привычнее работать.
Полученная 3D-модель оказалась слишком велика для печати целиком, поэтому она была разбита на две части. Печатали черным PLA.
Траектория печати была оптимизирована таким образом, чтобы повысить прочность цилиндра и стенок модели.
Ручка тележки сделана из ABS-пластика, сваренного ацетоном, а плита основания из куска ДСП.
Использование реверс-инжиниринга в восстановлении пресс-формы
Gestamp – международная компания, занимающаяся проектированием, разработкой и изготовлением методом горячей штамповки металлических автомобильных деталей для крупнейших автопроизводителей. В современном производстве часто складывается ситуация, когда в изготовленный по CAD-модели штамп непосредственно на производстве вносятся изменения, которые забывают отразить в документации/исходной модели. В результате, при замене штампа вследствие его износа или повреждения, инженерам приходится заново вносить в него недокументированные изменения, что приводит к ошибкам и росту брака.
Эту ситуацию можно исправить с использованием реверс-инжиниринга. После того, как штамп установлен и настроен, он сканируется и все внесенные изменения фиксируются в цифровой модели. Полученный файл, полностью соответствующий отсканированной поверхности, включая малейшие детали, используется для реверс-инжиниринга штампа. Изменения, выявленные с помощью этого метода, включаются в исходную трехмерную модель штампа.
Специалисты Gestamp работают с 3D-сканерами Creaform HandySCAN 3D, высоко оценивая их точность, удобство и совместимость с программным обеспечением для реверс-инжиниринга.
Дизайн обуви с применением реверс-инжиниринга
Специалисты компании RangeVision исследовали вопрос ускорения реверс-инжиниринга объектов с большим количеством поверхностей, изменяющих свою кривизну в соответствии с математическими законами. В качестве опытной поверхности с такими свойствами они использовали подошву спортивной обуви.
Реверс-инжиниринг подошвы выполнялся в программе Geomagic Studio с использованием метода NURBS. В первую очередь были удалены артефакты и цифровой шум, создана система координат, обрезаны лишние детали, а границы сглажены.
После применения метода NURBS к полученной поверхности была создана окончательная 3D-модель. Обратный инжиниринг с использованием NURBS занял 4 часа. Полностью вся задача была выполнена в течение одного рабочего дня.
Сканирование различных объектов, DE-Engineering
Компания DE-Engineering выполняет заказы по высокоточной трехмерной оцифровке и реверс-инжинирингу различных объектов, от самолетов до ювелирных изделий. Основатель компании Дмитрий Эпштейн ведет на YouTube видеоблог, в котором публикует наиболее интересные работы. DE-Engineering использует 3D-сканеры RangeVision семейства PRO и Gom Atos.
3D-сканирование крупных объектов, таких как корпус вертолета или самолета, имеет некоторые особенности: для экономии времени маркеры наклеиваются на полосы малярного скотча, а само сканирование проводится с нескольких точек, чтобы облегчить сшивание модели с помощью ПО.
Для бронирования двух автомобилей Citroen Jumpy специалисты DE-Engineering провели трехмерное сканирование кузова и создали точную модель, в соответствии с которой были изготовлены металлические пластины. Высокая точность реверс-инжиниринга позволила установить броню без какой-либо дополнительной подгонки. Весь процесс занял семь дней: два дня на сканирование и пять на обработку результата.
В DE-Engineering стараются использовать обработку облака точек вместо полигонов, что удобнее с точки зрения упрощения модели. Это позволяет максимально увеличить детализацию объекта в местах со сложной геометрией и уменьшить на простых участках. Обработка производится с помощью ПО CATIA. Для сканирования ювелирных изделий используются сменные объективы.
3D-сканирование в реверс-инжиниринге детали сложной формы, Top 3D Shop
Клиент обратился в компанию Top 3D Shop с просьбой восстановить сломанную пластиковую деталь сложной формы.
Деталь была создана путем трехмерного сканирования сканером RangeVision Pro, реверс-инжиниринга и 3D-печати.
Шаг 1. Длина детали – около 30 см, поэтому применять ручные сканеры средней точности и решения для съемки больших объектов было нецелесообразно. Также не подошли настольные сканеры с мультиосевым столом, т.к. объект по длине не помещался в полуоткрытую камеру сканера. Оставалось использовать только стационарные оптические сканеры или высокоточные ручные.
Шаг 2. Объект имеет геометрию средней сложности. Для хорошего сканирования подобных деталей нужна точность сканера 40-60 мкм и выше.
На изображениях: твердотельные модели объекта с проведенными по ним работами для восстановления целостности объекта
Шаг 3. Чем выше точность 3D-сканера и чем больше у него возможностей, тем он дороже. Бюджет заказчика не позволил использовать сканеры GOM, Solutionix или Scantech, поэтому для сканирования в Top 3D Shop использовали 3D-сканер RangeVision Pro, который хорошо сканирует подобные небольшие объекты с точностью до 40 мкм. На основе данных, полученных при 3D-сканировании, был выполнен реверс-инжиниринг и подготовка детали к печати.
Как выбрать сканер для реверс-инжиниринга — инфографика
Прежде всего, необходимо определиться с размерами сканируемых объектов – это влияет на выбор технологии сканирования и тип сканера (стационарный настольный, ручной или напольный/наземный):
Для объектов размерами больше 10 м по любой из осей координат не подойдут 3D-сканеры с привычными технологиями лазерной триангуляции или структурированного света. Сканирование таких объектов даже ручным сканером займет немало времени, а из-за растущей погрешности снижается точность сбора данных, эта проблема частично решается фотограмметрией. Поэтому для очень крупных объектов (самолеты, корабли, здания) эффективнее всего использовать времяпролетные сканеры.
Для объектов больше 50 см но меньше 3 м эффективнее всего использовать ручные сканеры, оптические или лазерные.
Для объектов от 10 до 50 см лучше всего подходят стационарные (настольные или напольные на треноге) 3D-сканеры, как лазерные, так и оптические. Оптические настольные и напольные сканеры дешевле и доступнее лазерных. Для задач, требующих высокой скорости сканирования, можно использовать некоторые ручные лазерные сканеры.
Для мелких объектов лучше всего подойдут настольные высокоточные оптические сканеры. Сканеры такого типа можно разделить на 2 группы: стоматологические и универсальные.
Стоматологические имеют очень высокую точность, высокое разрешение и поворотные столы с возможностью крепления окклюдатора и подставок для слепков.
Универсальные обычно оборудованы мультиосевым поворотным столом, либо сам сканер закреплен на осях с несколькими степенями свободы. Такая конструкция позволяет автономно отсканировать большую часть поверхности объекта. У таких сканеров хорошая глубина сканирования, чтобы правильно передавать углубления.
Для объектов размерами 10-50 см лучше подойдут лазерные ручные сканеры, если соблюдается хотя бы одно из условий:
3D-сканирование планируется использовать очень часто;
объект сканирования невозможно транспортировать в студию, например — это несъемная деталь массивного механизма, или транспортировка невозможна по другим причинам;
если нет достаточно места для размещения стационарного сканера;
поверхность объекта сложна для сканирования оптикой – черная или сильно бликующая.
Определившись с размерами сканируемых объектов, важно понять, какая требуется точность сканирования, погрешность измерений, и необходим ли метрологический сканер.
Реверс-инжиниринг запасных частей автомобилей в Jay Leno’s Garage с помощью лазерного 3D-сканера Faro Quantum ScanArm HD и 3D-принтера Stratasys Dimension 1200es.
Программное обеспечение для моделирования и реверс-инжиниринга
ПО для создания полигональной модели
Для создания облака точек и полигональных моделей в большинстве случаев служит ПО используемого 3D-сканера. Некоторые программные продукты для 3D-сканирования и реверс-инжиниринга также имеют возможность прямой работы с наиболее популярными моделями сканеров.
ПО для преобразования полигональной модели в твердотельную
Geomagic Essentials
Geomagic Essentials – программное обеспечение, извлекающее все необходимые элементы отсканированной детали для прямого использования в имеющемся пакете CAD. Данный софт предназначен для работы со сканами сделанными Shining 3D EinScan Pro 2x, это совместный продукт 3D Systems и Shining 3D, выполняющий автоматическую обработку и передачу получаемых данных в среду CAD. Приложение можно использовать как для метрологического контроля, так и для реверс-инжиниринга деталей и узлов. Фирменные алгоритмы выравнивания и восстановления сетки, широкие возможности подгонки элементов, умение создавать поперечные сечения и высокая производительность при работе с большими объемами данных позволяют значительно сократить время работы специалистов.
Использование Geomagic Essentials для реверс-инжиниринга лопастей вентилятора пользователем Gregory George.
Geomagic Design X
Geomagic Design X – универсальное профессиональное программное обеспечение для обратного инжиниринга, сочетающее функции традиционного CAD с обработкой данных 3D-сканирования. Design X позволяет создавать функциональные редактируемые твердотельные модели, совместимые с существующим программным обеспечением CAD. Фирменные алгоритмы точной подгонки поверхности к 3D-сканам, редактирования сетки и обработки облака точек дают возможность проектирования компонентов, идеально интегрирующихся с существующими деталями. Простые в использовании инструменты для ремонта сетки обеспечивают быстрое заполнение отверстий, сглаживание, оптимизацию и сравнение с исходной моделью.
Реверс-инжиниринг компрессора с использованием 3D-сканирования и ПО Geomagic Design X в компании Artec 3D.
Autodesk Meshmixer
Autodesk Meshmixer полностью бесплатен и хорошо известен среди специалистов по 3D-печати. Meshmixer больше предназначен для работы с полигональными сетками, чем для параметрического моделирования, и имеет большой набор инструментов для этого. Функции автоматического анализа и коррекции очень удобны для обработки результатов 3D-сканирования. Программа также способна выполнять подготовку модели для 3D-печати, в том числе рассчитывать поддержки. Meshmixer прост и удобен в использовании, имеет множество обучающих материалов, доступных в Интернете.
Первое из серии видео компании AutoDesk, демонстрирующих возможности программы Meshmixer.
ПО для работы с твердотельными моделями
SolidWorks
SOLIDWORKS – программный продукт для трехмерного проектирования и реверс-инжиниринга. Помимо традиционных для CAD/CAM функций, в ПО имеются специализированные инструменты для проектирования деталей из листового металла, сварных узлов и пресс-форм. Огромная библиотека компонентов и деталей, улучшенная реалистичная визуализация, возможности проверки чертежей и анализа конструкций делают SOLIDWORKS одним из самых мощных программных продуктов для инженерной работы с 3D-объектами.
Первое из серии обучающих видео ПО SolidWorks: реверс-инжиниринг и обработка результатов 3D-сканирования.
Solid Edge
Solid Edge – простой в освоении и использовании пакет инструментов, охватывающий все этапы разработки продукта: проектирование и рендеринг CAD, моделирование, реверс-инжиниринг, управление данными и многое другое. Siemens также предоставляет учебные ресурсы, доступ в сообщество пользователей и консультантов Solid Edge, постоянные обновления ПО. При выполнении ряда условий, Solid Edge Premium можно использовать бесплатно в течение одного года.
Демонстрация возможностей ПО Solid Edge 2021 от компании Siemens Software.
Autodesk FUSION 360
Программа Autodesk Fusion 360 и все ее модули бесплатны для студентов, преподавателей, любителей и представителей малого бизнеса. ПО предназначено в основном для работы с твердотельными объектами и оснащается функциональными плагинами.
Реверс-инжиниринг пластикового корпуса с помощью 3D-сканера HDI и ПО Autodesk Fusion360 в компании Dream3D.
Правовые вопросы реверс-инжиниринга
Темная сторона реверс-инжиниринга – подделка и кража интеллектуальной собственности. Растущая доступность технологии может дать необоснованное преимущество недобросовестным производителям в условиях, когда законодательство отстает от требований современности. Фактически это означает, что прототипы, на создание которых у разработчиков ушло много времени и средств, могут быть безнаказанно подделаны с использованием технологий 3D-сканирования и печати.
Легкость, с которой можно копировать дизайн изделий, вынуждает крупные компании экспериментировать со способами защиты своих интеллектуальных прав, например — путем создания в продуктах дефектов, проявляющихся только при неавторизованном производстве, или внедрением аутентификационных штрих-кодов непосредственно в выпускаемые продукты.
Полное 3D-сканирование и реверс-инжиниринг кузова автомобиля с помощью 3D-сканера Creaform Go!SCAN SPARK.
Заключение
Будущее реверс-инжиниринга — в еще большей автоматизации процессов. Разработчики все активнее используют возможности искусственного интеллекта и облачных технологий в процессах сканирования и постобработки, чтобы позволить не имеющим опыта клиентам самостоятельно выполнять работу. Это может быть полезно специалистам в самых разных областях: от врачей, сканирующих части тела, до рабочих на строительных площадках. 3D-сканеры все больше проникают на потребительский рынок и, возможно, в конечном итоге станут такими же привычными, как камеры на смартфонах (к слову, некоторые смартфоны уже оснащаются времяпролетным сенсором).
Вы можете воспользоваться услугами 3D-сканирования, 3D-моделирования и изготовления деталей на нашей технической базе.