Разработка Gcodetools - плагин Inkscape для экспорта в Gкод

Обсуждение установки, настройки и использования LinuxCNC. Вопросы по Gкоду.

Следующее направление разработки

Можно выбрать до 5 вариантов ответа

72
25%
17
6%
41
14%
37
13%
27
9%
35
12%
63
22%
 
Всего голосов: 292
 

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

Разработка Gcodetools - плагин Inkscape для экспорта в Gкод

Сообщение Nick »

Разработка Gcodetools

Screenshot-output.ngc - AXIS-4.png (183910 просмотров) <a class='original' href='./download/file.php?id=348&mode=view' target=_blank>Загрузить оригинал (31.64 КБ)</a>
Эта ветка посвящена разработке Gcodetools, плагина для векторного редактора Inkscape, позволяющего конвертировать кривые из Inkscape в Gкод, используя круговую и линейную интерполяцию.

Описание работы, установка, помошь и уроки по плагину можно найти в теме: Gcodetools - plug-in Inkscape для экспорта в Gcode

На данный момент ведется работа над Gcodetools 1.7

Что мы хотим увидеть в новой версии:
  • Улучшение расширения для плазменной резки
  • Добавление дополнительных опций экспорта:
  • Улучшение функции обработки площади
  • Угол заглубления
  • Расширение для сверловки

Требуются

  • Тестеры
  • Разработчики
  • Помощь в технических аспектах по работе станков и обработке материалов
  • Новые идеи

Последняя версия

Исходный код находится на launchpad.net. Получить последнюю версию при помощи bazaar можно так:

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

bzr branch lp:gcodetools
Последнюю версию можно загрузить через web-интерфейс: http://bazaar.launchpad.net/~gcodetools ... lope/files

Установка

1. Загрузите последнюю ревизию, из указанных выше мест.
2. Выполните "python create_inx.py" в директории с загруженными файлами.
3. Скопируйте все созданные файлы с расширением *.inx и файл gcodetools-dev.py в каталог:
Linux: /usr/share/inkscape/extensions/ и перезапустите inkscape
Windows: Program Files\Inkscape\share\extensions\
4. Перезапустите Inkscape

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

Re: Разработка Gcodetools - плагин Inkscape для экспорта в G

Сообщение Nick »

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

Спасибо за баг репорт! :)
Аватара пользователя
Unikus
Опытный
Сообщения: 194
Зарегистрирован: 22 ноя 2010, 01:53
Репутация: 1
Настоящее имя: Николай
Откуда: Португалия,Порто
Контактная информация:

Re: Разработка Gcodetools - плагин Inkscape для экспорта в G

Сообщение Unikus »

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

Re: Разработка Gcodetools - плагин Inkscape для экспорта в G

Сообщение Nick »

Расстояние до цанги фрезы не должно быть больше глубины обработки, иначе по-любому заденет :).
Хотя, если есть предложение, как это проверять/задавать - то попробуем реализовать ;).

По поводу ухода с траектории, на бумажке проверил - строчка вроде нормальная, может дело в EMC2, наверняка какой-нибудь параметр или специальный Gкод может на это повлиять.
Я запостил вопрос на сайте разработчиков EMC2, жду ответа... http://www.linuxcnc.org/component/optio ... 2/lang,ru/
Кстати, схожая ситуация появилась у человека в английской ветке форума...
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: Разработка Gcodetools - плагин Inkscape для экспорта в G

Сообщение Nick »

В общем, выяснилось следующее:

Проблема в маленькой длине дуги. В EMC2, в файле interp_internal.hh задается константа, которая определяет расстояние на котором две точки считаются одинаковыми:
#define TOLERANCE_EQUAL 0.0001 /* two numbers compare EQ if the difference is less than this */

А для команд G02 и G03, заданных в режиме IJK, если начало дуги совпадает с концом, EMC2 выполняет обработку всей окружности. Еще пишут, что также будет выполняться обработка всей окружности, если |start-end|<10-5*R.

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

Re: Разработка Gcodetools - плагин Inkscape для экспорта в G

Сообщение Nick »

Написал фикс - дополнительная проверка в функции biarc.

Фикс доступен в Gcodetools-dev ревизия 174.

Еще раз спасибо за баг репорт!
Аватара пользователя
Unikus
Опытный
Сообщения: 194
Зарегистрирован: 22 ноя 2010, 01:53
Репутация: 1
Настоящее имя: Николай
Откуда: Португалия,Порто
Контактная информация:

Re: Разработка Gcodetools - плагин Inkscape для экспорта в G

Сообщение Unikus »

root писал(а):Расстояние до цанги фрезы не должно быть больше глубины обработки, иначе по-любому заденет :).
Хотя, если есть предложение, как это проверять/задавать - то попробуем реализовать ;).
На днях поразмышлял,если народ не поднимает такую мелочь,может и правда не нужно эту проверку? Просто быть внимательнее ... ;)

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

Re: Разработка Gcodetools - плагин Inkscape для экспорта в G

Сообщение Nick »

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

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

Re: Разработка Gcodetools - плагин Inkscape для экспорта в G

Сообщение Nick »

Кусок кода на С для оптимизации расстановки деталей на листе... для отладки...
Вложения
inline.tar.gz
(10.11 КБ) 1151 скачивание
Аватара пользователя
NightV
Почётный участник
Почётный участник
Сообщения: 6610
Зарегистрирован: 30 дек 2011, 09:14
Репутация: 2279
Настоящее имя: Владимир Айрапетян
Откуда: Israel
Контактная информация:

Re: Разработка Gcodetools - плагин Inkscape для экспорта в G

Сообщение NightV »

Всем привет!
у меня специфичная проблема так как имею специфичный станок
https://www.youtube.com/watch?v=dkvfpXw8Gr0

ни в одной из известных мне САМ системах НЕТ поддержки такого инструмента :? (вертикального диска)
(4 оси XYZC + смена инструмента, на моем всего два диска, меняются пневматикой не выключая шпинделя)
брал станок для востановления (хобби), с железом и ЕМС2 (Mesa 3I22 + 7I33TA + 7I37TA*2 ) проблем пока не возникло но встал вопрос в чем готовить Gcode и тут начались пляски :think:
можно как-то организовать поддержку такого станка? в этом плане Ваш плагин будет круче чем мастеркам ;)
по идее обычный гравер НО с осью С ;)
Всё просто! если знаешь КАК!
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: Разработка Gcodetools - плагин Inkscape для экспорта в G

Сообщение Nick »

Есть у нас такой инструмент - тангенциальный нож. Вот он очень похоже работает... Посмотреть бы по больше готовых работ...

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

Re: Разработка Gcodetools - плагин Inkscape для экспорта в G

Сообщение NightV »

есть примеры, работы не мои
cnc glass grooving.zip
примеры работ
(976.84 КБ) 716 скачиваний
поведение ножа очень нохоже на то что нужно НО
приведу цитату которую я писал на другом форуме
организовать компенсацию на диск в какую сторону он смотрит... тоесть когда косаемся простой фрезой у нас получается круг... а с вертикальным диском будет овал, поэтому и организована поворотная голова..
ПЛЮС в САМ должна учитыватся длинна этого овала, например есть готовая вырезаная линия, к ней с боку режем еще одну... САМ должен учесть длинну "овала" и ширину готовой линии на которую "наезжаем" и прорезать до ВНЕШНЕГО (противоположного) края готовой канавки, чтоб получился Т образный перекресток.... ну или типа того :cheesy:
можно конечно поиграться и недорисовывать (тоесть не стыковать) на определеный участок вектора, но это лишний гимор + большОй шанс ошибки = запоротое стекло.
нужно просто иметь 3 меременные в настройках инструмента: диаметр диска, толщина диска и угол заточки
Всё просто! если знаешь КАК!
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: Разработка Gcodetools - плагин Inkscape для экспорта в G

Сообщение Nick »

Ну можно сделать простенький скриптик, который просто с каждого конца (+угла?) кривой отрежет кусок необходимой длинны. Такого хватит?

На сколько я понял обработка идет при постоянном заглублении?
Аватара пользователя
NightV
Почётный участник
Почётный участник
Сообщения: 6610
Зарегистрирован: 30 дек 2011, 09:14
Репутация: 2279
Настоящее имя: Владимир Айрапетян
Откуда: Israel
Контактная информация:

Re: Разработка Gcodetools - плагин Inkscape для экспорта в G

Сообщение NightV »

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

немного обрисую ситуацию с САМ на таких станках.... она убогая в плане рисования, да и выпендрится не дает... например пример на ютубе что я приводил с розой он выполнен на сторонем софте но Gcode получен на родной САМ.. поэтому мелкие детали (на розе) выглядят ужастно, для художественной гравировки на таком станке нужно играться по Z, типа плавно входить и плавно выходить, типа "мозок кистью".. а не "вошел прошолся изогнулся и грубо вышел".... для такой цели нужна комбина гравировки-тангенциальный нож... может еще галочку АРТ для плавных входов выходов?
в общем обмазгуйте, может стоит добавить отдельный инструмент в tools_library, темболее что все наработки у вас есть. а я протестирую (извиняюсь за нескромность)

кстате я тут поэксперементировал с ножичком.. почему указана ось А а не С ? или для ЕМС это до фени? и просто И в ЕМС нужно назвать ось как А ? (кстате в старой Бошевской стойке которая была ось называлась "Е" ;) правда и все остальные надписи на итальянском :D )
Всё просто! если знаешь КАК!
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: Разработка Gcodetools - плагин Inkscape для экспорта в G

Сообщение Nick »

NightV писал(а):кстате я тут поэксперементировал с ножичком.. почему указана ось А а не С ? или для ЕМС это до фени? и просто И в ЕМС нужно назвать ось как А ? (кстате в старой Бошевской стойке которая была ось называлась "Е" правда и все остальные надписи на итальянском )
EMC2 до фени :). Вообще по порядку оси нумеруются так XYZABCUVW, обычно xyz - первые линейные оси ABC - радиальные, относительно детали, UVW - радиальные относительно инструмента. Но это все условно.
Можно просто переделать из A в C, простым пост-процессором.

Галочку можно попробовать... Есть еще пара мыслишек, позже их опишу... (скорее всего после 3-го января, уезжаю отмечать :mrgreen: )
Аватара пользователя
NightV
Почётный участник
Почётный участник
Сообщения: 6610
Зарегистрирован: 30 дек 2011, 09:14
Репутация: 2279
Настоящее имя: Владимир Айрапетян
Откуда: Israel
Контактная информация:

Re: Разработка Gcodetools - плагин Inkscape для экспорта в G

Сообщение NightV »

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

Re: Разработка Gcodetools - плагин Inkscape для экспорта в G

Сообщение NightV »

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

Re: Разработка Gcodetools - плагин Inkscape для экспорта в G

Сообщение Nick »

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

Re: Разработка Gcodetools - плагин Inkscape для экспорта в G

Сообщение NightV »

извиняюсь за пропажу... имею секс с ПИД на станке... :crazy: причем жесткий :hehehe:
обещаные файлы примеров работавших на станке, стойка была Бош, так-что код уж очень не стандартный ;) наврядле они пригодятся. софт который там врядле запустится, он ищет ЛПТ ключик
Вложения
Archive.zip
(979.91 КБ) 523 скачивания
Всё просто! если знаешь КАК!
Аватара пользователя
Dmaster
Мастер
Сообщения: 1271
Зарегистрирован: 15 июл 2011, 13:36
Репутация: 476
Контактная информация:

Re: Разработка Gcodetools - плагин Inkscape для экспорта в G

Сообщение Dmaster »

По данной теме скажу вот что. Разрабатывать такие программы можно безособых усилий в нормальном CAM. Там можно нарисовать инструмент как таковой. ( дисковая пила к пимеру) или задать его параметры с нуля. и указать метод его отношения к механие станка ( как крепится) и вуаля.. отрисует как ХОШЬ!..

Проблема в другом.. освоить такую CAM софтину сложно, либо дорого.
" Linux CNC - наше всё"
Аватара пользователя
NightV
Почётный участник
Почётный участник
Сообщения: 6610
Зарегистрирован: 30 дек 2011, 09:14
Репутация: 2279
Настоящее имя: Владимир Айрапетян
Откуда: Israel
Контактная информация:

Re: Разработка Gcodetools - плагин Inkscape для экспорта в G

Сообщение NightV »

ну вот, добрался я и до подготовки Gcode
инструмент за неимением другого "Tangent knife".
теперь вопросы по его параметрам

id Tangent knife 0001 - что значит 0001?
feed 400
penetration feed 100 - ?
depth step 100 - ?
tool change gcode (None) - ?
4th axis meaning tangent knife - вроде понятно, типа "как" работать с осью
4th axis scale 1.0 - а вот тут самое интересное, об этом ниже
4th axis offset 0 - ?

так как я применил параметр "wrapped_rotary" шкала оси стала 0-360 градусов, то на команду "G0 A370" выдает ошибку о недопустимом значении.
кротчайший путь задает САМ при создании Gcode, ЗДЕСЬ расказано как работает
теперь как мне манипулировать с "4th axis scale" и остальным чтоб получить 360 градусов
Всё просто! если знаешь КАК!
Ответить

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