Страница 56 из 77
Gcodetools - plug-in Inkscape для экспорта в Gcode
Добавлено: 07 дек 2009, 10:49
Nick

- Сгенерированный 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

- Gcodetools cnc обработка площади

- Gcodetools CAM для токарных станков с чпу

- Gcodetools гравировка от Rene

- 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
вверх
Помощь в разработке (для просмотра содержимого нажмите на ссылку)Помощь в разработке
На данный момент в разработке находятся:
- Расширение для плазменной резки
- Расширение для токарных станков
- Расширение для плоттеров
Вы можете помочь улучшить Gcodetools создавая новые уроки и описания, давая советы, делая отчеты об ошибках, помогая разрабатывать новые функции.
Вы можете:
- Написать отчет об использовании
- Улучшить справку и уроки
- Опубликовать Gкод / SVG / или программный код
- Загрузить фото/видео готовых работ или опубликовать историю разработки
- Написать отчет об ошибках
- Помочь в разработке новых функций
- Помочь в написании уроков и справки
- Предложить новые функции
вверх
Re: Gcodetools - plug-in Inkscape для экспорта в Gcode
Добавлено: 21 апр 2014, 21:15
NightV
NightV писал(а):както давно на просторах инета нашел такой архивчик с тонкими шрифтами
из 20 скачавших 1 плюсанул (сказал спасибо)... чтож тоже не плохо

Re: Gcodetools - plug-in Inkscape для экспорта в Gcode
Добавлено: 21 апр 2014, 21:54
dormouse
Постараюсь во вторник выложить на пробу с изменённой последовательностью M3 и Sxx.
Re: Gcodetools - plug-in Inkscape для экспорта в Gcode
Добавлено: 21 апр 2014, 22:59
Serg
Ворон226 писал(а):S1000
Всё правильно, сама по себе команда S1000 ничего со шпинделем не делает (только записывает значение во "внутреннюю переменную"), управляют работой шпинделя команды M3/M4/M5 используя значение скорости из той переменной.
Re: Gcodetools - plug-in Inkscape для экспорта в Gcode
Добавлено: 22 апр 2014, 01:24
Ворон226
UAVpilot писал(а):Всё правильно, сама по себе команда S1000 ничего со шпинделем не делает
Тут важна очередность, которая нарушена при формировании G-кода в Gcodetools-е. Вот об чем разговор...
Да и уже пришла пора дописывать описание .
Re: Gcodetools - plug-in Inkscape для экспорта в Gcode
Добавлено: 22 апр 2014, 05:22
Сергей Саныч
NightV писал(а):из 20 скачавших 1 плюсанул (сказал спасибо)... чтож тоже не плохо

это роботы поисковые качают
а у них с благодарностью туговато

Re: Gcodetools - plug-in Inkscape для экспорта в Gcode
Добавлено: 22 апр 2014, 09:53
NightV
Сергей Саныч писал(а):это роботы поисковые качают
видимо и обсуждали после тоже роботы

Re: Gcodetools - plug-in Inkscape для экспорта в Gcode
Добавлено: 22 апр 2014, 11:03
dormouse
Для начала:
первый M3 по умолчанию в начале программы прописан в 'header', т.е. в подставляемом по умолчанию заголовке. Вместо него будет взят отдельно лежащий файл (наравне с footer) из папки, в которую g-code готовый выгрузится.
Собственно скорость Sxx выставляется из свойств инструмента, причём делается прямо сейчас это ПОСЛЕ выполнения кода "смены инструмента". Надо попробовать в свойства инструмента в "код смены инструмента" вставить M3
Вставляем "Defaul tool", меняем 2 свойства: spindle rpm = 824 и tool change gcode=M3
Код: Выделить всё
(Header)
(Generated by gcodetools from Inkscape.)
(Using default header. To add your own header create file "header" in the output dir.)
M3 <= Берётся из header
(Header end.)
G21 (All units in mm)
(Start cutting path id: rect3262 at depth: -1.0)
(path id: rect3262 at depth step: -1.0)
(path len: 119.33968)
(Change tool to Default tool)
S824 <= Берётся из свойств инструмента tool change gcode
G00 Z5.000000
G00 X15.723807 Y203.401593
M3(Subpath start) <= Берётся из свойств инструмента gcode before path
Отдельно - rev265 так и не обновилась с учётом bender'а. Чтобы привести её в порядок нужно: а) убрать одно двоеточие, б) выкинуть кусок кода (случайный paste), в) заменить doc_height = inkex. на doc_height = self.
Собственно из всего этого следует резонный вопрос - нужно ли что-то менять, или решением является волшебное "M3" в "gcode before path"? Или как отнесётся шпиндель к тому, что на каждый суб-контур будет вставлено по M3 ? из общего опыта следует, что "никак", т.е. не помешает.
Если он вначале включится первым кодом M3 из header-секции, а далее уже не будет раскручиваться вторым вхождением M3 (после S824), то имеет смысл подложить пустой header-файл в выходную папку, рядом c output.ngc, тогда M3 до S824 уже не будет.
Nick: Наверное, надо было взять rev-292 с github/bender? какой глубокий смысл там сейчас в двух ветках (master/bender)? Так же: на какой версии Inkscape идёт тестирование? даже bender-rev-292 не позволяет фокус doc_height = inkex. ...
Re: Gcodetools - plug-in Inkscape для экспорта в Gcode
Добавлено: 22 апр 2014, 12:30
dormouse
Изменение в DXF-points: теперь стрелочки стали БЕЗ ОБВОДКИ, иначе получалось, что стрелочка указывает МИМО своей "точки приложения"...
Re: Gcodetools - plug-in Inkscape для экспорта в Gcode
Добавлено: 22 апр 2014, 12:39
Сергей Саныч
Может, я чего не понимаю, но последовательности типа M3 S1000 работают вполне корректно и "разлучать" по разным строкам M3 и Sxxxx нет смысла.
Повторные же строки M3 Sxxxx никому не мешают и не замедляют работу программы, если значение xxxx не изменилось. Если же изменилось, то работа приостанавливается, пока не будет достигнутое новое значение скорости (при условии, что управление шпинделем сделано правильно).
Re: Gcodetools - plug-in Inkscape для экспорта в Gcode
Добавлено: 22 апр 2014, 13:23
dormouse
Попробую другими словами:
а) M3 вставляется в начало любой программы "по умолчанию". Подавить это поведение можно, положив файлик footer пустой, или с желаемым содержимым в выходную папку
б) M3 можно вставить перед каждым контуром в рамках свойства инструмента
в) Команда Sxxx выполнится в виде просто "новая строка Sxxx новая строка" если у очередного инструмента появилось свойство 'spindle rpm'
Вопросы:
1. Если выполнить на ваших станках программу (так себя ведёт gcodetools без файлика header )
Что получится?
2. Если выполнить на ваших станках программу (так себя ведёт gcodetools при пустом файлике header)
Что получится?
3. Если выполнить на ваших станках программу (так может себя вести gcodetools, если чуть подправить код)
Что получится?
Re: Gcodetools - plug-in Inkscape для экспорта в Gcode
Добавлено: 22 апр 2014, 13:37
Сергей Саныч
G2 в первой программе - опечатка?
Re: Gcodetools - plug-in Inkscape для экспорта в Gcode
Добавлено: 22 апр 2014, 13:40
Serg
1. на первой строке включится шпиндель на скорости, заданной какой-то предыдущей УП, на третьей ничего не произойдёт, на четвертой скорость шпинделя изменится на 1000 об/мин. На последнем M3 ничего не изменится.
2. на третьей строке включится шпиндель на скорости 1000 об/мин.
3. Ну тут понятно. Это самый правильный вариант.
Думаю надо параметр скорости шпинделя сделать обязательным в свойствах инструмента в гкод вставлять его вместе с М3, ну или с М4 если у инструмента можно будет задавать направление воращения.
Re: Gcodetools - plug-in Inkscape для экспорта в Gcode
Добавлено: 22 апр 2014, 13:42
Nick
dormouse писал(а):Nick: Наверное, надо было взять rev-292 с github/bender? какой глубокий смысл там сейчас в двух ветках (master/bender)? Так же: на какой версии Inkscape идёт тестирование? даже bender-rev-292 не позволяет фокус doc_height = inkex. ...
Две ветки, чтобы не портить master, и чтобы он был рабочий

, это UAVpilot намекнул, что так будет лучше, оно в принципе и удобнее, как Бендера оттестируют добавим его в мастер.
dormouse писал(а):Вопросы:
1. Если выполнить на ваших станках программу (так себя ведёт gcodetools без файлика header )
Там надо просто ко всем Sxxx добавить M03 и все будет работать как надо.
А из header можно наверное вообще его убрать.
В footer M05 - оставить.
Re: Gcodetools - plug-in Inkscape для экспорта в Gcode
Добавлено: 22 апр 2014, 14:04
dormouse
Пробуйте результат:
Код: Выделить всё
(Header)
(Generated by gcodetools from Inkscape.)
(Using default header. To add your own header create file "header" in the output dir.)
M3
(Header end.)
G21 (All units in mm)
(Start cutting path id: rect4062 at depth: -0.125)
(path id: rect4062 at depth step: -0.125)
(path len: 137.07937)
(Change tool to Default tool)
M03 S825
G00 Z5.000000
G00 X20.965077 Y262.869848
(Subpath start)
Чтобы убрать M3 вначале кода нужно подложить пустой файлик header.
Если вовсе из дефолтной шапки выкинуть M3, то нужно будет М3 принудительно вставлять в код каждой смены инструмента. Иначе выйдет, что если инструмент вообще без spindle rpm, то M3 ни разу не сработает.
ВНИМАНИЕ! Для тех, у кого ошибка "Traceback (most recent call last): ...AttributeError: Gcodetools instance has no attribute 'unittouu" возьмите другой файл gcodetools-rev292-bender-arrows-M3_Sxx-inkex.rar
Re: Gcodetools - plug-in Inkscape для экспорта в Gcode
Добавлено: 22 апр 2014, 17:32
dormouse
В свете вышесказанного небольшой опрос:
верно ли я понял, что по стандартам g-кодов, с учётом "особенностей" (Emc2 и т.п.) всегда работает только
никогда
иногда
и тоже иногда
?
Если так, то наверное хорошим поведением будет считаться не писать M3 в заголовке, а вписывать "M3 Sxxx" перед взятием первого инструмента, причём если в нём нет spindle rpm, то вставлять самим "M3 S123" для совместимости.
И нужно ли делать галочку в меню, чтобы подавлять эту функциональность? (т.е. если станок вовсе без включения инструмента, то его в принципе код M3 Sxxx смутит и придётся вручную его удалять пользователям каждый раз?)
P.S. Кстати, М3 вообще нет на станках Optimum ( NC cad ) вместо него используется G9x.1 на включение и отдельные коды на вкл/выкл эмульсии. Для таких случаев, M3 кажется логичным подавлять, а истользовать только "жкод до и после" из свойств инструмента?
Re: Gcodetools - plug-in Inkscape для экспорта в Gcode
Добавлено: 22 апр 2014, 20:49
NightV
Вырезки кода из програм
Matsuura (Yaskawa, работает в системе Fanuc)
Код: Выделить всё
G43 H9 D59 G0 X-5.05 Y-64. Z50. S3000 M3
M8
М8 отдельной строкой так-как станок не позволяет использовать несколько М кодов в одной строке
OKUMA
как видно везде используется
одной строкой
Re: Gcodetools - plug-in Inkscape для экспорта в Gcode
Добавлено: 22 апр 2014, 23:27
Ворон226
Завтра на станке проверю все варианты и вечером сообщю...
Эх... Понять бы ваш язык программистов! Если "gcode before path" ещё понятно,то вот "подложить пустой header-файл в выходную папку" понимаю частично... Т.е. о какой папке идет речь - понял, а вот что за "header-файл" - только могу догадываться...
А нет ли хоть краткого описания Gcodetools-dev? В пдф-описании очень коротко не о всём. Приходится выдумывать и интуировать.
Re: Gcodetools - plug-in Inkscape для экспорта в Gcode
Добавлено: 22 апр 2014, 23:30
Serg
dormouse писал(а):верно ли я понял, что по стандартам g-кодов, с учётом "особенностей" (Emc2 и т.п.) всегда работает только
Не верно. Вы невнимательно читаете что вам отвечают.
Нет команды Sxxx, это всего-лишь параметр для команды M3/M4, просто синтаксис g-code позволяет задавать параметры до команды.
Это как в мобильном телефоне: вы можете набирать на экране какой угодно номер, но звонок будет сделан только по нажатию зелёной кнопки, а если номер набирать не будете, а сразу нажмёте на зелёную кнопку, то звонок будет сделан по номеру, набранному когда-то ранее.
Ворон226 писал(а):А нет ли хоть краткого описания Gcodetools-dev? В пдф-описании очень коротко не о всём. Приходится выдумывать и интуировать.
Это Nick такой тест на IQ проводит, чтобы понять достоин ты использовать gcodetools или нет.
Простой поиск слова header по исходнику даёт ожидаемый результат:
Код: Выделить всё
'header': """%
(Header)
(Generated by gcodetools from Inkscape.)
(Using default header. To add your own header create file "header" in the output dir.)
M3
(Header end.)
""",
'footer': """
(Footer)
M5
G00 X0.0000 Y0.0000
M2
(Using default footer. To add your own footer create file "footer" in the output dir.)
(end)
%"""
}
Re: Gcodetools - plug-in Inkscape для экспорта в Gcode
Добавлено: 22 апр 2014, 23:48
NightV
UAVpilot писал(а): вы можете набирать на экране какой угодно номер, но звонок будет сделан только по нажатию зелёной кнопки, а если номер набирать не будете, а сразу нажмёте на зелёную кнопку, то звонок будет сделан по номеру, набранному когда-то ранее
хороший пример!
тобиш одна строка кода и есть наш "номер"
Re: Gcodetools - plug-in Inkscape для экспорта в Gcode
Добавлено: 22 апр 2014, 23:59
NightV
кстате ради эксперемента перезагрузил станки... перепроверил, на моих станках что
м3 s100 что s100 M3, пофиг.... главное одной строкой