Страница 1 из 1

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

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

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

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

Какой есть опыт решения такого рода задач? желательно не в виде "иди ты в bleder", реальный путь к успеху. Искать и использовать библиотечные блендеровые модели - IMHO упадничество, они (все мною виденные) имеют очевидный привкус примитивизма 21 века. Задача стоит именно в использовании графики, фотографий (в т.ч. из собственных этнографических экспедиций).
К примеру вот две женщины, их века у них написаны на лицах -

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

Добавлено: 08 май 2022, 00:01
шпиндель
два метода...заказать 3д умеющим делать такое или самому научиться 3д...других вариантов нет ...думаю вилка примерно 10 т руб , русалка 6 т :eat:

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

Добавлено: 08 май 2022, 00:24
a321
русалка и даром не надо. Равно как и вилка как таковая. Мне удочка нужна, а не рыба. Не говоря уже о том, что чаще всего заказные модели даже по хорошим образцам становятся такими русалками. Речь идет о механизмах трансформации, а не поиске исполнителя.

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

Добавлено: 08 май 2022, 00:40
шпиндель
a321 писал(а): Речь идет о механизмах трансформации, а не поиске исполнителя.
тогда Zbrush
https://www.youtube.com/watch?v=jszkuJg ... 0%BE%D0%B2

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

Добавлено: 19 май 2022, 12:16
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

Если кто потратит время на исследование и обзор - было бы мило.

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

Добавлено: 23 май 2022, 11:04
Леонид Владимирович
Модель по картинке - это "фотограмметрия" называется.
Пробовал программу 3DF+Zephyr.
Требует несколько фотографий с разных сторон, цепляется за текстуру поверхности и рассчитывает 3д модель.
Считает долго. Есть бесплатная слегка обрезанная версия. Что-то получается, но я глубоко в тему пока не влезал.

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

Добавлено: 23 май 2022, 12:56
SVP
Нет, ничего приличного "для вилок" вы по фотографиям не получите.
Ну или этих фотографий надо будет много десятков, а может и сотен штук.
Чтобы человек смог нарисовать вилку адекватно - нужны десятки фото, чтобы конкретная вилка получилась, а не отсебятина на тему вилки.
В некоторых "темах" чуть проще, т.к. например в ювелирке есть типовые решения, которые можно увидеть (часть их) и понять как именно сделано. Но и там "всё непросто".
Если нужна очень приблизительная модель, тогда да, а вот то, что на фото... уверен, что не каждый сканер даст приличный результат,
нужны какие-то решения "для мелочевки".

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

Добавлено: 23 май 2022, 12:58
SVP
ЗЫ. Очевидный способ использования "графики" - использовать ее как "графику", а не как 3д модели. Гравируйте линиями по поверхностям...

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

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

Еще есть вариант - inkscape многослойное преобразование графики в вектор. Тоже создает набор сечений. Поскольку яркость от 0 до 255 = сечений счетное множество. Это богатство может быть импортировано во FreeCAD, там можно прибить лишние (сложенные, дублирующие) контуры, сгруппировать по слоям и деталям фигуры, преобразовать каждый контур сечения в эскиз (с возможность редактирования) и через набор эскизов сделать тело.

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

Добавлено: 23 май 2022, 16:35
a321
Леонид Владимирович писал(а): Модель по картинке - это "фотограмметрия" называется.
Упомянутая программа https://lite.duckduckgo.com/lite/?q=3DF+Zephyr
Фотограмметрия в Питоне на Гитхабе https://github.com/search?l=Python&q=Ph ... positories

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

Добавлено: 27 май 2022, 19:50
a321
Наглядная демонстрация вредности использования "фрэймворков" и программ 3-д моделирования. Слева - фотография оригинала, Нанси, музей Леколь, справа - цельнотянутая 3-д модель, почерпнутая viewtopic.php?p=635425#p635425

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

Добавлено: 13 фев 2024, 19:20
a321
Кто что нового по теме видел, читал, пробовал за прошедшие два года?

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

Добавлено: 14 фев 2024, 07:42
Argentum47
нейросети не умеют такого сейчас?