Страница 21 из 39

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

Добавлено: 07 дек 2009, 11:39
Nick

Разработка Gcodetools

Screenshot-output.ngc - AXIS-4.png (182945 просмотров) <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 или загрузите предыдущие ревизии.

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

Добавлено: 16 апр 2010, 15:17
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, в форуме буду появляться, но боюсь, что фиксы делать не смогу. Скорее всего возьму с собой распечатку кода, если что буду писать приблизительные фиксы на форум :)...

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

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

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

P.S. Следующий релиз будет очень хорошо смотреться с вводным курсом "как это использовать" и ещё каким-нибудь справочным материалом. Думаю, к середине-концу той недели я всё это успею сделать.

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

Добавлено: 16 апр 2010, 16:52
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

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

Добавлено: 16 апр 2010, 18:12
dormouse
Может достаточно добавить проверку в случае "не пустого selection" на пустой self.selected_paths и только в этом случае выдать развёрнутый Error вида: "Selected objects are not paths or dynamic offsets. Convert them to Paths (Shift+Ctrl+C) first! Nothing done."

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

Добавлено: 16 апр 2010, 18:54
Nick
В принципе можно :)
Нужно что-нибудь придумать с хелпом... Есть предложения?

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

Добавлено: 16 апр 2010, 21:02
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 не сбрасывать изначально выделенные контуры? это так же сильно сбивает...

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

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

Не знаю как оставить выделение :(.
Есть какое-нибудь расширение, после которого выделение сохраняется?

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

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

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

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

ЗЫ интересное наблюдение: оказывается сырокопченую колбасу можно нарезать толщиной 0,2мм, сейчас штангелем померил кусочек, в 0.2мм пролазит :). Но не обращайте внимания, это я пивом после трудовой недели отпаиваюсь :beer: :beer: :beer: !

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

Добавлено: 17 апр 2010, 11:39
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 нажмёт, подумав "что-то плохо нажалось"....

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

Добавлено: 17 апр 2010, 12:30
Nick
Уже сделал, чтобы в Area и Engraving отсутствие path выдавало просто warning а не error, теперь если вобще ничего нет при выполнении Ареа выдаст несколько warning-ов, но добавит ор и инструмент.

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

Добавлено: 17 апр 2010, 13:21
dormouse
версия вроде N 51 как была так и осталась....

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

Добавлено: 17 апр 2010, 13:36
Nick
Да, это потому, что я еще не пушнул... я поменял всего несколько слов :).
Вечером что-нибудь еще сделаю и будет пуш...

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

Добавлено: 18 апр 2010, 17:19
Nick
Сегодня в попыхах собирался в коммандировкуи забыл сделать push. Но есть хорошая новость жена может переслать мне последнюю версию на мыло. Я могу переслать ее дальше. 
В последнец версии не так много измененй: как я и говорил ерроры заменены на warning в некоорых местах и немного похимиченно с area. 

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

Добавлено: 20 апр 2010, 09:20
Nick
Как продвигается тетирование?
Кому-нибудь нужна последняя версия?

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

Добавлено: 20 апр 2010, 09:38
dormouse

Ревизия 52

При вызове Area/Path-to-gcode/Engraving автоматически добавляются defaul tool, defaul Orientation points

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

Добавлено: 20 апр 2010, 11:00
Nick
Как обстоят дела с тестированием? Выявлены ли новые ошибки или недоработки?

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

Добавлено: 20 апр 2010, 11:08
dormouse

Ревизия 53

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

P.S.Ошибки есть, но не критичные. К примеру на скриншоте - иногда Area отрисовывает контуры со сдвигом

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

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

Извиняюсь за опечатки - пишу с телефона.

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

Добавлено: 20 апр 2010, 11:36
dormouse
Есть понятие "первой ступени" для новичка. Если первая ступенька кривая и скользкая, то люди уйдут. Только самые стойкие дождутся 1-в-1 не ошибившись пройти два десятка шагов туториала. Большинство тупо откроют, нарисуют квадрат и нажмут кнопку Apply, прочитают что надо выбрать "Path-to-gcode", выберут и опять нажмут Apply. В этот момент уже психика неподготовленного человека подорвётся "нет контуров".
Если прорвётся через Shift+ctrl+c, то уже счастье....

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

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