Введение
Недавно я приобрел себе 3D сканер Revopoint, но вот реальных задач, к сожалению, не подворачивалось. Но недавно друг попросили сделать ему крепление длоя go pro на шлем для мотоцикла. Собственно, самая сложная часть в этом процессе это смоделировать крепеж на основе существующей заглушки. Эта задача выродилась в интерсный проект по реверс инженерену объемной детали.
Сканирование модели
Для сканирования использовалось стандартное ПО от производителя RevoScan 5.
Перед началом сканирования с сразу столкнулся с небольшой проблемой: деталь, которую нужно сканировать была черная - это плохо так как свет при сканировании темных деталей поглощается и модель получается плохая.
Так же не рекомендуется сканировать блестящие поверхности из-за некорректного отражения света и, соответственно, влияния на качество модели.
Для решения этих проблемы существуют 2 варианта:
- матирующие покрытия
- светоотражающие маркеры
Я выбрал вариант с матированием, в целом модель почилась не идеальная, но приемлемая для работы.
Результат сканирования выглядет вот так:
После этого можно выгрузить модель в файл и перейти во freecad для создания CAD модели.
Cоздание CAD модели на основе 3d скана
Моделирование основной плоскости
На этом шаге сложность была в том, что у детали не было нормальной плоскости XY, поэтому чтобы ее получить, пришлось пойти на некоторые ухищерения.
Нужно выбрать верстак Surface:
И на нем найти функцию Curve on mesh:
Данное дествие позволит создать кривую, которая будет повторять контур нижней границы. Нижняя граница выбрана не случайно, так как она дает основной изгиб детали относительно плоскости XY.
В итоге получилась следующаяя линия:
Можно заметить что он не доходит до краев формы, поэтому ее надо удленить.
Для этого нужно перейти на верстак Curves (он устанавливается дополнительно):
Выбрать на нем функцию Curve extend и подогнать расширение концов отрезка под нужную величину:
В итоге получилась следующая кривая:
Далее моделировать пойдем от этой кривой.
Далее скроем модель и создадим скетч, а на котором нарисуем еще одну кривую, от которой будет строиться остальной чертеж.
Перейдем на верста Part и созданим новый скетч с помощью кнопки:
В данном чертеже обведем полученную кривую, для того чтобы создать новую границу поверхности:
Создаем поверхность с помощью функции Sweep..
Далее с помощью функции Extrude задаем нужный объем фронтальной части:
Далее нужно получить объект из пересечения 2-х частей: поверхности и фронтальной части. Для этого применяется функция Intersection
После этого нужно задать толщину детали. Делается это функцией Offset:
После этого можно посмотерть насколько поверхность соответсвтует изначальной детали:
После этого можно переходить к отрисовке креплений.
Отрисовка креплений
Создаем новый скетч как через Create sketch и выбираем нужню плостость (с тыльной стороны) для отрисовки:
После этого можно обвести нужную форму крепежа у загруженной модели:
В зависимости от позициорирования модели, возмжно, придется сделать плоскости смещение чтобы увидеть весь чертеж:
После этого делаем Extrude для этой геометри:
Далее в получившимся блоке нужно сделать небольшую выемку чтобы получился крепеж.
Для этого создаем еще один скетч, но уже с фронтальной стороны, и делаем геометрию для выреза:
После чего делается Extrude в противоположну сторону (со знаком -), чтобы получилось пересечение:
Теперь с помощью с помощью операции Cut получаем итоговую геометрию:
Проверяем на сколько это попадает в модель:
И проверяем как оно будет крепиться к основной плоскости:
После этого повторяем операцию для всех верхних крипежей и центрального нижнего. После этого объединяем все в одну деталь с помощью Union:
Отрисовка нижней части
Основная нижняя часть будет повторять геометрию кривой на основе которой строилась основная плоскость. Для отрисовки нижней части также создается новый скетчи и обводидятся контуры исходной детали (но с учетом уже сделанной плоскости):
Как можно заметить тут есть вырез, который я не стал обновить и сделал его через дополнительню геометрию и операцию Cut (как делалось выше). В итоге получилось такое:
Далее опять делаются крепежи нижней части, делаются они аналогичным способом, описанным выше. В результате получается:
Опять же нужно посмотреть как это смотрится на исходной модели:
Крепеж кабель канал
Для отрисоки кабель канала я взял вернюю проекцию и сделал 2 чертежа для основной подложки и кабель канала. Надо отметить что в данном месте модель должна отличаться, так как в ней должен быть вырез под провод вместо сплошной площадка, поэтому чертежи отличаются от оригинала.
Далее опять через комбинации Extrude, Cut, Union получил итоговую деталь (с учетом выреза под провод):
Если мы наложим деталь на чертеж и посмотрим с боку, то будет виден недостаток, который не был учтен:
Для того чтобы это исправить нужно повернуть нашу деталь с помощью Transform (в меню выбирать деталь и нажать правую кноку):
В итоге получаем правильный угол:
Склейка детали
Когда у нас есть все детали, мы можем их объединить в оду с помощью Boolean XOR:
В итоге получается итоговая деталь:
Заключение
По описанному в статье может показаться что процесс реверс инжиниринга детали довольно тривиальная задача, снял скан, обвел контуры и получил модель, но это не так. В итоге после распечатки и примерки данной детали у меня так и не получилось довести ее до ума даже через 10-15 итераций.
Основные выводы провала:
- Для качественной модели при сканировании критически важно четкое позициорирование одной грани по плоскости XY (увы я это понял поздно);
- Сходство исходного скана и CAD чертежа не дают никаких гарантий корректности;
- Матрирующие спреи могут давать доп погрешности при сканировани в виде капель и разводов, что критически влияет на качество для небольших моделей;
- Даже качественный скан детали со сложной геометрией имеет погрешности, влияющие на конечный результат. Поэтому если есть возможность работать с чертежом (или сделать его) я бы не заморачивался бы со сканированием;