Страница 28 из 39
Разработка Gcodetools - плагин Inkscape для экспорта в Gкод
Добавлено: 07 дек 2009, 11:39
Nick
Разработка Gcodetools
Эта ветка посвящена разработке
Gcodetools, плагина для векторного редактора
Inkscape, позволяющего конвертировать кривые из Inkscape в Gкод, используя круговую и линейную интерполяцию.
Описание работы, установка, помошь и уроки по плагину можно найти в теме:
Gcodetools - plug-in Inkscape для экспорта в Gcode
На данный момент ведется работа над Gcodetools 1.7
Что мы хотим увидеть в новой версии:
- Улучшение расширения для плазменной резки
- Добавление дополнительных опций экспорта:
- Улучшение функции обработки площади
- Угол заглубления
- Расширение для сверловки
Требуются
- Тестеры
- Разработчики
- Помощь в технических аспектах по работе станков и обработке материалов
- Новые идеи
Последняя версия
Исходный код находится на launchpad.net. Получить последнюю версию при помощи bazaar можно так:
Последнюю версию можно загрузить через 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: Разработка Gcodetools - плагин Inkscape для экспорта в G
Добавлено: 29 июн 2010, 13:58
Nick
Ок, попробую с этим сегодня разобраться...
Re: Разработка Gcodetools - плагин Inkscape для экспорта в G
Добавлено: 29 июн 2010, 17:49
Nick
Ревизия 102
Сегодня весь день мудохал токарку. Много чего поменял в общих функциях, нужно будет потом все оттестировать.
Tools library еще пока не смотрел. Вечером проверю...
Re: Разработка Gcodetools - плагин Inkscape для экспорта в G
Добавлено: 30 июн 2010, 09:10
Nick
Ревизия 104
Исправил ошибку с инструментами. В self.get_tool было tool=self.default_tool, а потом этот tool менялся, что приводило к изменениям в self.default_tool. Исправил на tool = self.default_tool.copy() .
Re: Разработка Gcodetools - плагин Inkscape для экспорта в G
Добавлено: 01 июл 2010, 00:04
dormouse
Надо будет обсудить условно-окончательный способ захода фрезы, т.е. выбрать способ для пользователя определять алгоритм входа:
1. опустились на depth_downStep, проехали L=tg A, (или прошли кусок траектории "по диагонали по Z")
1.a приподнялись на -3*depth_downStep, вернулись обратно по траектории
1.в на Zsafe и по прямой
опустились до 2*depth_downStep, повторяем вплоть до depth_sideStep, после этого проход на эту большу глубину depth_sideStep=n*depth_downStep
2. резать слоями depth_downStep
3. резать под углом A вплоть до depth_sideStep, потом дорезать на это фиксированной глубине до точки полного входа и опять начать заглубляться под углом A до depth_sideStep*2 и т.п.
Re: Разработка Gcodetools - плагин Inkscape для экспорта в G
Добавлено: 01 июл 2010, 08:32
Nick
dormouse писал(а):Надо будет обсудить условно-окончательный способ захода фрезы, т.е. выбрать способ для пользователя определять алгоритм входа:
1. опустились на depth_downStep, проехали L=tg A, (или прошли кусок траектории "по диагонали по Z")
1.a приподнялись на -3*depth_downStep, вернулись обратно по траектории
1.в на Zsafe и по прямой
опустились до 2*depth_downStep, повторяем вплоть до depth_sideStep, после этого проход на эту большу глубину depth_sideStep=n*depth_downStep
2. резать слоями depth_downStep
3. резать под углом A вплоть до depth_sideStep, потом дорезать на это фиксированной глубине до точки полного входа и опять начать заглубляться под углом A до depth_sideStep*2 и т.п.
возможность выбора это хорошо!
Какие функции нужно еще написать для того чтобы это реализовать?
ЗЫ У тебя есть чпу токарник? Я написал функцию, которая рассчитывает траекторию для токарника, теперь думаю над экспортом. Похоже придется новую функцию для генерации gcode писать. Существующая имхо больше заточена для фрезера и уже слишком громоздкая, чтобы туда еще токарку добавлять...
Re: Разработка Gcodetools - плагин Inkscape для экспорта в G
Добавлено: 01 июл 2010, 09:12
dormouse
У меня два тестирующих станка: 160х220х100..300 по металлу и 1500х350х200 по дереву и камню. На втором можно на стол ставить токарный станок (A- координата, четвёртая ось).
Так что ответ "по дереву и не очень точный есть".
Насчёт выбора, я думаю это должно быть поле в tool: "penetration:A/B/C/D"
Re: Разработка Gcodetools - плагин Inkscape для экспорта в G
Добавлено: 02 июл 2010, 08:42
Nick
В новой версии инкскейпа (0.48 devel) новые экстеншены у одного из которых есть функция обновить себя. Похоже это такие же как мы разработчики написали экстеншн, который обновляется чаще чем инкскейп.
Re: Разработка Gcodetools - плагин Inkscape для экспорта в G
Добавлено: 02 июл 2010, 09:34
dormouse
Отлично. Надеюсь сможем оказаться готовыми к 0.49 чтобы ничего не глючило явным образом, самообновлялось и обросло видео- и прочими туториалами.
На той неделе опять активно начну править. Надо всё-таки реализовать различный вход в материал фрезой и доделать сортировку (у меня квадратно-гнездовой метод используется, выбирает одну из 8 траекторий, самую быструю) + окончательно перевести dxfpoint:1 на "inkscape:dxfpoint":1.
Re: Разработка Gcodetools - плагин Inkscape для экспорта в G
Добавлено: 02 июл 2010, 10:08
Nick
Да, тогда нужно еще будет привести gcodetools: "..." на "inkscape:gcodetools": "...".
Re: Разработка Gcodetools - плагин Inkscape для экспорта в G
Добавлено: 02 июл 2010, 10:27
dormouse
Похоже, что да. Резкая аллергия случается у коллектива при виде иных тэгов
Re: Разработка Gcodetools - плагин Inkscape для экспорта в G
Добавлено: 05 июл 2010, 14:42
dormouse
Re: Разработка Gcodetools - плагин Inkscape для экспорта в G
Добавлено: 06 июл 2010, 17:11
Nick
Wow! Крутой интерфейс!

Теперь нужно понять, нужен ли нам такой же интерфейс? Сделать не проблема, в gtk достаточно просто рисовать интерфейсы, проблема все грамотно разработать

.
ЗЫ
Спасибо за муфты!!!

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

Re: Разработка Gcodetools - плагин Inkscape для экспорта в G
Добавлено: 12 июл 2010, 01:11
dormouse
Улучшения налицо. Осталось некоторые моменты поправить =)
Re: Разработка Gcodetools - плагин Inkscape для экспорта в G
Добавлено: 13 июл 2010, 10:41
Nick
Спасибо за баг репорт

Кое-что уже исправил...
Кое-что придумал как исправить...
А вот с клиппингом опять засада

... Даже обратный офсет не помогает, точка все равно ушла мимо

...
Re: Разработка Gcodetools - плагин Inkscape для экспорта в G
Добавлено: 13 июл 2010, 12:25
dormouse
я (пока) придерживаюсь мнения что надо действовать растровыми методами, т.к. они сразу дают результат. Возможно даже сделать сходу оконтуривание уже имеющимся фильтром Inkscape и задача решится за 1 день программинга. Возможно стоит этот метод реализовать "чтоб был".
суть метода:
1. выбираем сетку достаточного размера ячейки
2. для каждой ячейки в которой есть линия исходного контура рисуем растровый чёрный круг D [либо для каждой точки кривой с шагом 1/2 ребра ячейки]
3. полученную картинку скармливаем алгоритму оконтуривания.
Сложный вариант метода: для каждой точки проверять функцию "внутри контура" или "снаружи" и в зависимости знака оффсета эту точку ставить/не ставить в растровую картинку.
Re: Разработка Gcodetools - плагин Inkscape для экспорта в G
Добавлено: 14 июл 2010, 15:36
Nick
С одной стороны, ты прав. На первый взгляд это кажется проще. Но я уверен, что и в растровом методе будет много проблем.
Основная - это последующая векторизация растра.
И потом еще как обычно разбор особых случаев... (Как раз то, чем я сейчас занимаюсь

)
Re: Разработка Gcodetools - плагин Inkscape для экспорта в G
Добавлено: 14 июл 2010, 16:40
Nick
Заменил reverce offset просто дополнительной проверкой ближайшей точки:
(на других контурах пока не тестировал...)
Re: Разработка Gcodetools - плагин Inkscape для экспорта в G
Добавлено: 16 июл 2010, 11:52
dormouse
Предлагаю считать offset/rev117 первым работающим релизом по самописному алгоритму. Искренние поздравления!
ближайшее todo: НЕОБХОДИМО доставить точность всех чисел в G-коде. Либо жёстко ограничить все записи %f на %0.4f либо как-то интеллектуально все принты-в-G-код разбить на 2 строки IF'ом и добавить этот параметр на options/prefereces
Без этого некоторые станки удивляются "аааа!!! зачем все эти цифры???? не, нафиг, тут какая-то ошибка! такой точности не бывает"
Re: Разработка Gcodetools - плагин Inkscape для экспорта в G
Добавлено: 16 июл 2010, 12:48
Nick
Итак, еще раз, что за формат "либо как-то интеллектуально все принты-в-G-код разбить на 2 строки"?
Можно по условию переопределить оператор % для строки на время выполнения функции...
Зыы Как весело убить пол дня
http://itolimp.no-ip.org/puzzle/ - it головоломка из 25 уровней. В принципе, все грамотно.
http://simadmin.ru/ - тест для линухоидов-сисадминов прикольный и красивый.
Зыы по поводу офсета - неее я только что новый алгоритм нашел. Сейчас буду переделывать. (1-4 дня...)
Re: Разработка Gcodetools - плагин Inkscape для экспорта в G
Добавлено: 16 июл 2010, 12:59
dormouse
1. предлагаю НЕ переделывать, а оставить этот "как есть" и делать новый. Пусть будет у юзера drop-down с методом A,B,C,D и т.п. Похоже, что панацеи нет и если какой-то работает на конкретной задаче, то его и надо использовать. (пока) текущий offset/rev117 лучше родного, но вполне допускаю что на какой-то кривой он вовсе заглючит а Inkscape'овский отлично отработает.
2. lg, zs, f = 'G00', self.options.Zsafe, " F%f"%tool['feed']
!ОБЯЗАНО! быть для некоторых станков
lg, zs, f = 'G00', self.options.Zsafe, " F%0.4f"%tool['feed']
то же касается всех XYZIJK, паузы и т.п.