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 (568511 просмотров) <a class='original' href='./download/file.php?id=507&sid=09c28bcf6c1ede1dc007bfa3aae616e3&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 (571753 просмотра) <a class='original' href='./download/file.php?id=123&sid=09c28bcf6c1ede1dc007bfa3aae616e3&mode=view' target=_blank>Загрузить оригинал (154.76 КБ)</a>
Gcodetools cnc обработка площади (564633 просмотра) <a class='original' href='./download/file.php?id=771&sid=09c28bcf6c1ede1dc007bfa3aae616e3&mode=view' target=_blank>Загрузить оригинал (147.75 КБ)</a>
Gcodetools cnc обработка площади
Gcodetools CAM для токарных станков с чпу (566272 просмотра) <a class='original' href='./download/file.php?id=643&sid=09c28bcf6c1ede1dc007bfa3aae616e3&mode=view' target=_blank>Загрузить оригинал (21.98 КБ)</a>
Gcodetools CAM для токарных станков с чпу
Gcodetools гравировка от Rene (566382 просмотра) <a class='original' href='./download/file.php?id=632&sid=09c28bcf6c1ede1dc007bfa3aae616e3&mode=view' target=_blank>Загрузить оригинал (233.84 КБ)</a>
Gcodetools гравировка от Rene
Bears by Durachko (537615 просмотров) <a class='original' href='./download/file.php?id=5430&sid=09c28bcf6c1ede1dc007bfa3aae616e3&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 КБ) 26816 скачиваний
Предыдущие версии(ver 1.6)
gcodetools-1.6.tar.gz
Gcodetools 1.6
(56.6 КБ) 6219 скачиваний
(ver 1.5)
gcodetools.tar.gz
Gcodetools 1.5
(21.32 КБ) 4635 скачиваний
(ver 1.4)
gcodetools.tar.gz
(14.72 КБ) 4420 скачиваний
(ver 1.2)
extensions.tar.gz
(9.01 КБ) 4152 скачивания

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.
вверх
Аватара пользователя
Ворон226
Мастер
Сообщения: 1922
Зарегистрирован: 01 окт 2012, 18:14
Репутация: 181
Откуда: Солнечногорск Московской обл. - Борки Конаковского р-на - Скоморохово Фировского р-на
Контактная информация:

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

Сообщение Ворон226 »

UAVpilot писал(а):Простой поиск слова 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)
%"""
}
А если у меня в папке, в которую я сохраняю файл с программой пусто, то...
(только ребусы в час ночи гадать и остается)
Хочешь быть счастливым? Будь им!
Аватара пользователя
NightV
Почётный участник
Почётный участник
Сообщения: 6599
Зарегистрирован: 30 дек 2011, 09:14
Репутация: 2279
Настоящее имя: Владимир Айрапетян
Откуда: Israel
Контактная информация:

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

Сообщение NightV »

Ворон226 писал(а):подложить пустой header-файл в выходную папку
насколько я помню это положить файлик с именем heafder.ngc с нужными тебе строками кода в заголовке програмы. (кажеся был и footer)
тогда вместо стандартной шапки что выдумали наши товарисчи програмеры будет встовлятся втоя :)
главное чтобы heafder.ngc лежала в папке где указаны где должны лежать твои исходные файлы.
кстате крайне не удобно! у друга у которого с станок по гравировке по стеклу насчитал 18хх файлов!!!! говорит "боюсь! тыж сказал не удалитиь что-то нужное!!!"
Всё просто! если знаешь КАК!
Аватара пользователя
NightV
Почётный участник
Почётный участник
Сообщения: 6599
Зарегистрирован: 30 дек 2011, 09:14
Репутация: 2279
Настоящее имя: Владимир Айрапетян
Откуда: Israel
Контактная информация:

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

Сообщение NightV »

Ворон226 писал(а): А если у меня в папке, в которую я сохраняю файл с программой пусто, то...
подложи в эту папку этот файлик, даже с абракадаброй, увидиш что произойдет ;)
Всё просто! если знаешь КАК!
Аватара пользователя
Ворон226
Мастер
Сообщения: 1922
Зарегистрирован: 01 окт 2012, 18:14
Репутация: 181
Откуда: Солнечногорск Московской обл. - Борки Конаковского р-на - Скоморохово Фировского р-на
Контактная информация:

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

Сообщение Ворон226 »

Если есть возможность один раз переписать сам Gcodetools, то зачем эти пляски? Лучше я, если вдруг мне понадобится однажды - ручками впишу нечто экзотичное...
Хочешь быть счастливым? Будь им!
Аватара пользователя
NightV
Почётный участник
Почётный участник
Сообщения: 6599
Зарегистрирован: 30 дек 2011, 09:14
Репутация: 2279
Настоящее имя: Владимир Айрапетян
Откуда: Israel
Контактная информация:

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

Сообщение NightV »

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

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

Сообщение dormouse »

UAVpilot:
a) Не уверен что по-прежнему могу понять что мне ответили - работает ли код в реальных программах, и как это связано с тем, что Sxx является параметром к M3? Насколько я помню исходники Emc2 - там все параметры реализованы как словарь и значение M3 возьмёт текущее значение из этого словаря. Только это не отвечает на вопрос - как отреагирует странок на следующее (полагаю, что реакция будет в разных программах разной!):

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

M3
G1 X10
S1000
M3 
G1 X0
M3
G1 X-10
M3 S500
G1 X-20
Продолжая аналогию с телефоном - беру неизвестный мне телефон, нажимаю кнопку звонить, потом 123 потом звонить потом 456 и ещё раз звонить и ещё раз звонить - что произойдёт? Я не берусь дать ответа, минимум 3 телефона на которых я это опробовал ПО-РАЗНОМУ восприняли эксперимент. Прошу понять, что мне бы очень хотелось узнать ПОВЕДЕНИЕ РЕАЛЬНЫХ ИНТЕРПРЕТАТОРОВ g-code'ов на станках, а не разъяснения абстрактного типа.

б) Насчёт header/footer файлов вы несколько странно уточнили - "Простой поиск слова header по исходнику даёт ожидаемый результат... " - это как раз значения "по умолчанию, если в директории куда кладётся output.ngc (выходной файл g-кода) нет файликов header/footer". Если же эти файлы (или любой из них) есть, то они (он) будут использоваться ВМЕСТО этих заголовков "по умолчанию", в том числе пустой файл просто уберёт заголовк вовсе.

---
Наверное, действительно нужно в заголовке "по умолчанию" писать M3 S123 чтобы всегда происходило полноценное включение станка, а если инструмент требует какой-то реальной скорости, то 'spindle rpm' должна быть заполнена - тогда чуть далее по коду программы сработает ещё одна команда M3 S1000 и обороты станут адекватными.

Если объяснил что-то непонятно или неясно - спросите, отвечу.

P.S. Ворон226 и NightV - у вас есть какие-нибудь предложения, как нужно изменить поведение gcodetools чтобы оно было понятнее и очевиднее (ну или удобнее) ?
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5182
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

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

Сообщение Serg »

dormouse писал(а):Только это не отвечает на вопрос - как отреагирует странок на следующее (полагаю, что реакция будет в разных программах разной!):
Не будет. Вернее не должна быть. Поведение всех программ описывает стандарт RS274NGC.
dormouse писал(а):беру неизвестный мне телефон
Если вы подобные примеры воспринимаете настолько буквально, то я не смогу вам объяснить, то, что вы спрашиваете.
dormouse писал(а):у вас есть какие-нибудь предложения, как нужно изменить поведение gcodetools чтобы оно было понятнее и очевиднее (ну или удобнее) ?
Писал уже где-то выше: для каждого инструмента в g-code надо вставлять команды собственно выбора инструмента и последующего включения шпинделя с заданной инструментом скоростью.
Примерно так:

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

M5
M6 T1
M3 S1000
Ну и нужно иметь возможность задавать это своим "шаблоном" т.к. в реальности между M5 и M6 нужно уехать в позицию смены инструмента.
dormouse писал(а):Насчёт header/footer файлов вы несколько странно уточнили
Я не вам писал.
Последний раз редактировалось Serg 23 апр 2014, 02:13, всего редактировалось 3 раза.
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5182
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

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

Сообщение Serg »

Ворон226 писал(а):А если у меня в папке, в которую я сохраняю файл с программой пусто, то...
то программа вместо отсутствующего файла вставит в gcode текст:

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

(Header)
(Generated by gcodetools from Inkscape.)
(Using default header. To add your own header create file "header" in the output dir.)
M3
(Header end.)
Ворон226 писал(а):Если есть возможность один раз переписать сам Gcodetools, то зачем эти пляски? Лучше я, если вдруг мне понадобится однажды - ручками впишу нечто экзотичное...
Только надо сначала как следует продумать что именно туда вписать по дефолту.
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

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

Сообщение nkp »

dormouse писал(а):как отреагирует странок на следующее
емс реагирует на код:

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

M3
G1 X10
S1000
M3 
G1 X0
M3
G1 X-10
M3 S500
G1 X-20
следующим образом:
(рассматриваем только команды "шпинделя")
M3 - емс устанавливает флаг spindle_direction в 1(1 по ч.с., -1 против ч.с , 0 стоп)
spindle_speed (частота вращения (скорость)) 0.0
срабатывает пин тормоза(halui.spindle.brake-is-on )
и пин halui.spindle.runs-forward (выход)
то есть - отследить команду М3 в емс , введеную без параметра S , можно (иногда это требуется)
интересно ,что если вместо М3 начать с М4 без S - то всё равно срабатывает пин halui.spindle.runs-forward ,
а не halui.spindle.runs-backward ,как вроде того требует логика...
но зато скорость (которая ,напомню , была 0.0) после М4 равна -0.0(с минусом)
----------------
после введения S1000
всё остается по прежнему ...
скорость 0.0
============
после повторного М3 срабатывает пин halui.spindle.is-on
скорость 1000
---------
дальнейшее М3 ничего не меняет
М3S500 - устанавливает скорость 500
===============
цитата из описания RS274:

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

3.6.2 Spindle Control — M3, M4, M5
To start the spindle turning clockwise at the currently programmed speed, program M3.
To start the spindle turning counterclockwise at the currently programmed speed, program M4.
To stop the spindle from turning, program M5.
It is OK to use M3 or M4 if the spindle speed is set to zero. If this is done (or if the speed override
switch is enabled and set to zero), the spindle will not start turning. If, later, the spindle speed is
set above zero (or the override switch is turned up), the spindle will start turning. It is OK to use
M3 or M4 when the spindle is already turning or to use M5 when the spindle is already stopped.
RS274NGC_3.pdf
(1.04 МБ) 823 скачивания
интерпретатор емс(по идее должен работать и в винде)
rs274.rar
(109.97 КБ) 324 скачивания
Аватара пользователя
Ворон226
Мастер
Сообщения: 1922
Зарегистрирован: 01 окт 2012, 18:14
Репутация: 181
Откуда: Солнечногорск Московской обл. - Борки Конаковского р-на - Скоморохово Фировского р-на
Контактная информация:

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

Сообщение Ворон226 »

dormouse писал(а):Наверное, действительно нужно в заголовке "по умолчанию" писать M3 S123 чтобы всегда происходило полноценное включение станка, а если инструмент требует какой-то реальной скорости, то 'spindle rpm' должна быть заполнена - тогда чуть далее по коду программы сработает ещё одна команда M3 S1000 и обороты станут адекватными.

Если объяснил что-то непонятно или неясно - спросите, отвечу.

P.S. Ворон226 и NightV - у вас есть какие-нибудь предложения, как нужно изменить поведение gcodetools чтобы оно было понятнее и очевиднее (ну или удобнее) ?
Так выше все и написано:
По умолчанию прописывать M3 S1000
,например...

А, если нужна другая скорость или другое направление, то прописывать в нужном месте.

Спасибо за приземленное объяснение файлов header/footer - по случаю буду использовать - очень удобно. Кстати, а эти файлики не прописывает Gcodetools самостоятельно при установке соответствующих пре- и пост- процессоров в табличке по настройке G-code? Или там другие механизмы?
Хочешь быть счастливым? Будь им!
Аватара пользователя
dormouse
Мастер
Сообщения: 334
Зарегистрирован: 27 фев 2010, 09:55
Репутация: 15
Заслуга: Developer
Контактная информация:

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

Сообщение dormouse »

nkp: спасибо за отдельный интерпретатор. попробовал, работает "на ура". Около 8 лет назад я вручную выдёргивал код разбора g-кода в каноническую форму из исходников Emc когда делал один из проектов.

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

READ => M3
    4 N..... START_SPINDLE_CLOCKWISE()
READ => S123 
    5 N..... SET_SPINDLE_SPEED(123.0000)
READ => M3
    6 N..... START_SPINDLE_CLOCKWISE()

Полагаю, уместнее будет попробовать запустить в режиме эмуляции и подключить hal-scope. Наверное, удачнее выйдет для демонстрации - тут непонятно, строка 4 запустила 123 оборота или нет?

Документ "The NIST RS274NGC Interpreter" в данном случае не помогает, поскольку не все производители типа китайцев с NC Studio и т.п. его читали. Мне интересно было реальное поведение программ, а не теоретическое соответствие стандарту (вернее интерпретации стандарта)

[cite]It is OK to use M3 or M4 if the spindle speed is set to zero. If this is done (or if the speed override
switch is enabled and set to zero), the spindle will not start turning. If, later, the spindle speed is
set above zero (or the override switch is turned up), the spindle will start turning. It is OK to use
M3 or M4 when the spindle is already turning or to use M5 when the spindle is already stopped.[/cite]
Из этого абзаца следует, кстати, что в Emc2

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

M3
G0x0
S800
G1X10
должен отлично работать.

UAVpilot: Извините, если мои слова выглядели некорректно, но я до сих пор не могу понять - неужели меня не слышат? Я прошу широкую общественность помочь протестировать код на разных реальных станках и сказать "что в жизни с ним происходит", а преимущественно ответы про "стандарты" и про Emc2... А про то как это код ведёт себя под NC Studio, Mach3, TurboCNC, CNCPro, USBCNC/CNCDudez, G-Code Controller'ом или на каком-нибудь Fanuc'овском роботе или токопрошивальном станке - ни слова. Получается, что смысла спрашивать нет - оказываюсь ещё и неспособным к восприятию отвлечённых примеров (кстати, я реально протестировал последовательность с кнопкой вызова и цифрами на Nokia 1280, Ms3a, s9192 - поведение РАЗНОЕ, вывод - единственно работающая везде комбинация: набрать цифры, потом зелёная трубка. Для cnc-контроллеров похоже единственное кросс-решение - только M3 Sxxx на одной строке. Причём после M3 S0 (или M3) отдельностоящая строчка Sxxx может не сработать для повышения скорости до ненулевой.).

Цель этого всего - сделать так, чтобы было удобнее и логичнее для пользователей. Собственно, я в любом случае буду продолжать разработку независимо от помощи или вреда со стороны окружающих, поскольку считаю это важным для людей вцелом.
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

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

Сообщение nkp »

dormouse писал(а):Полагаю, уместнее будет попробовать запустить в режиме эмуляции и подключить hal-scope. Наверное, удачнее выйдет для демонстрации - тут непонятно, строка 4 запустила 123 оборота или нет?
естественно - по командам интерпретатора не понятно - что реально происходит в контроллере...
и это правильно - именно контроллеру "решать " - как реагировать на ту или иную команду , иходящую из интерпретатора(читай - G кода)
==================
я же ориентировался в вышеприведенной оценке поведения емс на встроеный инструмент контроля различных параметров системы
ну и за поведением пинов следил в halshow
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5182
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

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

Сообщение Serg »

dormouse писал(а):Из этого абзаца следует, кстати, что в Emc2
должен отлично работать.
Нет, ибо есть ещё такой пункт:

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

3.7.2 Set Spindle Speed — S
To set the speed in revolutions per minute (rpm) of the spindle, program S... . The spindle will
turn at that speed when it has been programmed to start turning. It is OK to program an S word
whether the spindle is turning or not.
...
dormouse писал(а):я реально протестировал последовательность с кнопкой вызова и цифрами
я догадался, я потому и сказал, что такой пример вам не поможет. Просто игнорируйте его.

На всякий случай озвучу полностью свой вариант, а то вдруг по тексту не понятно:
1. Убрать команду M3 из начала файла.
2.
UAVpilot писал(а):для каждого инструмента в g-code надо вставлять команды собственно выбора инструмента и последующего включения шпинделя с заданной инструментом скоростью.
Примерно так:

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

M5
M6 T1
M3 S1000
Ну и нужно иметь возможность задавать это своим "шаблоном" т.к. в реальности между M5 и M6 нужно уехать в позицию смены инструмента.
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
Аватара пользователя
NightV
Почётный участник
Почётный участник
Сообщения: 6599
Зарегистрирован: 30 дек 2011, 09:14
Репутация: 2279
Настоящее имя: Владимир Айрапетян
Откуда: Israel
Контактная информация:

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

Сообщение NightV »

попробовал щас дать М3 после перезагрузки станка (тоесть значение S =0) Matsuura\Fanuc
вообще выпала в аларм :hehehe:

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

407: S-command is nothing 
что вполне логично.
а вот если сначала скормить S а потом М3, или одной строкой то все нормально

вот OKUMA нет, схавала, но с переменной скоростью, подергиваясь скорость была от 1 до 10 RPM.
видать прошел энэйбл на включение шпинделя но с нулевой скоростью :thinking:
Всё просто! если знаешь КАК!
Аватара пользователя
dormouse
Мастер
Сообщения: 334
Зарегистрирован: 27 фев 2010, 09:55
Репутация: 15
Заслуга: Developer
Контактная информация:

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

Сообщение dormouse »

1 Про что не надо забывать:
1.1) должно быть логично и "ожидаемо"
1.2) бывают разные программы-интерпретаторы
1.3) бывают станки без смены инструмента и без управления инструментом
1.4) захламлять всё сверх меры избыточными настройками - подход не для всех

2 Что установлено:
2.1) связка M3 и параметра S работает неустойчиво, но есть всюду работающий вариант - "M3 S200" на одной строке
2.2) последующие за 2.1. "M3 S200", "S200", "M3" ни на что не повлияют.
2.3) начать программу c "M3" подлежит исправлению, т.к. вызывает проблемы разного рода в разных системах

3 Что можно предложить:
3.1) начинать программу безусловно M3 S123 (сейчас начинается просто с M3), тогда:
3.1.1. станки без управления скоростью реза исправно включат плазму/обогрев/рез и т.п. (без S123 наблюдается поведение типа "игнорования втихую", т.е. не только PWM-выход или аналогичный молчат, но и нога "enable" на драйвере так же выключена(!))
3.1.2. останется совместимость со старыми inkscape-файлами и будут работать инструменты БЕЗ 'spindle rpm'
3.1.3. останется возможность убрать M3 S123 при помощи пустого header-файла

3.2) выкинуть из программы M3 S123 из заголовка по умолчанию
3.2.1 сильный минус: нужна переделка алгоритма использования инструментов - если у инструмента нет 'spindle rpm', то станок запустится без включения инструмента вообще, если такой инструмент будет первым в стеке

Предлагаю для начала ограничиться п.3.1) - можно пробовать.

P.S. Разъясните, мне пожалуйста, при каких условиях произошла смена вызова unittouu между self. и inkex. ?
Вложения
gcodetools-over-rev292-inkex.rar
(168.78 КБ) 319 скачиваний
gcodetools-over-rev292-self.rar
(168.78 КБ) 334 скачивания
Аватара пользователя
Сергей Саныч
Мастер
Сообщения: 9116
Зарегистрирован: 30 май 2012, 14:20
Репутация: 2858
Откуда: Тюмень
Контактная информация:

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

Сообщение Сергей Саныч »

LinuxCNC (Axis 2.5.3)
После загрузки
M3 - нет реакции
далее S1000 - нет реакции
далее M3 - начинает вращаться
далее S2000 - скорость меняется на ходу
S0 отрабатывается, как M5, то есть, если потом задать S1000 без М3 - не закрутится.

то есть, чтобы команда M3 прошла, переменная, задаваемая через S, должна быть ненулевая.
M3 S1000 и S1000 M3 - отрабатываются правильно всегда.

TurboCNC - M3 отрабатывается независимо от наличия/значения S.
Чудес не бывает. Бывают фокусы.
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5182
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

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

Сообщение Serg »

dormouse писал(а):1.3) бывают станки без смены инструмента и без управления инструментом
Такие станки по команде M6 обязаны остановится и ждать от оператора команды на продолжение.
dormouse писал(а):1.4) захламлять всё сверх меры избыточными настройками - подход не для всех
Подход не для всех - это когда из-за нехватки настроек gcodetools невозможно будет использовать с каким-то станком.
dormouse писал(а):3.1) начинать программу безусловно M3 S123 (сейчас начинается просто с M3), тогда:
3.1.4. останется возможность въехать фрезой в материал на скорости 123 об/мин и на рабочей подаче.
dormouse писал(а):3.2.1 сильный минус: нужна переделка алгоритма использования инструментов - если у инструмента нет 'spindle rpm', то станок запустится без включения инструмента вообще, если такой инструмент будет первым в стеке
Это не минус, а плюс: 1) будет невозможно использовать инструмент на случайных режимах работы; 2) станок не запустится с каким попало инструментом, а в начале программы потребует (если без автосмены) установить/подтвердить нужный инструмент.
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
Аватара пользователя
dormouse
Мастер
Сообщения: 334
Зарегистрирован: 27 фев 2010, 09:55
Репутация: 15
Заслуга: Developer
Контактная информация:

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

Сообщение dormouse »

Сделал ещё одну версию.
а) Появился параметр, который отвечает за кусочек заголовка, по умолчанию в нём "M3 S123", можно сделать пустым, можно заполнить чем-то посторонним. Хранится на вкладке свойств (внизу на форме), располагаться будет в результирующем файле перед строчкой (header end)
б) Исправлены импорт и переделка в DXF-point стрелочки. Ранее была обводка, что приводило к тому, что "кончик стрелки" показывал МИМО на толщину обводки. Теперь обводки нет.
в) Исправлено странное (для меня, понимаю, что упустил что-то важное) поведение кода - принадлежность unittouu, теперь будет работать в любом из Inkscape'ов

Предлагаю всем попробовать более конкретно результат последних дискуссий.

Nick: Версия базируется на bender-rev292
Сергей Саныч, NithtV - отдельное спасибо за тестирование в других средах.
Вложения
gcodetools-over-rev292-NEW_OPTION_DEFAULT_HEADER.rar
(170.65 КБ) 338 скачиваний
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

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

Сообщение Nick »

Сергей Саныч писал(а):M3 - нет реакции
далее S1000 - нет реакции
далее M3 - начинает вращаться
далее S2000 - скорость меняется на ходу
S0 отрабатывается, как M5, то есть, если потом задать S1000 без М3 - не закрутится.
Вот это достаточно странное поведение... ИМХО...
NightV, можешь это у себя проверить?
Аватара пользователя
Сергей Саныч
Мастер
Сообщения: 9116
Зарегистрирован: 30 май 2012, 14:20
Репутация: 2858
Откуда: Тюмень
Контактная информация:

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

Сообщение Сергей Саныч »

Кстати, motion.spindle-on при S0 становится False, также как и при M5
Чудес не бывает. Бывают фокусы.
Ответить

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