Имеем картинку и цель - получить g-code. Какие способы и методы мы знаем?

Показываем свои изделия, гордимся, хвастаемся, завидуем.
a321
Мастер
Сообщения: 563
Зарегистрирован: 03 дек 2016, 00:30
Репутация: 65
Контактная информация:

Имеем картинку и цель - получить g-code. Какие способы и методы мы знаем?

Сообщение a321 »

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

Известное решение - скрипт image-to-gcode из состава LinuxCNC. Работает сносно. Требует радикальной подготовки картинки. Использует линенное преобразование "мера черного -> высота", что является существенным недостатком. Возьмем inkscape, нариуем окружность, сделаем на нее градиентную заливку а-ля шар. Эту картинку скормим i-to-g и получим грубый конус. Выход? - питон-скрипту было бы правильно научиться выводить одновременно линейное преобразовани, cos & cos^^2 (это по моим экспериментам дает что-то близкое к шару в этом эксперименте).

Тупиковое (покамест) решение - FreeCad и верстак Litophane дает из картинки множество точек, Mesh. Туда же можно ипортировать g-code от скрипта i-tо-g, увидеть и перемещать по чертежу, модели, но на этом и "все".

Какой есть опыт решения такого рода задач? желательно не в виде "иди ты в bleder", реальный путь к успеху. Искать и использовать библиотечные блендеровые модели - IMHO упадничество, они (все мною виденные) имеют очевидный привкус примитивизма 21 века. Задача стоит именно в использовании графики, фотографий (в т.ч. из собственных этнографических экспедиций).
К примеру вот две женщины, их века у них написаны на лицах -
Вложения
dbkrf.jpg (3823 просмотра) <a class='original' href='./download/file.php?id=203244&sid=f7471d0b05bc6f02c787add091ea14c4&mode=view' target=_blank>Загрузить оригинал (117.44 КБ)</a>
il_1140xN.3201334783_4isr.jpg (3823 просмотра) <a class='original' href='./download/file.php?id=203245&sid=f7471d0b05bc6f02c787add091ea14c4&mode=view' target=_blank>Загрузить оригинал (59.11 КБ)</a>
Аватара пользователя
шпиндель
Мастер
Сообщения: 1793
Зарегистрирован: 23 янв 2016, 17:57
Репутация: 900
Настоящее имя: Дмитрий
Откуда: Бологое
Контактная информация:

Re: Имеем картинку и цель - получить g-code. Какие способы и методы мы знаем?

Сообщение шпиндель »

два метода...заказать 3д умеющим делать такое или самому научиться 3д...других вариантов нет ...думаю вилка примерно 10 т руб , русалка 6 т :eat:
a321
Мастер
Сообщения: 563
Зарегистрирован: 03 дек 2016, 00:30
Репутация: 65
Контактная информация:

Re: Имеем картинку и цель - получить g-code. Какие способы и методы мы знаем?

Сообщение a321 »

русалка и даром не надо. Равно как и вилка как таковая. Мне удочка нужна, а не рыба. Не говоря уже о том, что чаще всего заказные модели даже по хорошим образцам становятся такими русалками. Речь идет о механизмах трансформации, а не поиске исполнителя.
Аватара пользователя
шпиндель
Мастер
Сообщения: 1793
Зарегистрирован: 23 янв 2016, 17:57
Репутация: 900
Настоящее имя: Дмитрий
Откуда: Бологое
Контактная информация:

Re: Имеем картинку и цель - получить g-code. Какие способы и методы мы знаем?

Сообщение шпиндель »

a321 писал(а): Речь идет о механизмах трансформации, а не поиске исполнителя.
тогда Zbrush
https://www.youtube.com/watch?v=jszkuJg ... 0%BE%D0%B2
a321
Мастер
Сообщения: 563
Зарегистрирован: 03 дек 2016, 00:30
Репутация: 65
Контактная информация:

Re: Имеем картинку и цель - получить g-code. Какие способы и методы мы знаем?

Сообщение a321 »

Года два назад в топике уважаемого Гармониста я делился результатами и наблюдениями viewtopic.php?p=560044#p560044
Пришлось самому повозиться, оказалось не сложно.
В исходном image-to-gcode, который идет в составе LinuxCNC, скрипт преобразует черно-белую картинку в готовый к использованию на CNC g-code. При использовании этого скрипта становится очевидной простая проблема - скрипт использует линейную логику преобразования "черное = линейная функция высоты", а в жизни, на реальных изображениях, эта функция не линейная. Пример простой - создадим в Inkscape окружность + заливка + градиент для визуальной иллюзии "объемный шар". Это изображение обработаем в скрипте и увидим, что получили = конус.
Я в python полный "нуль". Поэтому осторожно внес исправления в код для реализации универсальной функции изменения этой логики в нелинейную, тригонометрическую с показателем степени. Я сознательно не затрагивал никакие другие разделы логики. При указании показателя степени 0 мы получаем исходный результат (линейный). Любое другое заданное число (в качестве параметра настройки логики), можно отрицательное, можно не целое, дают иной результат - можно экспериментировать. На самом деле можно будет реализовать поле ввода текста задания любой другой логики преобразования "чернота-высота".
Попутно исследовал влияние усложнения логики на время вычислений - почему-то не влияет, хотя тригонометрические функции и вовзведение в степень должно бы усложнять вычисления и существенно (со студенческих 80-х помню трюк вместо квадрата и куба явно задать умножение).

Я посмотрел на GIT число клонов этого скрипта и не хочу создавать еще один (из большого множества). Добавленный функционал важен, на исходный (линейный) функционал не влияет. Важно - в моей "системе" я редактировал исходный файл в /usr/bin/ (поскольку при переносе в хомовник он при запуске ищет в /home/share .... tc, бороться с этим я не захотел, хотя и мог подсунуть симлинк).

Следующий этап - исследование GIT на тему "картинка -> mesh". Решений там предлагается много, например
https://github.com/coltonbishop/donatello
https://github.com/search?p=3&q=image-t ... positories

Если кто потратит время на исследование и обзор - было бы мило.
Вложения
Снимок экрана от 2022-05-18 22-22-00.jpg (3605 просмотров) <a class='original' href='./download/file.php?id=203396&sid=f7471d0b05bc6f02c787add091ea14c4&mode=view' target=_blank>Загрузить оригинал (111.92 КБ)</a>
Снимок экрана от 2022-05-18 22-21-47.jpg (3605 просмотров) <a class='original' href='./download/file.php?id=203397&sid=f7471d0b05bc6f02c787add091ea14c4&mode=view' target=_blank>Загрузить оригинал (129.93 КБ)</a>
2.jpg (3605 просмотров) <a class='original' href='./download/file.php?id=203398&sid=f7471d0b05bc6f02c787add091ea14c4&mode=view' target=_blank>Загрузить оригинал (16.22 КБ)</a>
Снимок экрана от 2022-05-19 12-12-28.jpg (3605 просмотров) <a class='original' href='./download/file.php?id=203399&sid=f7471d0b05bc6f02c787add091ea14c4&mode=view' target=_blank>Загрузить оригинал (65.02 КБ)</a>
image-to-gcode.zip
(8.1 КБ) 125 скачиваний
Аватара пользователя
Леонид Владимирович
Мастер
Сообщения: 336
Зарегистрирован: 07 дек 2018, 09:11
Репутация: 34
Настоящее имя: Леонид Владимирович
Контактная информация:

Re: Имеем картинку и цель - получить g-code. Какие способы и методы мы знаем?

Сообщение Леонид Владимирович »

Модель по картинке - это "фотограмметрия" называется.
Пробовал программу 3DF+Zephyr.
Требует несколько фотографий с разных сторон, цепляется за текстуру поверхности и рассчитывает 3д модель.
Считает долго. Есть бесплатная слегка обрезанная версия. Что-то получается, но я глубоко в тему пока не влезал.
Должно быть у других людей слишком длинная жизнь, если они могут себе позволить фрезеровать на скорости меньше 10 м/мин...
SVP
Мастер
Сообщения: 6135
Зарегистрирован: 19 дек 2012, 15:49
Репутация: 884
Откуда: Москва
Контактная информация:

Re: Имеем картинку и цель - получить g-code. Какие способы и методы мы знаем?

Сообщение SVP »

Нет, ничего приличного "для вилок" вы по фотографиям не получите.
Ну или этих фотографий надо будет много десятков, а может и сотен штук.
Чтобы человек смог нарисовать вилку адекватно - нужны десятки фото, чтобы конкретная вилка получилась, а не отсебятина на тему вилки.
В некоторых "темах" чуть проще, т.к. например в ювелирке есть типовые решения, которые можно увидеть (часть их) и понять как именно сделано. Но и там "всё непросто".
Если нужна очень приблизительная модель, тогда да, а вот то, что на фото... уверен, что не каждый сканер даст приличный результат,
нужны какие-то решения "для мелочевки".
SVP
Мастер
Сообщения: 6135
Зарегистрирован: 19 дек 2012, 15:49
Репутация: 884
Откуда: Москва
Контактная информация:

Re: Имеем картинку и цель - получить g-code. Какие способы и методы мы знаем?

Сообщение SVP »

ЗЫ. Очевидный способ использования "графики" - использовать ее как "графику", а не как 3д модели. Гравируйте линиями по поверхностям...
a321
Мастер
Сообщения: 563
Зарегистрирован: 03 дек 2016, 00:30
Репутация: 65
Контактная информация:

Re: Имеем картинку и цель - получить g-code. Какие способы и методы мы знаем?

Сообщение a321 »

Все тот же image-to-gcode. Вижу в коде место, где формируется вывод текста в файл по дугам, G2 & G3. Но где, какие именно строки, формируют G1?! - кто в теме, пожалуйста ткните носом? Поиск по файлу G1 ничего не выдает, а ведь в рождаемом файле "есть такая буква". Зачем? - реализованный алгоритм формирования точек разумен, не создает сплошное полотно, фактически речь идет о создании скриптом набора сечений предмета. Хочу заставить скрипт писать в каждую строку полные координаты ХYZ, тогда это будет уже набор точек, который смогу использовать как mesh.

Еще есть вариант - inkscape многослойное преобразование графики в вектор. Тоже создает набор сечений. Поскольку яркость от 0 до 255 = сечений счетное множество. Это богатство может быть импортировано во FreeCAD, там можно прибить лишние (сложенные, дублирующие) контуры, сгруппировать по слоям и деталям фигуры, преобразовать каждый контур сечения в эскиз (с возможность редактирования) и через набор эскизов сделать тело.
a321
Мастер
Сообщения: 563
Зарегистрирован: 03 дек 2016, 00:30
Репутация: 65
Контактная информация:

Re: Имеем картинку и цель - получить g-code. Какие способы и методы мы знаем?

Сообщение a321 »

Леонид Владимирович писал(а): Модель по картинке - это "фотограмметрия" называется.
Упомянутая программа https://lite.duckduckgo.com/lite/?q=3DF+Zephyr
Фотограмметрия в Питоне на Гитхабе https://github.com/search?l=Python&q=Ph ... positories
a321
Мастер
Сообщения: 563
Зарегистрирован: 03 дек 2016, 00:30
Репутация: 65
Контактная информация:

Re: Имеем картинку и цель - получить g-code. Какие способы и методы мы знаем?

Сообщение a321 »

Наглядная демонстрация вредности использования "фрэймворков" и программ 3-д моделирования. Слева - фотография оригинала, Нанси, музей Леколь, справа - цельнотянутая 3-д модель, почерпнутая viewtopic.php?p=635425#p635425
Вложения
Снимок экрана от 2022-05-27 19-47-28.jpg (3376 просмотров) <a class='original' href='./download/file.php?id=203481&sid=f7471d0b05bc6f02c787add091ea14c4&mode=view' target=_blank>Загрузить оригинал (62.37 КБ)</a>
a321
Мастер
Сообщения: 563
Зарегистрирован: 03 дек 2016, 00:30
Репутация: 65
Контактная информация:

Re: Имеем картинку и цель - получить g-code. Какие способы и методы мы знаем?

Сообщение a321 »

Кто что нового по теме видел, читал, пробовал за прошедшие два года?
Argentum47
Мастер
Сообщения: 856
Зарегистрирован: 05 июн 2015, 10:00
Репутация: 97
Откуда: Саратов
Контактная информация:

Re: Имеем картинку и цель - получить g-code. Какие способы и методы мы знаем?

Сообщение Argentum47 »

нейросети не умеют такого сейчас?
Ответить

Вернуться в «Изделия»