Image-to-gcode + решение для нежестких станков

Обсуждение установки, настройки и использования LinuxCNC. Вопросы по Gкоду.
Аватара пользователя
Гармонист
Почётный участник
Почётный участник
Сообщения: 423
Зарегистрирован: 24 апр 2011, 09:14
Репутация: 72
Откуда: планета Земля
Контактная информация:

Image-to-gcode + решение для нежестких станков

Сообщение Гармонист »

Image-to-gcode + решение для нежестких станков

в продолжение этой темы

Кому леньки читать и вникать:тут назначени кратко - представлено на ВИДЕО, в картинках и даже прокоментировано

скачать и попробовать
старые версии (для просмотра содержимого нажмите на ссылку)
image-to-gcode v3.5.zip
(17.54 КБ) 1406 скачиваний
image-to-gcode v3.6.zip
исправил некоторые баги,
убрал режим 2.1. "Окантовка" т.к. он только мешает(его нужно кардинально переделать),
усовершенствовал режим 2.2. "Разница"(теперь дельта может быть <= 0)
(17.29 КБ) 1323 скачивания
image-to-gcode v3.7.zip
исправил некоторые баги, очень сильно переделал, так что сейчас не могу всего припомнить ... одно из:
фреза теперь может подрезать края, но получается более плавный рисунок(см.пост о матрицах фрез ниже)
но главное это то что эта версия прошла рабочую обкатку (опять же -см.пост ниже)
(21.71 КБ) 1200 скачиваний
image-to-gcode v3.8.6.zip
исправил некоторые баги, очень многое переделал - поэтому сменил версию на 8
Переименовал некоторые параметры чтобы было понятнее, вывел расчетные размеры в миллиметрах,...
теперь параметр 'Не обрезать углы' - не доступен и включен поумолчанию, "отвязал" режим 'Optimize path' от режима 'RMF',
объединил функции RMF и Mill_objectiv и весь их функционал в одну: теперь в режимах 'Row/Col objective' - работает сортировка и прочие плюшки...
реализовал возможность через параметр 'mill layer by layer' - настраивать последовательность обхода участков только слой за слоем(если ИСТИНА) или по ветвям деревьев(если ЛОЖЬ)
(24.97 КБ) 2707 скачиваний
image-to-gcode v3.8.7.zip
небольшие усовершенствования...
(25.35 КБ) 1317 скачиваний
image-to-gcode v3.8.8.zip
исправил ошибку с параметром "Инвертировать"(при определенной комбинации других параметров) из-за которой не формировался g-код и вываливалось сообщение об ошибке в сформированном ж-коде...
(25.38 КБ) 1276 скачиваний
image-to-gcode v3.8.9.zip
исправил некоторые ошибки, среди которых ошибка при шаге больше единицы в обычном режиме при особой комбинации других параметров...
доработал интерфейс - в частности сделал чтобы съем за проход не был 0 и не был более общей глубины если включен отступ или режим RMF или...
вобщем - работа над ошибками в версии 3.8.8
(для особо любознательных: распаковываете 2е версии и в терминале командой diff сравниваете 2 файла и читаете что изменилось...)
(25.48 КБ) 3332 скачивания
как установить написано тут
Лицензия (для просмотра содержимого нажмите на ссылку)
image-to-gcode is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by the
Free Software Foundation; either version 2 of the License, or (at your
option) any later version. image-to-gcode is distributed in the hope
that it will be useful, but WITHOUT ANY WARRANTY; without even the implied
warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
the GNU General Public License for more details. You should have
received a copy of the GNU General Public License along with image-to-gcode;
if not, write to the Free Software Foundation, Inc., 59 Temple Place,
Suite 330, Boston, MA 02111-1307 USA
В теории - любой станок жесткий и безлюфтовый только в какой то степени.
Поэтому эта тема посвящена всем станкам. ;)

Важно: на аналогичном форуме у станкостроителя с аналогичной проблемой недостаточной жесткости станка - было удачно опробовано решение: стачивается напильником боковые лезвия фрезы оставляя их только на конце фрезы около 2-3мм, чтобы при максимальном заглублении фреза НЕ ломалась(боковые лезвия хватают края, зарываются и фреза ломается).


ВНИМАНИЕ: механизм экспериментальный (инновационный :mrgreen: ) и еще допиливается :rasp: - вобщем - тебя предупредили... 8-)
Исправил некоторые ошибки(возможно добавил свои :monkey: ).

Если слишком долго работает - рецепт: в Ubuntu(старой, без Unity) - меню - Система - Администрирование - Системный монитор - Процессы - находим в списке image-to-gcode - жмем ПКМ - Изменить приоритет - ставим -10(пробовал -18 - все виснет). Скорость у меня возрастает примерно в 2 раза.
Принцип действия + теория: (для просмотра содержимого нажмите на ссылку)
В пределе есть 2е стратегии обработки(IRL они комбинируются):
1. Обработка кончиком фрезы
2. Обработка боковой частью фрезы
сравнительный анализ стратегий работы концом и боковой гранью фрезы (52083 просмотра) <a class='original' href='./download/file.php?id=17814&sid=349cb30b9b546440104c3dc573cb82d6&mode=view' target=_blank>Загрузить оригинал (168.77 КБ)</a>
сравнительный анализ стратегий работы концом и боковой гранью фрезы
картинку взял отсюда
brochure.pdf
Взято с www.freesteel.co.uk
Буду признателен если кто-то подскажет в каком ПО это реализовано
(4.22 МБ) 1893 скачивания
Обработка боковушкой фрезы при глубоком рельефе - конечно же эффективнее чем кончиком,
т.к. поверхность задействованной площади боковушки, больше поверхности задействованной площади кончика фрезы.

Для нежестких(с небольшей жесткостью) станков - к сожалению обработка боковушкой не получится,
т.к. - опять же - из-за большей площади рабоче поверхности - больше силы трения, фреза больше зарывается в материал(особенно если она спиральная),... и как следствие необходима большая сила удерживающая фрезу в заданных координатах - что для нежестких станков - не возможно.

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

Так вот чтобы оптимизировать процесс - убрав холостые проходы - я дописал механизм получения ж-кода,
которые эти места - просто пропускает.

Режим №1 - послойное снятие материала, чистовой фрезой, но с оптимизацией холостого хода предыдущих слоев.

посмотрать описание: (для просмотра содержимого нажмите на ссылку)
Активируется флагом "Optimize roughing".
Примечание: этот режим №1 я разрабатывал как основа для 2го режима - поэтому если вы его реально используете - отпишитесь.
image-to-gcode оптимизированный режим - общий вид (52083 просмотра) <a class='original' href='./download/file.php?id=17818&sid=349cb30b9b546440104c3dc573cb82d6&mode=view' target=_blank>Загрузить оригинал (166.31 КБ)</a>
image-to-gcode оптимизированный режим - общий вид
Отверстие в бублике, более редкие линии - не важно, инновация заключается не в этом.
На следующем слайде - послойно и очень наглядно видно а чем заключается оптимизация
image-to-gcode сравнение обычного режима и оптимизированного:<br />слева - обычный, справа - оптимизированный (52083 просмотра) <a class='original' href='./download/file.php?id=17816&sid=349cb30b9b546440104c3dc573cb82d6&mode=view' target=_blank>Загрузить оригинал (968.54 КБ)</a>
image-to-gcode сравнение обычного режима и оптимизированного:
слева - обычный, справа - оптимизированный
Обратите внимание, что на 2м и 3м слое фреза не проходит там где уже прошла на предыдущих слоях!

(Почему такие не гладкие линии? Потому что при увеличении/уменьшении рисунка используйте только метод Linear, иначе будет такое с рельефом как на картинке)
Применять этот режим можно для создания сложных глубоких рельефов одной лишь! чистовой фрезой
и при этом не проходить по обработанным местам дважды/трижды/4....
Если фрезы недорогие, а авто-смены инструмента нет и не хочется парится,
то можно сделать в этом режиме УП, "зарядить" станок и идти спать(шучу конечно).


Оптимизированный ж-код с установленным "Roughing is completed".
image-to-gcode оптимизированный режим + флаг  'Roughing is completed' - общий вид (52083 просмотра) <a class='original' href='./download/file.php?id=17819&sid=349cb30b9b546440104c3dc573cb82d6&mode=view' target=_blank>Загрузить оригинал (155.63 КБ)</a>
image-to-gcode оптимизированный режим + флаг 'Roughing is completed' - общий вид
image-to-gcode назначение флага 'Roughing is completed' (52083 просмотра) <a class='original' href='./download/file.php?id=17817&sid=349cb30b9b546440104c3dc573cb82d6&mode=view' target=_blank>Загрузить оригинал (885.5 КБ)</a>
image-to-gcode назначение флага 'Roughing is completed'

Режим №2 - два в одном: разница между черновой фрезой и чистовой + окантовка.


посмотреть описание: (для просмотра содержимого нажмите на ссылку)
Активируется флагом "Roughing mode minus finishing mode" и параметрами: "min delta rf(units)", "отступ грубого прохода", "съем за проход", "Roughing stepover (pixels)", "Roughing tool Diametr (unts)", "Roughing tool Type", "Roughing tool Diameter 2(units)", "Roughing Angle of tool diametr 2".

Примечание: при большей картинке и большей фрезе - обработка может занять слишком большее время.(Если есть идеи как оптимизировать - я готов выслушать).
Описание:

метод 2.1. "окантовка" этот метод вычисляет места где чистовая фреза при прохождении по краям высота рельефа выше заданной. Другими словами вычисляются границы рельефа, причем крутизна подьема рельефа выше заданной. Т.е. если у тебя плавный рельеф без резких переходов, то этот режим вообще ж-код не создаст.
Для этого режима результаты чернового прохода так же учитываются.
картинку в g-код окантовка.png (52083 просмотра) <a class='original' href='./download/file.php?id=17820&sid=349cb30b9b546440104c3dc573cb82d6&mode=view' target=_blank>Загрузить оригинал (194.43 КБ)</a>
картинку в g-код режим 'окантовка'.png (52083 просмотра) <a class='original' href='./download/file.php?id=17824&sid=349cb30b9b546440104c3dc573cb82d6&mode=view' target=_blank>Загрузить оригинал (27.19 КБ)</a>
метод 2.2. - собственно "гвоздь программы" - режим "разницы RMF"
- черновая фреза не войдет в узкие и глубокие места из-за своей толщины, а чистовая в этих местах может поломаться(я 4шт сломал) из-за того что много не снятого материала и большое заглубление.
Так вот этот механизм - вычисляет все места где черновая фреза оставила материал более заданной глубины и только по этим местам! делает ж-код.
картинку в g-код 'разница'.png (52083 просмотра) <a class='original' href='./download/file.php?id=17821&sid=349cb30b9b546440104c3dc573cb82d6&mode=view' target=_blank>Загрузить оригинал (124.74 КБ)</a>
картинку в g-код режим 'разница'.png (52083 просмотра) <a class='original' href='./download/file.php?id=17823&sid=349cb30b9b546440104c3dc573cb82d6&mode=view' target=_blank>Загрузить оригинал (203.82 КБ)</a>
Image-to-gcode режим Roughing mode minus Finishing mode (52083 просмотра) <a class='original' href='./download/file.php?id=17827&sid=349cb30b9b546440104c3dc573cb82d6&mode=view' target=_blank>Загрузить оригинал (279.18 КБ)</a>
Image-to-gcode режим Roughing mode minus Finishing mode
Image-to-gcode режим Roughing mode minus Finishing mode (52075 просмотров) <a class='original' href='./download/file.php?id=17842&sid=349cb30b9b546440104c3dc573cb82d6&mode=view' target=_blank>Загрузить оригинал (89.5 КБ)</a>
Image-to-gcode режим Roughing mode minus Finishing mode
Примечание: режим №2 - делает сразу двумя методами и 2.1. и 2.2.
Включить только 2.1. или только 2.2. - интерактивно нельзя.
logo cnc-club.ru.png
logo cnc-club.ru.png (2.77 КБ) 52083 просмотра
logo cnc-club.ru окантовка + разница RMF.png (52083 просмотра) <a class='original' href='./download/file.php?id=17822&sid=349cb30b9b546440104c3dc573cb82d6&mode=view' target=_blank>Загрузить оригинал (112.16 КБ)</a>
image2gkode logo cnc-club.ru режим разницы RmF.png (52083 просмотра) <a class='original' href='./download/file.php?id=17825&sid=349cb30b9b546440104c3dc573cb82d6&mode=view' target=_blank>Загрузить оригинал (152.68 КБ)</a>
Назначение режима №2: Этот ж-код используется как промежуточный проход между черновой и чистовой обработкой - позволяющий сделать отступ между требуемым и текущим рельефом не более заданной величины. По сути "выравнивает отступ" или другими словами - дочищает места где черновая фреза не пролезла, чтоб при финишном режиме в них не сломалась фреза.
Как использовать: (для просмотра содержимого нажмите на ссылку)
1. - обрабатываем заготовку самой большой фрезой, послойно с минимальной глубиной слоя (0.5мм-3мм), с максимальным шагом равным 80%-99% диаметра фрезы. Отступ 1мм-3мм.
Цель: грубо снять максимальное количество материала, для облегчения работы следующего режима.

2. - обрабатываем заготовку средней фрезой
(придется подбирать чтобы она была не слишком большая и не слишком маленька)
(рекомендую: шаровую или прямую-диаметр 5мм, но можно конус со скруглением на конце диаметром 3мм-8мм), послойно с глубиной слоя 3мм-8мм, с шагом равным 30% диаметра фрезы.
Отступ минимальный = 30% от диаметра чистовой фрезы = ~0.5мм.
Цель: снять основную часть материала, оставить минимальный отступ.

3. - обрабатываем заготовку в этом режиме "разницы" между предыдущей фрезой с чистовой "фрезой со шлифовкой":
- выбираем шаблон сканирования: "Cols Object" или "Rows Object"
- ставим флаг "Roughing mode minus finishing mode"
- ставим "min delta rf(units)" - главный параметр - разница в миллиметрах между черновым и чистовым рельефами. Ставим шаг заглубления в миллиметрах(без него - нет смысла) "Съем за проход".
- задаем конфигурацию черновой фрезы(черновая фреза должна быть больше чистовой!)
- задаем параметры предыдущего чернового прохода и следубщего чистового

Цель: сделать равномерный отступ по всему рельефу не более заданного значения.
Я использую двухперую спиральную прямую со скругленным концом диаметром 1.5мм и высотой 12мм, с функцией шлифовки поверхности.

4. - далее - чистовой режим в один проход - без послойного заглубления! - этой же чистовой фрезой с минимальным шагом(0.2мм - 0.8мм).

5. Бывает 4х режимов достаточно. Кому не достаточно - можно 5й - "финишный" режим гравером со скругленным концом. Тогда на 4м этапе - нужно задать отступ.
У меня например после 4го режима - поверхность получается полированой, но рельеф немного смазаный. После гравера - появляется ворс который приходится удалять вручную, но рельеф становится более... "сочным".
А настолько мелкой фрезы с полировкой как гравер - еще не нашел.
Последний раз редактировалось Гармонист 16 янв 2015, 09:42, всего редактировалось 15 раз.
http://cnc-club.ru/forum/viewtopic.php?t=1064 - домашний станок типа "рука"
http://cnc-club.ru/forum/viewtopic.php?t=1107 - быстро создать 3d образ без сканера по фоткам
http://cnc-club.ru/forum/viewtopic.php?t=1073 - прогноз станко-строения
http://livehistory.ru - мозаика складывается
http://www.economics.kiev.ua - почему все так в нашем мире
Аватара пользователя
PKM
Почётный участник
Почётный участник
Сообщения: 4263
Зарегистрирован: 31 мар 2011, 18:11
Репутация: 705
Настоящее имя: Андрей
Откуда: Украина
Контактная информация:

Re: Image-to-gcode + решение для нежестких станков

Сообщение PKM »

Гармонист писал(а):но я хочу перейти на доработку открытых CAM - работающих с 3д - моделью т.к. - больше перспектив... такие дела...
:good:
Очень ждем!
Аватара пользователя
nebelnoir
Почётный участник
Почётный участник
Сообщения: 65
Зарегистрирован: 24 апр 2014, 20:28
Репутация: 50
Настоящее имя: Ярослав Власов
Откуда: Москва
Контактная информация:

Re: Image-to-gcode + решение для нежестких станков

Сообщение nebelnoir »

Вот это подарочек на новый год! Спасибо!
Надеюсь в ближайшее время рубануть что-нибудь тестовое с использованием мах примочек.
А какие у нас на сегодняшний день открытые CAM? (blender CAM, PyCAM?)
Аватара пользователя
Гармонист
Почётный участник
Почётный участник
Сообщения: 423
Зарегистрирован: 24 апр 2011, 09:14
Репутация: 72
Откуда: планета Земля
Контактная информация:

Re: Image-to-gcode + решение для нежестких станков

Сообщение Гармонист »

как я задолбался с рефакторингом i2g: (для просмотра содержимого нажмите на ссылку)
как выглядит рефакторинг кода
как выглядит рефакторинг кода
рефакторинг.gif (1017.15 КБ) 8767 просмотров
хочу продемонстрировать работу 2х параметров: "Mill layer by layer" и "Does not cut on the passed(vertical Optimize path)"
специально сделал картинку для демонстрации
3.png (8767 просмотров) <a class='original' href='./download/file.php?id=39816&sid=349cb30b9b546440104c3dc573cb82d6&mode=view' target=_blank>Загрузить оригинал (35.24 КБ)</a>
настройки без улучшалок(так работает классический image-to-gcode):
1
&quot;проходить слой за слоем - не переходить к нижнему слою пока не пройден текущий&quot; и<br />отключен режим - &quot;не проходить там где на верхних слоях уже прошли&quot; (8767 просмотров) <a class='original' href='./download/file.php?id=39817&sid=349cb30b9b546440104c3dc573cb82d6&mode=view' target=_blank>Загрузить оригинал (133.11 КБ)</a>
"проходить слой за слоем - не переходить к нижнему слою пока не пройден текущий" и
отключен режим - "не проходить там где на верхних слоях уже прошли"
настройки с оптимизаторами
2
отключен режим &quot;Mill layer by layer&quot; -т.е. проходить по ветвям дерева участков от текущего к ближайшему<br />включен режим - &quot;не проходить там где на верхних слоях уже прошли&quot; (8767 просмотров) <a class='original' href='./download/file.php?id=39818&sid=349cb30b9b546440104c3dc573cb82d6&mode=view' target=_blank>Загрузить оригинал (133.11 КБ)</a>
отключен режим "Mill layer by layer" -т.е. проходить по ветвям дерева участков от текущего к ближайшему
включен режим - "не проходить там где на верхних слоях уже прошли"
для 1х настроек
on&quot;Mill layer by layer&quot; (classic)<br />off &quot;Does not cut on the passed(vertical Optimize path)&quot; (8767 просмотров) <a class='original' href='./download/file.php?id=39819&sid=349cb30b9b546440104c3dc573cb82d6&mode=view' target=_blank>Загрузить оригинал (2.01 МБ)</a>
on"Mill layer by layer" (classic)
off "Does not cut on the passed(vertical Optimize path)"
для 2х настроек
off &quot;Mill layer by layer&quot; <br />on &quot;Does not cut on the passed(vertical Optimize path)&quot; (8767 просмотров) <a class='original' href='./download/file.php?id=39820&sid=349cb30b9b546440104c3dc573cb82d6&mode=view' target=_blank>Загрузить оригинал (1.79 МБ)</a>
off "Mill layer by layer"
on "Does not cut on the passed(vertical Optimize path)"
в цифрах
для 1х настроек
расстояние быстрого хода 495мм
расстояние рабочего хода 53332мм
1.ngc
(1.76 МБ) 885 скачиваний
для 2х настроек
расстояние быстрого хода 393мм
расстояние рабочего хода 27880мм
2.ngc
(838.88 КБ) 1220 скачиваний
внимание: выложил(в топике) новую версию 3.8.8 - исправил ошибку с параметром "Инвертировать"(при определенной комбинации бругих параметров) из-за которой не формировался g-код...
http://cnc-club.ru/forum/viewtopic.php?t=1064 - домашний станок типа "рука"
http://cnc-club.ru/forum/viewtopic.php?t=1107 - быстро создать 3d образ без сканера по фоткам
http://cnc-club.ru/forum/viewtopic.php?t=1073 - прогноз станко-строения
http://livehistory.ru - мозаика складывается
http://www.economics.kiev.ua - почему все так в нашем мире
Аватара пользователя
nebelnoir
Почётный участник
Почётный участник
Сообщения: 65
Зарегистрирован: 24 апр 2014, 20:28
Репутация: 50
Настоящее имя: Ярослав Власов
Откуда: Москва
Контактная информация:

Re: Image-to-gcode + решение для нежестких станков

Сообщение nebelnoir »

Гармонист, можно ли использовать эти гифки и картинки на сайте rkmiit.ru с указанием источника конечно же?
Аватара пользователя
Гармонист
Почётный участник
Почётный участник
Сообщения: 423
Зарегистрирован: 24 апр 2011, 09:14
Репутация: 72
Откуда: планета Земля
Контактная информация:

Re: Image-to-gcode + решение для нежестких станков

Сообщение Гармонист »

nebelnoir писал(а):можно ли использовать эти гифки
да наздоровье.


Появилась мысль - ускорить работу скрипта:
задействовать мощности графического процессора - использовать CUDA ядра и/или OpenCL (еще о CUDA и OpenCL и о среде разработки Nsight Eclipse Edition - для CUDA от NVidia)
а тут забавный спор о том, что лучше: CUDA или OpenCL...
про видяшки ATI и ее "ATI Stream" - буду думать только в качестве реализации на OpenCL(и то - только если выбор падет на OpenCL) - тк жизнь и так коротка...
у меня процессор одноядерный - поэтому распараллеливания по ядрам процессоров посредством openMP - тоже можно не ждать...
...уже пускаю слюни какой прирост производительности дадут 96 CUDA ядер со скоростью 550МГ (в сумме ~52ГГ) - в режиме параллельной работы :shock:
по сравнению с процессором даже с частотой в 15ГГ ...
http://cnc-club.ru/forum/viewtopic.php?t=1064 - домашний станок типа "рука"
http://cnc-club.ru/forum/viewtopic.php?t=1107 - быстро создать 3d образ без сканера по фоткам
http://cnc-club.ru/forum/viewtopic.php?t=1073 - прогноз станко-строения
http://livehistory.ru - мозаика складывается
http://www.economics.kiev.ua - почему все так в нашем мире
Аватара пользователя
Гармонист
Почётный участник
Почётный участник
Сообщения: 423
Зарегистрирован: 24 апр 2011, 09:14
Репутация: 72
Откуда: планета Земля
Контактная информация:

Image-to-gcode 3.9.х

Сообщение Гармонист »

Анонс(если кому-то интересно):
1. планирую к выходу версию 3.9.х
Новое:
* во 1х - исправил найденные ошибки
* во 2х - переписал стратегию обхода по колонкам:
для строк - так и осталось слева направо, сверху вниз
для колонок теперь алгоритм(внутренний алгоритм расчета - траектория ж-кода не поменялась) - СНИЗУ вверх, СПРАВА налево.

* Так же сделал, чтобы при шаге фрезу через несколько линий - последняя линия всегда дорезалась.
Например матрица фрезы 1пиксель, в картинке 100 пикселей, шаг допустим 6 линии, получаем 100\6 = 16,66666... т.е. ровно не делиться!
Округляем 16,6666... до целого = 16линий, 16линий * шаг 6линий = 96линий, 100-96= 4 линии картинки раньше недорезалось!
Теперь 100ая линия - будет дополнительно дорезаться.

* планирую для ускорения часть функций переписать на Cython-е(ждите в релизе). С CUDA - пока повременил...
* в общем - переписано так много, что я решил повысить версию до 9ой. Логика особо не изменилась, в основном это "причесывание" кода, оптимизация, согласование механизмов, отладка и тестирование. Думаю что качество выросло, пусть не на порядок, но значительно.


2. планирую в будущих версиях реализовать построение "адаптивной(под рельеф) траектории движения инструмента".
Т.е. там где рельеф гладкий - шаг фрезы будет больше, а там где рельеф ...хм... "сложный" там будет шаг чаще...
Буду использовать для грубой\черновой обработки большими фрезами с большим шагом(между линиями)...

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

3. адаптирую запуск под Win64 в Anaconda + Python2.7

4. планирую выложить фотоотчет по применению i2g v3.9.x - на модели панно "Олени"
http://cnc-club.ru/forum/viewtopic.php?t=1064 - домашний станок типа "рука"
http://cnc-club.ru/forum/viewtopic.php?t=1107 - быстро создать 3d образ без сканера по фоткам
http://cnc-club.ru/forum/viewtopic.php?t=1073 - прогноз станко-строения
http://livehistory.ru - мозаика складывается
http://www.economics.kiev.ua - почему все так в нашем мире
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: Image-to-gcode + решение для нежестких станков

Сообщение Nick »

Интересно, если убрать рисование насколько этот image-to-gcode перекрывает по функциям artcam.
Аватара пользователя
Гармонист
Почётный участник
Почётный участник
Сообщения: 423
Зарегистрирован: 24 апр 2011, 09:14
Репутация: 72
Откуда: планета Земля
Контактная информация:

Re: Image-to-gcode + решение для нежестких станков

Сообщение Гармонист »

Хочу заметить, что арткам не бесплатный, а мой пэт-проект image-to-gcode - сделан на моем энтузиазме...
подкинули бы деньжат - можно было бы развернуться...

Ник, ты хорошо заметил - "базовый" функционал - т.е. тот, который отвечает основной цели "создание ж-кода по картинке".
Поэтому прошу "замечания", что в i2g нехватает функций рисования, визуальных средств отображения недореза и т.п. - лучше обсудить отдельно...

хотя базовому функционалу i2g особо некуда расти. Разве что сделать:
* загрузку произвольного профиля фрезы
* ускорение использую графический процессор, ядра основного процессора или программно в несколько потоков
* автоматический расчет какого типа и размера фрезы оптимальнее всего использовать для заданного рельефа
* сглаживание ж-кода,
* построение ж-кода с G1-непрерывностью,
* оптимизация(уменьшение) кол-ва сегментов(линий\дуг) в пределах заданной погрешности
* при послойном снятии рельефа - сделать чтобы фреза не поднималась после каждого слоя на максимальную высоту, а если можно то возвращалась на стартовую позицию следующего слоя с того текущего слоя(т.е. - без поднятия)
* конечно же - "адаптивная" стратегия обхода(см. в предыдущем моем посте) - уже себе поставил в план.
Но когда я сделаю этот режим - следующим логическим шагом было бы иметь возможность использовать его в режиме "Дельта",
а для этого нужно будет рисовать режим расчета недореза почти заново...
* можно еще для работ с вращающейся 4й осью - реализовать замыкание\сворачивание картинки в рулочик, чтоб обходить по спирали, а не по загзагу.
* сделать обход по спирали, но с контролем нагрузки на фрезу... (хотя думаю что "адаптивный" режим будет интереснее. Тесты покажут кто был прав.)
...

много можно, но лично для меня не много нужно...
можно на кикстартере выставить предложение по реализации, а там если кому-то нужно пусть "спонсирует" функционал...

еще приходила мысль на джанго сделать сайт со встроенным в сайт i2g. Чтобы можно было онлайн картинки "компилировать", но на стороне клиента(т.е. используя процессор клиента), зато с оттестированными сопутствующими пакетами Numpy, PIL, math, cython, ... и зарабатывать на рекламе

или вообще сделать "форк" :twisted: - закрыть код, поднять свой сервер, купить NVidia CUDA Tesla адаптеры для создания процессорной фермы, чтобы сделать расчеты на стороне сервера, но уже за денежку. Маленькие картинки (до 1000 пикселей) бесплатно, остальные платно... тогда уже можно красивый интерфейс нарисовать и все-такое...
Последний раз редактировалось Гармонист 23 июл 2015, 11:57, всего редактировалось 2 раза.
http://cnc-club.ru/forum/viewtopic.php?t=1064 - домашний станок типа "рука"
http://cnc-club.ru/forum/viewtopic.php?t=1107 - быстро создать 3d образ без сканера по фоткам
http://cnc-club.ru/forum/viewtopic.php?t=1073 - прогноз станко-строения
http://livehistory.ru - мозаика складывается
http://www.economics.kiev.ua - почему все так в нашем мире
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: Image-to-gcode + решение для нежестких станков

Сообщение Nick »

Гармонист писал(а):Хочу заметить, что арткам не бесплатный, а мой пэт-проект image-to-gcode - сделан на моем энтузиазме...
Вот и я о том же! А что сделай простенький сайт и там размести кнопку donate... Kickstarter имхо не совсем для таких проектов...


Для редактирования и предпромсотра можно пользоваться сторонними тулкитами, с возможным запуском из image-to-gcode по кнопке.
Аватара пользователя
nebelnoir
Почётный участник
Почётный участник
Сообщения: 65
Зарегистрирован: 24 апр 2014, 20:28
Репутация: 50
Настоящее имя: Ярослав Власов
Откуда: Москва
Контактная информация:

Re: Image-to-gcode 3.9.х

Сообщение nebelnoir »

Гармонист писал(а):Анонс(если кому-то интересно):
1. планирую к выходу версию 3.9.х
Я так понимаю дело до 3.9.х не дошло :(
Пробую на винде всё это запустить, дошел до того, что предлагает открыть картинку, но после этого ошибка:
File "C:\Users\.....\image-to-gcode.py", line 3087, in main
nim = numarray.fromstring(im.tobytes(), 'UInt8', (h, w)).astype('Float32')
TypeError: an integer is required
Даа, im.tostring() заменил на im.tobytes() поскольку PIL Image так сама сазала.
Есть идеи как поправить?
Аватара пользователя
nebelnoir
Почётный участник
Почётный участник
Сообщения: 65
Зарегистрирован: 24 апр 2014, 20:28
Репутация: 50
Настоящее имя: Ярослав Власов
Откуда: Москва
Контактная информация:

Re: Image-to-gcode + решение для нежестких станков

Сообщение nebelnoir »

Так друзья, вроде получилось!
Но есть проблемы, надо:
1. Окно выходит за рамки экрана, нужна прокрутка.
2. Слать Gcode в файл.
3. Написать "ждите!" и "успешно!" в конце.
Ждите, возможно всё получится, тогда выложу версию для винды)))
GipsyRaven
Новичок
Сообщения: 5
Зарегистрирован: 29 янв 2017, 19:33
Репутация: 0
Контактная информация:

Re: Image-to-gcode + решение для нежестких станков

Сообщение GipsyRaven »

nebelnoir писал(а):Гармонист, можно ли использовать эти гифки и картинки на сайте rkmiit.ru с указанием источника конечно же?
Интересует судьба сайта rkmiit.ru ????
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5181
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

Re: Image-to-gcode + решение для нежестких станков

Сообщение Serg »

GipsyRaven писал(а):Интересует судьба сайта rkmiit.ru ????
https://www.nic.ru/whois/?searchWord=rkmiit.ru
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
Аватара пользователя
nebelnoir
Почётный участник
Почётный участник
Сообщения: 65
Зарегистрирован: 24 апр 2014, 20:28
Репутация: 50
Настоящее имя: Ярослав Власов
Откуда: Москва
Контактная информация:

Re: Image-to-gcode + решение для нежестких станков

Сообщение nebelnoir »

UAVpilot писал(а):
GipsyRaven писал(а):Интересует судьба сайта rkmiit.ru ????
https://www.nic.ru/whois/?searchWord=rkmiit.ru
Прошу прощения, пропал на долгое время! Теперь это http://robomechs.com/
Скоро выложу там статьи с rkmiit. Сейчас занимаюсь GRBL на stm32 https://github.com/usbcnc/grbl, сделал 4ую ось. С 5 и 6 пока проблемки.
Теперь по теме: удалось запустить под виндой и под линуксом (отдельно, без Linuxcnc).
Очень скоро всё выложу! Сразу же отпишусь тут. Без Гармониста конечно будет долговато разбираться во всех параметрах, но посильно.
Аватара пользователя
nebelnoir
Почётный участник
Почётный участник
Сообщения: 65
Зарегистрирован: 24 апр 2014, 20:28
Репутация: 50
Настоящее имя: Ярослав Власов
Откуда: Москва
Контактная информация:

Re: Image-to-gcode + решение для нежестких станков

Сообщение nebelnoir »

Вроде работает.
Тут адаптировано рассказано как пользоваться: http://robomechs.com/image-to-gcode/
Тут можно скачать и сообщить, если что-то не работает: https://github.com/yaroslavVl/image-to-gcode
Если стоит параметр expand файлы будут смещены друг относительно друга (это связано с диаметром фрез), придется смещать в ручную при склейке. Пока непонятно как исправить.
Аватара пользователя
selenur
Почётный участник
Почётный участник
Сообщения: 4604
Зарегистрирован: 21 авг 2013, 19:44
Репутация: 1621
Настоящее имя: Сергей
Откуда: Новый Уренгой
Контактная информация:

Re: Image-to-gcode + решение для нежестких станков

Сообщение selenur »

nebelnoir писал(а):Сейчас занимаюсь GRBL на stm32 https://github.com/usbcnc/grbl, сделал 4ую ось. С 5 и 6 пока проблемки.
Круто!!! давно искал недорогую альтернативу GRBL на 4 оси, для своей программы, молодец!!!!!!!
Мой сайт: http://selenur.ru
Исходники моих программ: https://github.com/selenur
Instagram https://www.instagram.com/zheigurov/
Аватара пользователя
nebelnoir
Почётный участник
Почётный участник
Сообщения: 65
Зарегистрирован: 24 апр 2014, 20:28
Репутация: 50
Настоящее имя: Ярослав Власов
Откуда: Москва
Контактная информация:

Re: Image-to-gcode + решение для нежестких станков

Сообщение nebelnoir »

selenur писал(а):Круто!!! давно искал недорогую альтернативу GRBL на 4 оси, для своей программы, молодец!!!!!!!
Подробнее можно тут посмотреть: http://robomechs.com/grbl-1-1-smt32f103c8t6/
Спасибо. Сейчас готовлю репозиторий на github, будут еще исправления некоторые. Где у вас тут можно об этом всём написать?
Аватара пользователя
selenur
Почётный участник
Почётный участник
Сообщения: 4604
Зарегистрирован: 21 авг 2013, 19:44
Репутация: 1621
Настоящее имя: Сергей
Откуда: Новый Уренгой
Контактная информация:

Re: Image-to-gcode + решение для нежестких станков

Сообщение selenur »

nebelnoir писал(а):
selenur писал(а):Круто!!! давно искал недорогую альтернативу GRBL на 4 оси, для своей программы, молодец!!!!!!!
Подробнее можно тут посмотреть: http://robomechs.com/grbl-1-1-smt32f103c8t6/
Спасибо. Сейчас готовлю репозиторий на github, будут еще исправления некоторые. Где у вас тут можно об этом всём написать?
Создай отдельную тему, т.к. обсуждения наверняка будут частые, что-бы от обсуждение данной темы, в сторону не уходить.
Мой сайт: http://selenur.ru
Исходники моих программ: https://github.com/selenur
Instagram https://www.instagram.com/zheigurov/
Аватара пользователя
nebelnoir
Почётный участник
Почётный участник
Сообщения: 65
Зарегистрирован: 24 апр 2014, 20:28
Репутация: 50
Настоящее имя: Ярослав Власов
Откуда: Москва
Контактная информация:

Re: Image-to-gcode + решение для нежестких станков

Сообщение nebelnoir »

selenur писал(а):
nebelnoir писал(а):
selenur писал(а):Круто!!! давно искал недорогую альтернативу GRBL на 4 оси, для своей программы, молодец!!!!!!!
Подробнее можно тут посмотреть: http://robomechs.com/grbl-1-1-smt32f103c8t6/
Спасибо. Сейчас готовлю репозиторий на github, будут еще исправления некоторые. Где у вас тут можно об этом всём написать?
Создай отдельную тему, т.к. обсуждения наверняка будут частые, что-бы от обсуждение данной темы, в сторону не уходить.
Ок, спасибо, через пару дней попробую. Предлагаю удалить сообщения не относящиеся к теме))
Аватара пользователя
selenur
Почётный участник
Почётный участник
Сообщения: 4604
Зарегистрирован: 21 авг 2013, 19:44
Репутация: 1621
Настоящее имя: Сергей
Откуда: Новый Уренгой
Контактная информация:

Re: Image-to-gcode + решение для нежестких станков

Сообщение selenur »

nebelnoir писал(а): Ок, спасибо, через пару дней попробую. Предлагаю удалить сообщения не относящиеся к теме))
Да потом можно будет перенести некоторые сообщения если что.....
Немного протестировал контроллер, и я был приятно удивлен, в плане качества сигнала, вот пример с тестовыми настройками, какой получается сигнал:
2018-12-05_170759.jpg (6830 просмотров) <a class='original' href='./download/file.php?id=151987&sid=349cb30b9b546440104c3dc573cb82d6&mode=view' target=_blank>Загрузить оригинал (263.67 КБ)</a>
Мой сайт: http://selenur.ru
Исходники моих программ: https://github.com/selenur
Instagram https://www.instagram.com/zheigurov/
Ответить

Вернуться в «LinuxCNC»