«Клонируем» сложные детальки при помощи сканера, 3д-принтера, inkscape и freecad

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

Итак, поехали. Первое, что нам потребуется — кусок бумаги или картона и обвести это все дело карандашом. Желательно бумагу брать не в клеточку.

Следующий шаг — сканируем. При сканировании лучше выбирать формат PNG. Он и артефактов не дает, и DPI сохраняет. Я выбрал разрешение 300dpi, но здесь это дело вкуса. Если бумага/картон у нас не совсем белый — мы можем немного поиграться с яркостью/контрастом, чтобы убрать большую часть шумов. В итоге я получил что-то вроде этого:

Теперь импортируем (File->Import) это хозяйство в inkscape. Для PNG он честно сохраняет DPI, в чем мы можем убедиться нарисовав какую-нибудь линию между противоположными точками чертежа и сравнить ее с тем, что нам даст обычная линейка. В принципе, если точность нужна еще большая имеет смысл сканировать что-то известных размеров, и рассчитать поправочный коэффициент, на который масштабировать картинку.

 

Теперь самое интересное, нам надо оттрассировать картинку в вектор. Эта операция заодно и уберет оставшиеся шумы. Выделяем картинку и щелкаем (Path->Trace Bitmap). В открывшемся диалоге видим:

Я выбирал режим Brightness Cutoff, который отсекает по яркости, Threshold около 0.6.

Обращаю внимание на точки на превьюшке справа. Они будут в случае грязной бумаги, небелого картона (как в моем случае, я выбрал его чтобы продемонстрировать нужные опции inkscape) или просто от того, что что-то попало под сканер. Так же точки могут окружать сами линии. По счастью inkscape умеет их убирать. Для этого заходим во вкладку Options и настраиваем пункт Suppress Speckles. При большом DPI параметр надо выкручивать на большое количество точек. Опять обращаю внимание на грабли — у меня на превьюшке изменение результат работы этой опции не отображался, только на финальном варианте.

После того, как наша картинка оттрассировалась, мы можем удалить с рабочей области исходную картинку и работать с результатом. У меня вышло как-то так.

Чтобы убрать артефакты по границе линии и упростить итоговую деталь, выделяем нашу форму и несколько раз делаем (Path->Simplify). Это убирает лишние точки, что нам только на руку. Главное не переборщить, так как этот инструмент имеет неприятное побочный эффект в виде скругления углов.

Теперь щелкаем на (Object->Fill and Stroke). На вкладке Fill убираем заливку цветом, на вкладке Stroke включаем отрисовку контура. При импорте в Freecad рекомендуют «Stroke width» равный 0mm, но тогда мы ничего не увидим, потому пока выставляем его в 0.1мм.

Теперь каждая линия разделилась на две. Лишние нам надо будет убрать. Лучше определиться и убирать либо только внешние, либо только внутренние. Но чтобы inkscape позволил нам это сделать, надо сначала выделить наш объект и сделать Path->Break Apart.

В итоге имеем что-то похожее на такое. На этом этапе можно перерисовать некоторые элементы, чтобы выглядели лучше, ровно как и делать любую другую доводку.

По завершении выставляем Stroke Width в 0, и экспортируем в Plain SVG. Или не выставляем Stroke Width в 0. Как показала практика — хоть в документации это и рекомендуется делать, FreeCad нормально импортирует даже с видимым контуром.

На этом работа с Inkscape закончена. Изначально я хотел юзать для этого solvespace, но при импорте dxf из inkscape (Как R12, так и R14) у меня ехали размеры (R12), а масштабирования в solvespace не завезли. R14 же порождал дичайшие артефакты по всему контуру. Огня подливало то, что при большом количестве точек solvespace отказывается адекватно работать со слоем и начинает существенно тормозить. Пришлось привлекать тяжелую артиллерию в виде FreeCAD. Последний, хоть и позволяет сделать больше, чем SolveSpace, отличается на редкость гоблинским с моей точки зрения интерфейсом. Хотя, возможно это просто дело привычки.

Итак, создаем новый проект и импортируем SVG (Как геометрию). В итоге видим что-то такое:

Выбираем в меню инструментов Draft, выделяем все импортированные пути и жмякаем (Draft->Upgrade)
Теперь переходим меню инстурментов Part. Теперь выделяем все элементы и жмем (Part->Extrude) и вводим желаемую толщину, после чего получаем примерно такую картинку.

Не хватает только отверстий там, где они должны быть.
Теперь поочередно выделяем саму внешнюю деталь и один из внутренних вырезов, после чего жмякаем (Part->Bolean->Cut). После энного количества итераций получаем наконец-то готовую модельку, которую мы можем экспортировать в STL.

А после и распечатать.

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

Добавить комментарий

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.