Gcodetools - plug-in Inkscape для экспорта в Gcode

Обсуждение установки, настройки и использования LinuxCNC. Вопросы по Gкоду.
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Gcodetools - plug-in Inkscape для экспорта в Gcode

Сообщение Nick »

Сгенерированный Gкод в EMC2 (613128 просмотров) <a class='original' href='./download/file.php?id=507&mode=view' target=_blank>Загрузить оригинал (21.99 КБ)</a>
Сгенерированный Gкод в EMC2
ТипРасширение векторного
графического редактора Inkscape
РазработчикКоманда разработчиков Gcodetools
Написана наPython
ОСКроссплатформенное программное
обеспечение (Windows, Linux,
MacOS)
Версия1.7 от 01.07.2010
ЛицензияGNU GPL
Количество загрузок7800+

Gcodetools - CAM расширение для Incscape

Gcodetools это расширение векторного редактора Inkscape, которое позволяет подготавливать и экспортировать векторную графику в Gкод.

Gcodetools и Inkscape распространяются под лицензией GNU GPL, т.е. бесплатно, в т.ч. для коммерческого использования. Обе программы кросплатформенные, есть дистрибутивы под Windows, Linux и MacOS.
Для оформления темы нам нужны скриншоты и фотографии Ваших работ, публикуйте Ваши фотографии в этой теме.
Возможности Gcodetools (для просмотра содержимого нажмите на ссылку)

Возможности новой версии Gcodetools 1.6

Экспорт в Gcode
Screqnshot.png (616370 просмотров) <a class='original' href='./download/file.php?id=123&mode=view' target=_blank>Загрузить оригинал (154.76 КБ)</a>
Gcodetools cnc обработка площади (609250 просмотров) <a class='original' href='./download/file.php?id=771&mode=view' target=_blank>Загрузить оригинал (147.75 КБ)</a>
Gcodetools cnc обработка площади
Gcodetools CAM для токарных станков с чпу (610889 просмотров) <a class='original' href='./download/file.php?id=643&mode=view' target=_blank>Загрузить оригинал (21.98 КБ)</a>
Gcodetools CAM для токарных станков с чпу
Gcodetools гравировка от Rene (610999 просмотров) <a class='original' href='./download/file.php?id=632&mode=view' target=_blank>Загрузить оригинал (233.84 КБ)</a>
Gcodetools гравировка от Rene
Bears by Durachko (582232 просмотра) <a class='original' href='./download/file.php?id=5430&mode=view' target=_blank>Загрузить оригинал (89.93 КБ)</a>
Bears by Durachko
  • Экспорт кривых в Gcode
  • Аппроксимация с использованием круговой интерполяции (G02 и G03)
  • Автоматическое разбиение кривых для достижения заданной степени точности
  • Обработка со сменой инструментов
  • Экспорт Gкода в параметрической или обычной формах
  • Добавление собственных заголовков и окончаний
  • Выбор единиц измерения
  • Многопроходная обработка
  • Автоматическое добавление цифрового суфикса к назваию сохраняемого файла
Обработка на токарном станке
  • Создание траекторий для обработки детали на токарном станке
  • Расчет чистового прохода
  • Задание заглубления при чистовом проходе
  • Задание количества чистовых проходов
  • Два различных метода вычисления чистовых проходов
  • Замена стандартных осей
Обработка площади контуров
  • Создание траекторий для обработки площади контуров
  • Возможность коррекции созданных траекторий
Гравировка фигурными фрезами
  • Создание траекторий для обработки контуров фигурной фрезой
  • Задание произвольной формы фрезы
Библиотека инструментов
  • Здание различных параметров инструмента и обработки (диаметр инструмента, скорость обработки, заглубление за проход, скорость заглубления, задание произвольного кода перед/после заглубления, форма инструмента, произвольный код смены инструмента)
  • Возможность копирования инструментов
  • Возможность обработки со сменой инструмента
Система ориентирования
  • Задание масштабирования по всем осям
  • Задание поворотов в плоскости ХY
  • Задание смещения по всем осям
  • Ориентация по произвольным точкам
Постпроцессор
  • Создание произвольной программы постпроцессора или выбор из стандартного набора
  • Масштабирование и смещение Gcode
  • Произвольная замена команд (в том числе одновременная замена)
  • Параметризация Gcode
  • Округление длинны дробной части чисел в Gкоде
Предварительная проверка рисунка
  • Выделение маленьких контуров (возможных артефактов area)
  • Проверка принадлежности инструментов
  • Проверка порядка обработки
Плоттерная резка
  • Экспорт в Gкод для плоттера с тангенциальным ножом. Четвертая ось A - угол наклона ножа.
Общие
  • Проверка наличия обновлений.

вверх
Лицензия (для просмотра содержимого нажмите на ссылку)

Лицензия

Gcodetools выпускается под лицензией GNU GPL. Эта лицензия дает Вам следующее права:
  • запуска программы, с любой целью;
  • изучения того, как программа работает, и её модификации (предварительным условием для этого является сохранение лицензии GNU GPL);
  • распространения копий;
  • улучшения программы, и выпуска улучшений в публичный доступ (предварительным условием для этого является сохранение лицензии GNU GPL).
Подробнее см здесь: http://ru.wikipedia.org/wiki/GPL
вверх
Установка (для просмотра содержимого нажмите на ссылку)

Установка

Windows
Распакуйте архив и скопируйте все файлы в каталог Program Files\Inkscape\share\extensions\
Linux
Распакуйте архив и скопируйте все файлы в каталог /home/<имя пользователя>/.config/inkscape/extensions/
или /usr/share/inkscape/extensions/ и перезапустите inkscape
вверх
Видео уроки (для просмотра содержимого нажмите на ссылку)

Видео уроки

Русский язык

Видео уроки от Steel.ne на русском языке: Gcodetools - plug-in Inkscape для экспорта в Gcode #403

Английский язык

Видео уроки от Bitviper (на форуме Fizgig) (англ.):
http://www.youtube.com/watch?v=yUTVOTDbDRI
http://www.youtube.com/watch?v=zMQplyEo9Bc
Еще один видео урок на английском:
http://www.youtube.com/watch?v=4jYKMAjzK3A
Пример использования Gcodetools за 1 минуту от Stirlingengr:
http://www.youtube.com/watch?v=aflrnD9OEvA
Использование и уроки (для просмотра содержимого нажмите на ссылку)

Использование и уроки

Документация: Gcodetools документация [В разработке] #23
Tutorial гравировке узоров от Dormouse ver 1.5b: http://kalyaev.com/2010/20100402/tut01/tut01.html
Tutorial по обработке площади контура ver 1.2: Gcodetools - plug-in Inkscape для экспорта в Gcode #10
Tutorial по созданию шестеренок ver 1.2: http://www.cnc-club.ru/forum/viewtopic. ... art=0#p154
Manual для версии 1.2 в этом посте:Gcodetools - plug-in Inkscape для экспорта в Gcode #9
Подробное описание для версии 1.1 в этом посте: http://www.cnc-club.ru/forum/viewtopic. ... rt=40#p100

Справка по пре- и пост-процессорам Gcodetools - пре- и пост-процессоры #1
Загрузить последнюю версию (для просмотра содержимого нажмите на ссылку)

Загрузить последнюю версию

Последняя стабильная версия Gcodetools 1.7
gcodetools.tar.gz
Gcodetools 1.7
(75.25 КБ) 29648 скачиваний
Предыдущие версии(ver 1.6)
gcodetools-1.6.tar.gz
Gcodetools 1.6
(56.6 КБ) 9447 скачиваний
(ver 1.5)
gcodetools.tar.gz
Gcodetools 1.5
(21.32 КБ) 7887 скачиваний
(ver 1.4)
gcodetools.tar.gz
(14.72 КБ) 7904 скачивания
(ver 1.2)
extensions.tar.gz
(9.01 КБ) 7624 скачивания

Dev версия

Вы можете опробовать версию, находящуюся в разработке, загрузив ее с github
Через веб интерфейс: https://github.com/cnc-club/gcodetools
Или через git командой git clone git@github.com:cnc-club/gcodetools.git

Перед работой необходимо создать файлы inx путем запуска скрипта python create_inx.py
Благодарности (для просмотра содержимого нажмите на ссылку)

Благодарности

Разработчики:
  • Николай Дробченко (Nick)
  • Владимир Каляев (Dormouse)
  • Henry Nicolas (Alfcnc)
  • Chris Lusby Taylor (ChrisInNewbury)
Переводчики:
  • John Brooker (greybeard из cnczone.com)
вверх
Помощь в разработке (для просмотра содержимого нажмите на ссылку)

Помощь в разработке

На данный момент в разработке находятся:
  • Расширение для плазменной резки
  • Расширение для токарных станков
  • Расширение для плоттеров
Вы можете помочь улучшить Gcodetools создавая новые уроки и описания, давая советы, делая отчеты об ошибках, помогая разрабатывать новые функции.
Вы можете:
  • Написать отчет об использовании
  • Улучшить справку и уроки
  • Опубликовать Gкод / SVG / или программный код
  • Загрузить фото/видео готовых работ или опубликовать историю разработки
  • Написать отчет об ошибках
  • Помочь в разработке новых функций
  • Помочь в написании уроков и справки
  • Предложить новые функции
вверх
Протестировано на или системные требования (для просмотра содержимого нажмите на ссылку)

Протестировано на

Linux
Ubuntu 9.10 - Ubuntu 14.04 и далее + inkscape 0.48, inkscape 0.47, inkscape 0.46
FreeBSD 9, FreeBSD 10 + Inkscape 0.48.2.
Windows
Windows XP, Windows Vista, Windows 7 + inkscape 0.46, inkscape 0.47, inkscape 0.48
MacOS
Есть сообщения о работоспособности на MacOS.
вверх
Аватара пользователя
dormouse
Мастер
Сообщения: 334
Зарегистрирован: 27 фев 2010, 09:55
Репутация: 15
Заслуга: Developer
Контактная информация:

Re: Gcodetools - plug-in Inkscape для экспорта в Gcode

Сообщение dormouse »

При текущей реализации этого скрипта будет беда, это очевидно. Надо подумать и внести коррекцию такого поведения.
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: Gcodetools - plug-in Inkscape для экспорта в Gcode

Сообщение Nick »

Там обычно есть дополнительное перемещение... можно его проверить...
Аватара пользователя
dormouse
Мастер
Сообщения: 334
Зарегистрирован: 27 фев 2010, 09:55
Репутация: 15
Заслуга: Developer
Контактная информация:

Re: Gcodetools - plug-in Inkscape для экспорта в Gcode

Сообщение dormouse »

1. По поводу разомкнутых контуров - надо пример такой строчки, чтобы я добавил этот критерий.

2. Что-то я подзабыл - как при p-t-g на объекте "круг" выбрать направление обхода контура из интерфейса?
(в коде оно переключается в зависимости от: s[3]<0 и reverse_angle)
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: Gcodetools - plug-in Inkscape для экспорта в Gcode

Сообщение Nick »

dormouse писал(а):2. Что-то я подзабыл - как при p-t-g на объекте "круг" выбрать направление обхода контура из интерфейса?
Вроде только через Контур-Развернуть, но для круга может не сработать... для круга модет сработать просто отзеркалить его... :)
Аватара пользователя
dormouse
Мастер
Сообщения: 334
Зарегистрирован: 27 фев 2010, 09:55
Репутация: 15
Заслуга: Developer
Контактная информация:

Re: Gcodetools - plug-in Inkscape для экспорта в Gcode

Сообщение dormouse »

Reverse не работает (из круга => Path=>Object to path)
Flip horizontally, vertically - так же не работает

Явно что-то меняется при этом, но обход по прежнему против часовой стрелки!

Сам объект: M -21.064884,1052.3623 A 21.064877,21.064877 0 0 1 -7.8028283e-6,1031.2974 21.064877,21.064877 0 0 1 21.064869,1052.3623 21.064877,21.064877 0 0 1 -7.8028283e-6,1073.4272 21.064877,21.064877 0 0 1 -21.064884,1052.3623 Z
После реверса: M -21.064884,1052.3623 A 21.064877,21.064877 0 0 0 -7.8028283e-6,1073.4272 21.064877,21.064877 0 0 0 21.064869,1052.3623 21.064877,21.064877 0 0 0 -7.8028283e-6,1031.2974 21.064877,21.064877 0 0 0 -21.064884,1052.3623 Z

Есть идеи?
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: Gcodetools - plug-in Inkscape для экспорта в Gcode

Сообщение Nick »

А если стрелки нарисовать, то они меняют направление?
Аватара пользователя
dormouse
Мастер
Сообщения: 334
Зарегистрирован: 27 фев 2010, 09:55
Репутация: 15
Заслуга: Developer
Контактная информация:

Re: Gcodetools - plug-in Inkscape для экспорта в Gcode

Сообщение dormouse »

Не понял вопроса. После отработки p-t-g визуально одинаковая картиночка - стрелочки против часовой стрелки. Что нужно сделать?
В любом случае - надо разобраться как у такого контура менять направление обхода.
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: Gcodetools - plug-in Inkscape для экспорта в Gcode

Сообщение Nick »

Да вай еще раз, создаем круг, ctrl+shift+c, и
Контур - Развернуть ничего не меняет?

Стрелочки - в смысле захзодишь в стили и добавляешь обводке стрелочки, так сразу видно куда поеврнут контур.
Я попробовал - круг не разворачивается, а контур из круга разворачивается...
Аватара пользователя
dormouse
Мастер
Сообщения: 334
Зарегистрирован: 27 фев 2010, 09:55
Репутация: 15
Заслуга: Developer
Контактная информация:

Re: Gcodetools - plug-in Inkscape для экспорта в Gcode

Сообщение dormouse »

Запутался окончательно.
Нарисовал безье (разомкнутую) и круг. Оба ctrl-shift-c
Обоим в стиль стрелочку
При Reverse стрелочка у безье перепрыгивает с одного конца на другой, оба раза показывает "к центру кривой"
При Reverse стрелочка у бывшего круга вообще не меняется.

При этом во всех 4-х случаях p-t-g рисует одно и то же! Т.е. независимо от маркера-стрелочки и нажатия Reverse ничего не изменяется в картине зелёно-синих червяков p-t-g.
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: Gcodetools - plug-in Inkscape для экспорта в Gcode

Сообщение Nick »

dormouse писал(а):ри Reverse стрелочка у бывшего круга вообще не меняется.
Ставь стрелочку на средний маркер - так их будет много. По спецификации svg стрелочка в круге на конце круга может показывать не туда куда едет контур...
Аватара пользователя
dormouse
Мастер
Сообщения: 334
Зарегистрирован: 27 фев 2010, 09:55
Репутация: 15
Заслуга: Developer
Контактная информация:

Re: Gcodetools - plug-in Inkscape для экспорта в Gcode

Сообщение dormouse »

Вынужден признать, что всё идёт "не так" у меня.
Просьба выложить мини-туториал, думаю, для всех будет полезно:
1. качаем inkscape версии xxx
2. ставим gcodetools версии yyy
3. рисуем кривулю безье незамкнутую
4. рисуем круг 0,0 размером 10,10 в мм
5. каждый из них Path=>Object to path
6. какой инструмент выбираем, куда кликаем и что выбираем чтобы стрелочки-маркеры расставить? у меня упорно только один маркер на один объект ставится
7. выбираем p-t-g, смотрим результирующие направления обхода
8. делаем волшебные действия, заново выбираем p-t-g и видим, что оба контура теперь сине-зелёными червяками пройдены в обратную сторону.
9. Файл из п.п.5,7,8 сохраняем в виде аттача (так же и .nc желательно)
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: Gcodetools - plug-in Inkscape для экспорта в Gcode

Сообщение Nick »

inkscape 0.48 ubuntu 10.10, gcodetools - 1.7 или как-то так.
Gкод не проверял, но стрелки в разные стороны...
Вложения
рисунок.svg
(50.44 КБ) 862 скачивания
rect4766.png (2498 просмотров) <a class='original' href='./download/file.php?id=25630&mode=view' target=_blank>Загрузить оригинал (238.77 КБ)</a>
output.ngc
(3.29 КБ) 1018 скачиваний
Аватара пользователя
dormouse
Мастер
Сообщения: 334
Зарегистрирован: 27 фев 2010, 09:55
Репутация: 15
Заслуга: Developer
Контактная информация:

Re: Gcodetools - plug-in Inkscape для экспорта в Gcode

Сообщение dormouse »

Похоже, что в rev265 рука дрогнула на отступах - см.скриншот
Вложения
gcodetools-rev265.png (2495 просмотров) <a class='original' href='./download/file.php?id=25632&mode=view' target=_blank>Загрузить оригинал (58.45 КБ)</a>
gcodetools-rev265-1.png (2493 просмотра) <a class='original' href='./download/file.php?id=25633&mode=view' target=_blank>Загрузить оригинал (32.33 КБ)</a>
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: Gcodetools - plug-in Inkscape для экспорта в Gcode

Сообщение Nick »

Да, последняя rev не рабочая, я там начал писать для гибочника код, но не успел закончить и протестировать...
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5183
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

Re: Gcodetools - plug-in Inkscape для экспорта в Gcode

Сообщение Serg »

А зачем коммитил-то?
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
Аватара пользователя
dormouse
Мастер
Сообщения: 334
Зарегистрирован: 27 фев 2010, 09:55
Репутация: 15
Заслуга: Developer
Контактная информация:

Re: Gcodetools - plug-in Inkscape для экспорта в Gcode

Сообщение dormouse »

И так результат:
inkscape 0.48.4.1 стабильный
gcodetools rev264
всё работает. Маркеры середины: Stroke Style =>Mid Markers у круга, преобразованного в Object to path переворачиваются при операции Reverse.
Так же переворачивается результат в .ngc файле и сине-зелёные червяки.

Проблема в том, что изначально я в неактуальной версии Inkscape всё делал и, возможно, неактуальной gcodetools.
Аватара пользователя
dormouse
Мастер
Сообщения: 334
Зарегистрирован: 27 фев 2010, 09:55
Репутация: 15
Заслуга: Developer
Контактная информация:

Re: Gcodetools - plug-in Inkscape для экспорта в Gcode

Сообщение dormouse »

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

Код: Выделить всё

		#	Creating Gcode for curve between s=curve[i-1] and si=curve[i] start at s[0] end at s[4]=si[0]
			s, si = curve[i-1], curve[i]
			if s[1] in ["line","arc"] and point_to_point_d2(s[0],si[0]) < 1e-7 : continue
			feed = f if lg not in ['G01','G02','G03'] else ''
			if s[1]	== 'move':
				g += go_to_safe_distance + "G00" + c(si[0]) + "\n" + tool['gcode before path']
				g += "(Subpath start)\n"
Как лучше взять расстояние от первой до последней точки кривой?
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: Gcodetools - plug-in Inkscape для экспорта в Gcode

Сообщение Nick »

UAVpilot писал(а):А зачем коммитил-то?
Штоб дома потом дописать :freak:
dormouse писал(а):Как лучше взять расстояние от первой до последней точки кривой?
может в скрипте этот вариант описать... там не та к все сложно должно быть... вроде...

Пришли пример кода, а я накидаю проверку...
Аватара пользователя
dormouse
Мастер
Сообщения: 334
Зарегистрирован: 27 фев 2010, 09:55
Репутация: 15
Заслуга: Developer
Контактная информация:

Re: Gcodetools - plug-in Inkscape для экспорта в Gcode

Сообщение dormouse »

нет. в стороннем скрипте это СВЕРХСЛОЖНО (т.к. придётся писать интерпретатор и вычислять позицию машины после каждой строки) а в gcodetools это всего 2 строчки:
if кривая_замкнута:
g += "(closed curve)\n"
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5183
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

Re: Gcodetools - plug-in Inkscape для экспорта в Gcode

Сообщение Serg »

Nick писал(а):Штоб дома потом дописать :freak:
Так ответвления делай или как там оно в git называется. А то я теперь буду бояться лишний раз скачивать свежие gcodetools и features. ;)
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
Ответить

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