Страница 9 из 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: Inkscape plug-in для экспорта в Gcode
Добавлено: 23 мар 2010, 17:07
Nick
Разработка Gcode tools
Эта ветка посвящена разработке
Gcode tools, плагина для векторного редактора
Inkscape, позволяющего конвертировать кривые из Inkscape в Gкод, используя круговую и линейную интерполяцию.
Описание работы, установка, помошь и уроки по плагину можно найти в теме:
Gcode tools - plug-in Inkscape для экспорта в Gcode
На данный момент в разработке функция Engraving
Стадия разработки:
Разработка завершена, идет исправление ошибок для релиза.
Ориентировочный срок резиза : 2-4 недели.
Требуются
- Тестеры
- Разработчики
- Помощь в технических аспектах по работе станков и обработке материалов
- Новые идеи
Последняя версия
Исходный код находится на launchpad.net. Получить последнюю версию при помощи bazaar можно так:
также ее можно загрузить из web-интерфейса:
Последняя версия может быть не рабочей! Для получения рабочей версии зайдите сюда:
Gcode tools - plug-in Inkscape для экспорта в Gcode
Re: Inkscape plug-in для экспорта в Gcode
Добавлено: 23 мар 2010, 18:06
dormouse
Насколько я вижу, все либо в прямую сторону (UML→code) либо в виде UML отдельно, code отдельно используют. Надо книжку почитать. может поумнею.
Шпаргалки:
http://www.cheat-sheets.org/saved-copy/ ... 20Card.pdf
http://tnerual.eriogerg.free.fr/umlqrc.pdf
и краткий курс:
http://www.sparxsystems.com/resources/uml2_tutorial/
Re: Inkscape plug-in для экспорта в Gcode
Добавлено: 23 мар 2010, 22:18
Nick
Мда..... почему-то возможностей UML не хватает, чтобы описать то, что я наваял

. (шутка)
Хммм...
Как бы все это отобразить... Я установил umbrello
http://en.wikipedia.org/wiki/Umbrello_UML_Modeller, т.к. у него есть и reverse enginering и экспорт в код python.
Но ни как не могу понять, какая диаграмма может отобразить процесс выполнения функций плагина. Может uml для этого вовсе не предназначен?
Re: Inkscape plug-in для экспорта в Gcode
Добавлено: 23 мар 2010, 23:25
Nick
Да, нужно точно научиться рисовать диаграммы. Сейчас как раз по работе нужно нарисовать диаграмму бизнес процессов... Где бы этому научиться...
Кстати, я уже почти доделал экспорт. Готов тестить?
Re: Inkscape plug-in для экспорта в Gcode
Добавлено: 23 мар 2010, 23:40
dormouse
root писал(а):Да, нужно точно научиться рисовать диаграммы. Сейчас как раз по работе нужно нарисовать диаграмму бизнес процессов... Где бы этому научиться...
Кстати, я уже почти доделал экспорт. Готов тестить?
Значок ГТО на груди у него....
...утром скачаю 11 релиз, всё протестирую.
Re: Inkscape plug-in для экспорта в Gcode
Добавлено: 24 мар 2010, 00:00
Nick
11 релиз пока не рабочий, нужно еще кое-что подправить. Завтра с утра как только будет рабочий сразу отпишусь.
Re: Inkscape plug-in для экспорта в Gcode
Добавлено: 24 мар 2010, 00:10
Nick
УРАААААА!!!!! Я нашел баг который меня доставал последние несколько дней!
В оценке погрешности корня вместо abs(F[0]+F[1]+F[2]) нужно было поставить abs(F[0])+abs(F[1])+math.sqrt(abs(F[2])).
Re: Inkscape plug-in для экспорта в Gcode
Добавлено: 24 мар 2010, 10:08
Nick
Ок, можно начинать тестировать. Revision 12 вроде должна быть рабочей.
Хочу подчеркнуть, у меня не было времени/возможности/желания проверять результат экспорта, т.к. на моей рабочей машине не стоит emc. Я проверил, что экспорт работает и, вроде, не выдает ошибок.
Жду комментов/скриншотов/описания правильной/не правильной работы/экспорта/g-кода.
Заранее спасибо

!
I'll be in touch

.
Забыл написать, как работать

.
- выбираем контур/несколько контуров.
- вводим параметры:
- Sharp angle tolerance - угол меньше этого считается острым => в нем радиус отступа сводится к 0
- Maximum distance for engraving если отступ на протяжении всего сегмента больше, чем Maximum distance for engraving, то этот сегмент удаляется из обработки. По идее этот параметр должен быть равным диаметру цилиндра.
- Number of sample points used to calculate distance - количество начальных приближений корня той большой системы, которые будут уточняться методом Ньютона. Чем больше, тем дольше работает, возможно (но маловероятно) уберет некоторые глюки если они есть, но если глюков нет, то лучше не увеличивать.
- Draw additional graphics to debug engraving path рисует нормальки, точки отступа и вписанные окружности, которые демонстрируют как рассчитан отступ. Если появляются глюки, можно включить и посмотреть как на самом деле рассчитан отступ.
- Cutter shape function z(w)= функция определяющая форму фрезы. Для простого конуса t*w где t - тангенс угла наклона t = d/(2*h) = r/h (радиус на высоту конуса).
- Жмем применить.
- Оцениваем результат и пишем багрепорт
.
ЗЫ и в догонку первый баг фикс

.
Теперь правильный номер ревизии 14.
Re: Inkscape plug-in для экспорта в Gcode
Добавлено: 24 мар 2010, 10:42
Nick
Хотя, может на счет Number of sample points used to calculate distance я не совсем прав, с одним из контуров из твоего contours svg при Number of sample points = 4 возникают глюки, а при нем же равном 5 все глюк исчезает

.
Re: Inkscape plug-in для экспорта в Gcode
Добавлено: 24 мар 2010, 10:45
dormouse
Re: Inkscape plug-in для экспорта в Gcode
Добавлено: 24 мар 2010, 11:10
Nick
упс..... забыл сдеать пуш. Сейчас появится

.
Re: Inkscape plug-in для экспорта в Gcode
Добавлено: 24 мар 2010, 11:36
dormouse
1)Качаем и сохраняем в inkscape/extensions
engraving.svg rev13
File gcode_tools-develope.inx rev14
gcode_tools-develope.py rev14
2) открываем inkscape, открываем файл engraving.svg
3) выделяем правый нижний элемент левой мышкой
4) вызываем GCODE tools DEVELOPE ---> переходим на вкладку Engraving. Вводим 150,10,4,w
5) ставим RadioButton в Engraving - работает.
----------
На некоторых других кривых имеем (в той самой строчке). В причине я (пока) не разобрался.
Traceback (most recent call last):
File "C:\Program Files\Inkscape\share\extensions\gcode_tools-develope.py", line 1219, in <module>
e.affect()
File "C:\Program Files\Inkscape\share\extensions\inkex.py", line 207, in affect
self.effect()
File "C:\Program Files\Inkscape\share\extensions\gcode_tools-develope.py", line 1103, in effect
t = find_cutter_center((x1,y1),(nx,ny), cspi[j][i-1], cspi[j], float(n1)/(self.options.engraving_newton_iterations-1))
File "C:\Program Files\Inkscape\share\extensions\gcode_tools-develope.py", line 956, in find_cutter_center
while i==0 or abs(F[0])+abs(F[1])+math.sqrt(abs(F[2])) >engraving_tolerance and i<10:
ValueError: math domain error
----------
Re: Inkscape plug-in для экспорта в Gcode
Добавлено: 24 мар 2010, 11:43
admin
Прикрепи файл с кривой.
По идее, math domain error может дать только math.sqrt, если переменная меньше 0, но там (abs(F[2]))?!? Странно

.
Re: Inkscape plug-in для экспорта в Gcode
Добавлено: 24 мар 2010, 11:51
dormouse
корень(модуля) не должен ошибку выдавать. дело в чём-то другом. Вдруг вместо числа какой-то NULL или текст вылез?
Надо оттрейсить принтами все переменные на этой строчке.
все три верхние одну и ту же ошибку выдают. (малый размер, большой, с добавленными узлами x10)
Разработка Gcode tools - плагна Inkscape для экспорта в Gкод
Добавлено: 24 мар 2010, 12:03
admin
Теперь для разработки у нас новая тема...
Разработка Gcode tools
Эта ветка посвящена разработке
Gcode tools, плагина для векторного редактора
Inkscape, позволяющего конвертировать кривые из Inkscape в Gкод, используя круговую и линейную интерполяцию.
Описание работы, установка, помошь и уроки по плагину можно найти в теме:
Gcode tools - plug-in Inkscape для экспорта в Gcode
На данный момент в разработке функция Engraving
Стадия разработки:
Разработка завершена, идет исправление ошибок для релиза.
Ориентировочный срок резиза : 2-4 недели.
Требуются
- Тестеры
- Разработчики
- Помощь в технических аспектах по работе станков и обработке материалов
- Новые идеи
Последняя версия
Исходный код находится на launchpad.net. Получить последнюю версию при помощи bazaar можно так:
также ее можно загрузить из web-интерфейса:
Последняя версия может быть не рабочей! Для получения рабочей версии зайдите сюда:
Gcode tools - plug-in Inkscape для экспорта в Gcode
Re: Gcode tools - plug-in Inkscape для экспорта в Gcode
Добавлено: 24 мар 2010, 12:07
admin
Кстати, чтобы обрабатывалась нужная сторона контура (внутренняя, а не наружная или наоборот), его иногда придется разворачивать. (Контур -> Развернуть)
Re: Gcode tools - plug-in Inkscape для экспорта в Gcode
Добавлено: 24 мар 2010, 12:12
admin
хмммм.... у меня никакой ошибки, во все стороны все контуры проверил...
Попробуй отрейсить у себя, для этого раскоментируй один из def print_ (для тебя подойдет второй )
и добавь перед этой строчкой с нужным отступом:
Код: Выделить всё
print_(( F[0], F[1], F[2] ))
print_(( abs(F[0]),abs(F[1]),abs(F[2]) ))
Скобки двойные обязательны!
ЗЫ Вот результат:
ЗЫЫ я сейчас немного переделываю форум, разработку плагина выношу в отдельную тему, извиняюсь, если будут небольшие неполадки ....
Re: Gcode tools - plug-in Inkscape для экспорта в Gcode
Добавлено: 24 мар 2010, 12:20
dormouse
вначале стотыщмильёнов адекватных слов, потом
(-1.#IND, -1.#IND, -1.#IND)
(1.#QNAN, 1.#QNAN, 1.#QNAN)
NAN - предположительно not-a-number, как я говорил в прошлом посте.
-1#IND - минус бесконечность
На самом деле степень подрастает довольно-таки быстро =) Привожу последний заход целиком. e+153 это ОЧЕНЬ много!
Код: Выделить всё
(0.0, 0.0, 0.0)
(0.0, 0.0, 0.0)
(-18.89507866329906, 1.4089391748291762, -598.15574142594949)
(18.89507866329906, 1.4089391748291762, 598.15574142594949)
(-46780982.073709972, 21019871.830743626, -651057162556181.75)
(46780982.073709972, 21019871.830743626, 651057162556181.75)
(-59681447682674.219, 108128007390998.08, -2.0369476540184039e+026)
(59681447682674.219, 108128007390998.08, 2.0369476540184039e+026)
(-5.2258601696931765e+023, 6.1677297101050536e+023, -4.4560634949623874e+045)
(5.2258601696931765e+023, 6.1677297101050536e+023, 4.4560634949623874e+045)
(-6.844012989449428e+039, 1.0308696380638153e+040, -1.7859459285857014e+077)
(6.844012989449428e+039, 1.0308696380638153e+040, 1.7859459285857014e+077)
(-1.0312287897419261e+068, 1.3880194760549856e+068, -1.0481795313034396e+133)
(1.0312287897419261e+068, 1.3880194760549856e+068, 1.0481795313034396e+133)
(-1.2162265121136006e+110, 1.7352893429902895e+110, -3.5842200217918705e+216)
(1.2162265121136006e+110, 1.7352893429902895e+110, 3.5842200217918705e+216)
(1.1469307843814356e+153, -1.5902808118338326e+153, -8.0356763449030067e+301)
(1.1469307843814356e+153, 1.5902808118338326e+153, 8.0356763449030067e+301)
(-1.#IND, -1.#IND, -1.#IND)
(1.#QNAN, 1.#QNAN, 1.#QNAN)
Re: Gcode tools - plug-in Inkscape для экспорта в Gcode
Добавлено: 24 мар 2010, 12:25
Nick
Нашел, под разными системами бесконечность в питоне обрабатывается по-разному...
http://www.johndcook.com/blog/2009/07/2 ... ic-python/
Код: Выделить всё
x = 1e200; y = x*x
If you’re running Python 3.0 and you print y, you’ll see inf. If you’re running an earlier version of Python, the result may depend on your operating system. On Windows, you’ll see 1.#INF but on Linux you’ll see inf. Now keep the previous value of y and run the following code.
z = y; z /= y
Since z = y/y, you might think z should be 1. But since y was infinite, it doesn’t work that way. There’s no meaningful way to assign a numeric value to the ratio of infinite values and so z contains a NaN. (You’d have to know “how they got there” so you could take limits.) So if you print z you’d see nan or 1.#IND depending on your version of Python and your operating system.
The way you test for inf and nan values depends on your version of Python. In Python 3.0, you can use the functions math.isinf and math.isnan respectively. Earlier versions of Python do not have these functions. However, the SciPy library has corresponding functions scipy.isinf and scipy.isnan.
Re: Gcode tools - plug-in Inkscape для экспорта в Gcode
Добавлено: 24 мар 2010, 12:34
dormouse
известная проблема: вместо сходимости решения идут "в раскачку". Надо ещё ввести проверку, что на следующем шаге решение стало ближе, а не дальше. Если дальше, то предпринять какие-то меры.