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

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

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

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

 
 
Результаты голосования

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

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

Сообщение Nick »

Разработка Gcodetools

Screenshot-output.ngc - AXIS-4.png (182929 просмотров) <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: Разработка Gcode tools - плагин Inkscape для экспорта в

Сообщение Nick »

НЕОТЛОЖНОЕ:
1)добавление OR/tool на верхний слой автоматом при вызове ptg/area/engraving
2)не добавление дубля OR/tool в этот же слой
3)"автовыделение" всех контуров за вычетом tool/OR если вообще ничего не выделено.
1. сегодня.
2. уже готово пару-тройку релизов назад :).
3. Имхо, это нужно ограничить только для path-to-gcode, для engraving и area это будет очень жестко, если случайно попадется контур в 1000 узлов!
Выделение цветом и жирным контуром Area-ошмётков можно отложить "через раз", если это сложно писать. Хотя они пакостят удивительно сильно (полностью портят изделие без возможности исправить)
Я ошибся, это не так просто... Нужно сначала создать оффсеты и только при повторном запуске можно их проверить... :(
Нужно перед следующим релизом все таки написать свой оффсет... Сейчас многое стало понятнее...
+3 дня отладки
при условии хорошего количества тестеров...

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

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

Сообщение dormouse »

Предполагается, что "машина подвиснет" при тысячах узлов? Если да, то предварительно соглашусь "для engraving не делать автовыделение", т.к. он для "продвинутых". Обычные area, ptg - однозначно делать надо автовыделение всего и автодобавление tool/OR, т.к. сложно новичку разобраться в сути проблем в чёртову дюжину шагов...

Я бы хотел следующий туториал делать с объяснением всего в рамках новых соображений. Так же я думаю про видео-туториал записи экрана и снять видео при реальном строгании материала. tut01 - это что-то вроде "доп.материалов к видео" по сути.

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

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

Сообщение Nick »

хех плодотворный сегодня денек...

Ревизия 50-51

  • Теперь работает с группами. Ищет контуры также и в группах.
  • Если выделение пусто, то для ptg берет всю сцену, за исключением ор/инструментов. Важно, елси выделение не пусто и в нем нет контуров, то не будет ничего сделано! Если в выделении только инструмент и ор даже и не ругнется, т.к. выделение не пусто и в выделении нет ничего кроме контуров и ор/инструмента.
  • Добавляет инструменты и ор если их нет совсем, если их нет для какого-то контура то ошибка
  • Во всех случаях, если что-то добавляет автоматом выдает warning.
  • Еще по-мелочи...
ЗЫ с area опять не все в порядке... буду изучать :).
dormouse писал(а):Предполагается, что "машина подвиснет" при тысячах узлов? Если да, то предварительно соглашусь "для engraving не делать автовыделение", т.к. он для "продвинутых". Обычные area, ptg - однозначно делать надо автовыделение всего и автодобавление tool/OR, т.к. сложно новичку разобраться в сути проблем в чёртову дюжину шагов...
С ареа тоже может подвиснуть...
dormouse писал(а):Я бы хотел следующий туториал делать с объяснением всего в рамках новых соображений. Так же я думаю про видео-туториал записи экрана и снять видео при реальном строгании материала. tut01 - это что-то вроде "доп.материалов к видео" по сути.

P.S. Следующий релиз будет очень хорошо смотреться с вводным курсом "как это использовать" и ещё каким-нибудь справочным материалом. Думаю, к середине-концу той недели я всё это успею сделать.
Было бы круто! Есть в сети видео туториалы по inkscape, там использована программа классная которая снимает экран + рисуе какие клавиши нажаты и куда мышка и чем кликнула!
Вот например: http://screencasters.heathenx.org/episode-064/
там рекомендуют программку recordmydesktop
под убунтой sudo apt-get install recordmydesktop
Аватара пользователя
dormouse
Мастер
Сообщения: 334
Зарегистрирован: 27 фев 2010, 09:55
Репутация: 15
Заслуга: Developer
Контактная информация:

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

Сообщение dormouse »

Может достаточно добавить проверку в случае "не пустого selection" на пустой self.selected_paths и только в этом случае выдать развёрнутый Error вида: "Selected objects are not paths or dynamic offsets. Convert them to Paths (Shift+Ctrl+C) first! Nothing done."
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

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

Сообщение Nick »

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

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

Сообщение dormouse »

Я бы даже рискнул предложить сравнивать "количество всего выбранного Vs количество Paths+Dynamic offsets". Если оно больше нуля, то выкидывать Error "Wrong objects are selected. To convert them press Shift+Ctrl+C after selection. Only Paths or Dymanic offsets could be processed!".

С наскоку, кстати, не заработало. Как тестировать: открываем Inkscape, рисуем примитив квадрат, жмём Area→apply. Внимательно читаем, потом смотрим (ничего не создалось). Теперь жмём ещё разок, опять ещё внимательней читаем....

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

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

Сообщение Nick »

С выбранными контурами не так все просто:
Группы тоже считаются, а на них ворнинг мы не делаем, уже...

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

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

Сообщение Nick »

root писал(а):С выбранными контурами не так все просто:
Группы тоже считаются, а на них ворнинг мы не делаем, уже...

Не знаю как оставить выделение :(.
Есть какое-нибудь расширение, после которого выделение сохраняется?
С наскоку, кстати, не заработало. Как тестировать: открываем Inkscape, рисуем примитив квадрат, жмём Area→apply. Внимательно читаем, потом смотрим (ничего не создалось). Теперь жмём ещё разок, опять ещё внимательней читаем....
Алгоритм такой:
запускаем get_info()
(в нем проверяется есть ли в выделении не контуры)
если не нашлось ор, то добавляем и заново запускаем get_info(), чтобы найти добавленные точки..
если не нашлось инструмента, то добавляем и заново запускаем get_info(), чтобы найти ...
Потом вываливаемся в еррор на area и все идет лесом, т.к. если аварийно выходим inkscape-у ничего не возвращаем...

сейчас попробую подковырять чуть-чуть ...

ЗЫ интересное наблюдение: оказывается сырокопченую колбасу можно нарезать толщиной 0,2мм, сейчас штангелем померил кусочек, в 0.2мм пролазит :). Но не обращайте внимания, это я пивом после трудовой недели отпаиваюсь :beer: :beer: :beer: !
Аватара пользователя
dormouse
Мастер
Сообщения: 334
Зарегистрирован: 27 фев 2010, 09:55
Репутация: 15
Заслуга: Developer
Контактная информация:

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

Сообщение dormouse »

Наверное, надо более просто делать:
1. есть ли OR? нет ⇒ добавляем [можно без error/warning "втихую" профи сам разберётся]
2. есть ли tool? нет ⇒ добавляем [можно без error/warning "втихую" профи сам разберётся]
3. есть ли selection? нет ⇒ "выделить" все path/d.o. на видимых слоях, отбрасывая OR/tools
4. есть не-path ⇒ сделать warning "не-path выбраны. Вначале сконвертируйте Shift+Ctrl+C/Path→Object to path"

Если сам факт warning-сообщения считается ошибкой и из-за этого проходит rollback пп.1-3, то вообще втихую не делать в этом случае п.4. Пусть "нормально" отработают +OR,+tool (если +selection, то п.4 проигнорируется =) ) и лучше пользователь повторно Apply нажмёт, подумав "что-то плохо нажалось"....
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

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

Сообщение Nick »

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

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

Сообщение dormouse »

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

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

Сообщение Nick »

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

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

Сообщение Nick »

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

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

Сообщение Nick »

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

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

Сообщение dormouse »

Ревизия 52

При вызове Area/Path-to-gcode/Engraving автоматически добавляются defaul tool, defaul Orientation points
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

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

Сообщение Nick »

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

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

Сообщение dormouse »

Ревизия 53

Добавлена функциональность: если ничего не выбрано, то автоматически работать по всем контурам.

P.S.Ошибки есть, но не критичные. К примеру на скриншоте - иногда Area отрисовывает контуры со сдвигом
Вложения
inkscape-shift.png (3622 просмотра) <a class='original' href='./download/file.php?id=503&mode=view' target=_blank>Загрузить оригинал (33.64 КБ)</a>
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

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

Сообщение Nick »

Сдвиг происходит из-за того, что у обьекта или группы его содержащей есть трансформации, которые записываются отдельным тэгом. Для решения этой проблемы есть функция apply_transformations нужно ее добавить в area. Нужно проверить, что ы она работала рекурсивно, т.к. теперь в area могут обрабатываться группы.
Я не совсем уверен на счет обработки всей сцены, если ничего не выбранно для area. На показанном примере все просто и быстро, но что будет, если на рисунке буде 5-10 сложных коньуров из 1000 узлов, и area радиу будет скажем 100 при диаметре инструмента 3. Тогда инкскейп уйдет в продолжительный даун. И даже когда он все просчитает то тормозить будет немерянно. А это может привести к потере всей не сохраненной сцены.

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

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

Сообщение dormouse »

Есть понятие "первой ступени" для новичка. Если первая ступенька кривая и скользкая, то люди уйдут. Только самые стойкие дождутся 1-в-1 не ошибившись пройти два десятка шагов туториала. Большинство тупо откроют, нарисуют квадрат и нажмут кнопку Apply, прочитают что надо выбрать "Path-to-gcode", выберут и опять нажмут Apply. В этот момент уже психика неподготовленного человека подорвётся "нет контуров".
Если прорвётся через Shift+ctrl+c, то уже счастье....
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

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

Сообщение Nick »

Тогда предлогаю сделать галочку в настройках, которая позволит отключить эту функцию. Имхо программа не лолжна входить в ступор, если это сделанно не осознано пользователем.
Я помню кто-то писал, как плагин считал гравировку в течение 10 минут. А если кто-сучайно нажмет применить? И вся работа на смарку!
Ответить

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