Разработка 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 (181725 просмотров) <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 »

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

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

Сообщение dormouse »

Тестирование проведено.
Вывод 1: инструменты N1, N2 отработали адекватно, результат - хороший.
Вывод 2: я ошибочно (для Ubuntu/rus) и верно для Windows исправил дефолтное значение "Orientation point" 3.5433070660 на "точку". Это зависит от локали - в зависимости от системы либо точка либо запятая. В языках программирования, excel/calc и т.п. эту проблему можно решить как 3.14 или 3.14 = "3+14/100" :) Как это решить в .inx надо изучать.
Вывод 3: С профилями фрезы что-то неладное. Имеющаяся фреза имеет прямой угол конуса. Подошло значение Z(w)=w/4.
Вывод 4: Engraving делает много артефактов. Для примера: при глубине 10 (максимальной) оказывается несколько дуг, уходящих в -15мм и несколько трактуемых EMC как "нулевые".

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

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

Сообщение Nick »

dormouse писал(а):Тестирование проведено.
Вывод 1: инструменты N1, N2 отработали адекватно, результат - хороший.
Вывод 2: я ошибочно (для Ubuntu/rus) и верно для Windows исправил дефолтное значение "Orientation point" 3.5433070660 на "точку". Это зависит от локали - в зависимости от системы либо точка либо запятая. В языках программирования, excel/calc и т.п. эту проблему можно решить как 3.14 или 3.14 = "3+14/100" :) Как это решить в .inx надо изучать.
Вывод 3: С профилями фрезы что-то неладное. Имеющаяся фреза имеет прямой угол конуса. Подошло значение Z(w)=w/4.
Вывод 4: Engraving делает много артефактов. Для примера: при глубине 10 (максимальной) оказывается несколько дуг, уходящих в -15мм и несколько трактуемых EMC как "нулевые".

Фотоотчёт и подробные логи, места ошибок будут завтра.

1. ура :D
2. Это не совсем ошибочно, это вопрос локалей. С другой стороны это не критично, когда человек введет значения один раз они сохранятся для последующих запусков.
3. Прямой угол... Какой из них прямой? Который в основании?
4. "нулевые" это с нулевым радиусом? ошибки нужно будет рассмотреть по-подробнее...

С нетерпением жду фотоотчет! :)

ЗЫ написал первую версию интерфейса библиотеки инструментов... Завтра дошлифую, и попробую выложить в общую ветку, пока здесь: lp:~xepecine/+junk/gcodetools-1.5 .
mr.Iceman
Новичок
Сообщения: 10
Зарегистрирован: 14 фев 2010, 13:39
Репутация: 0
Откуда: Москва
Контактная информация:

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

Сообщение mr.Iceman »

dormouse писал(а):Начал писать туториал.
Первая-же попавшаяся на глаза фраза резанула глаз.
We should create "Area offset" as we have done earlier.
Прошу прощения, но вынужден заметить, что "as" в данной фразе смотрится как седло на корове. Лучше было-бы сказать "the way we have done it earlier", "in the same manner" или что-то типа того.
Может быть, имеет смысл написать мануал на языке предков и соплеменников, а не на языке потенциального противника? :shifty:
Еще раз sorry за offtopic.
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

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

Сообщение Nick »

Не стоит так нападать на Dormousa, он проделал большую работу. Ошибки? Чтож, никто от них не застрахован. Это очень хорошо, что Вы их заметили, мы постараемся их исправить :).

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

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

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

Сообщение dormouse »

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

Если вы готовы все мои материалы в данной теме своевременно переводить на враждебный язык - я двумя руками "за". Готов завтра же перебить весь туториал на родном языке (включая фотоотчёт с комментариями, соображения, выводы и т.п.) и дать для перевода.

На тему многоязычности: гугл-переводчик и т.п. достаточно хорошо на данный момент переводят. Я пробую потихоньку следующий подход: пишешь по-русски с терминами на английском, переводишь автопереводчиком и смотришь на результат. После первой же правки на другие речевые конструкции результат становится ничуть не хуже "изначально коряво написанного". Возможно, даже лучше.

Помню, что гугл-переводчик только половину страницы переводит. babelfish.altavista.com - всю.

P.S. Фреза N3 имела угол конуса 90° (т.е. угол поверхности конуса от вертикали 45°) http://kalyaev.com/2010/20100402/tut01/ph-n1-n2-n3.png

Вылеты Engraving "вверх": http://kalyaev.com/2010/20100402/tut01/ ... ing-up.png
и "вниз": http://kalyaev.com/2010/20100402/tut01/ ... g-down.png

P.P.S. Немного фото добавлено в туториал: http://kalyaev.com/2010/20100402/tut01/tut01.html
Аватара пользователя
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 »

Нашел ошибку в процедуре biarc. Из-за нее скорее всего вместо w пришлось использовать 4*w и, возможно, появлялись другие ошибки:

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

строка 453:
			return biarc(sp1,sp2,z1,zm,depth+1)+biarc(sp2,sp3,z1,zm,depth+1)
Должно быть:
			return biarc(sp1,sp2,z1,zm,depth+1)+biarc(sp2,sp3,zm,z2,depth+1)
Dormouse, если не сложно исправь в основной ветке, и выложи на форуме архив с исправленной версией. Мне это сделать сложнее, т.к. у меня сейчас другая ветка, с библиотекой инструментов.

---------------

Появился вопрос, если мы сделаем библиотеку инструментов, нужно ли оставлять определения инструмента в плагине?
1. Плюсы всегда явно и в одном месте будет задан инструмент. Если инструмент не задан будет выводиться предупреждение => пользователь не сможет не заметить настройки которые находятся на скрытых табах.
2. Минусы каждый раз придется создавать инструмент. В файлах, где инструментов нет, придется заново забивать инструмент. Однако, если сделать импорт библиотеки из внешних файлов, то этого можно будет избежать.

---------------

Еще вопрос, как быть со скоростью заглубления при гравировке? При генерации Gкода можно просто при заглублении вставлять "F %f" % self.tool['penetration feed'], но нужно ли вычислять скорость заглубления при гравировке или пока можно забить?
Аватара пользователя
dormouse
Мастер
Сообщения: 334
Зарегистрирован: 27 фев 2010, 09:55
Репутация: 15
Заслуга: Developer
Контактная информация:

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

Сообщение dormouse »

Ветку исправлю. Для Engraving скорость заглубления - сложное понятие, (пока) предлагаю не делать.

Для обычного:

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

1: #11 = 5.000000 (Safe distanse)
2: G00 Z[5.000000*#7+#10]
3: G00 X[160.998958*#5+#8] Y[39.341143*#5+#9]
4: G01 Z[-1.000000*#7+#10]F#4
5: G03 (...)F#4
A) Строка 2 предположительно должна выглядеть как G00 Z[#11*#7+#10] (если так, исправлю)
B) Строка 4: вместо F#4 надо написать F#13 (или какой-там последний номер свободного параметра)
Следующая строка 5 после заглубления всегда продублирована скоростью, так что ничего менять не надо.
C) Для значения в .inx коэффициента "по умолчанию" я предлагаю сделать "-1" для мм, чтобы она сама подставляла 3.5....
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

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

Сообщение Nick »

dormouse писал(а):Ветку исправлю. Для Engraving скорость заглубления - сложное понятие, (пока) предлагаю не делать.

Для обычного:

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

1: #11 = 5.000000 (Safe distanse)
2: G00 Z[5.000000*#7+#10]
3: G00 X[160.998958*#5+#8] Y[39.341143*#5+#9]
4: G01 Z[-1.000000*#7+#10]F#4
5: G03 (...)F#4
A) Строка 2 предположительно должна выглядеть как G00 Z[#11*#7+#10] (если так, исправлю)
B) Строка 4: вместо F#4 надо написать F#13 (или какой-там последний номер свободного параметра)
Следующая строка 5 после заглубления всегда продублирована скоростью, так что ничего менять не надо.
C) Для значения в .inx коэффициента "по умолчанию" я предлагаю сделать "-1" для мм, чтобы она сама подставляла 3.5....
А) да, спасибо :).
Чтобы исправить, Должно быть так:

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

		g, lg, zs, f = '', 'G00', self.options.Zsafe if self.options.generate_not_parametric_code else " F#11" , " F%f"%self.tool['feed'] if self.options.generate_not_parametric_code else " F#4"
Хотя, я не прав, не только это ...

--------
Чтобы это исправить нужно добавить:

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

		go_to_safe_distance = "G00" + c([None,None,zs]) + "\n" if self.options.generate_not_parametric_code else 'G00 Z[#11*#7+#10]\n' 
после

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

g, lg, zs, f = ...
И заменить 6 строчек определяющих move и end на эти:

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

			if s[1]	== 'move':
				g += go_to_safe_distance + "G00" + c(si[0]) + "\n"
				lg = 'G00'
			elif s[1] == 'end':
				g += go_to_safe_distance
				lg = 'G00'

В) уже почти сделал, в библиотеке инструментов у инструмента будет параметр penetration feed (интерессно, я правильно перевел или нет :think:) он и будет туда подставляться.
С) Тут возникает вопрос, если задан инструмент из библиотеки, то какое значение берем из инструмента или из формы inx? Может ну их нах все эти определения в форме, пусть все задается в библиотеке или я слишком категоричен ;)?
Аватара пользователя
dormouse
Мастер
Сообщения: 334
Зарегистрирован: 27 фев 2010, 09:55
Репутация: 15
Заслуга: Developer
Контактная информация:

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

Сообщение dormouse »

Я синхронно тоже самое исправлял.
первая строка - байт-в-байт, исключая того что я написал self.options.feed
6-ть строк Move-end - тут я закопался и как-то не так написал :lol:
-----
Первую при таком подходе исправлять вовсе не надо! иначе zs получает "#11".
------------------------

Ревизия 25

- добавлена Zspeed (#12), исправлена параметризация.

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

%
(Generated by gcode_tools from inkscape.) 
M3 
G21 (All units in mm)
#4  = 4.000000 (Feed)
#5  = 1 (Scale xy)
#7  = 1.000000 (Scale z)
#8  = 0 (Offset x)
#9  = 0 (Offset y)
#10 = 0.000000 (Offset z)
#11 = 4.800000 (Safe distanse)
#12 = 1.000000 (Zspeed)
G00 Z[#11*#7+#10]
G00 X[291.428560*#5+#8] Y[309.505040*#5+#9]
G01 Z[-1.000000*#7+#10]F#12
G01 X[600.000000*#5+#8] Y[309.505040*#5+#9] Z[-1.000000*#7+#10]F#4
G01 X[600.000000*#5+#8] Y[706.647890*#5+#9] Z[-1.000000*#7+#10]
G01 X[291.428560*#5+#8] Y[706.647890*#5+#9] Z[-1.000000*#7+#10]
G01 X[291.428560*#5+#8] Y[309.505040*#5+#9] Z[-1.000000*#7+#10]
G01 X[291.428560*#5+#8] Y[309.505040*#5+#9] Z[-1.000000*#7+#10]
G00 Z[4.800000*#7+#10]
M5 
G00 X0.0000 Y0.0000 
M2 
(end)
%

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

%
(Generated by gcode_tools from inkscape.) 
M3 
G21 (All units in mm)
G00 Z4.800000
G00 X291.428560 Y309.505040
G01 Z-1.0000001.000000
G01 X600.000000 Y309.505040 Z-1.000000 F4.000000
G01 X600.000000 Y706.647890 Z-1.000000
G01 X291.428560 Y706.647890 Z-1.000000
G01 X291.428560 Y309.505040 Z-1.000000
G01 X291.428560 Y309.505040 Z-1.000000
G00 Z4.800000
M5 
G00 X0.0000 Y0.0000 
M2 
(end)
%

P.S. так же исправлена ошибка, была "G21 (All units in mm)G00 Z4.800000" - добавлен отдельно

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

self.header += self.options.unit + "\n" + ( """#4  = %f (Feed)

Ревизия 26

Отрицательные значения в поле Orientation: Initial scale переключают в миллиметры

Ревизия 27

Исправлен biarc. Надо оттестировать на отрицательные вылеты в Engraving. Метод тестирования: загружаем engraving.svg, запускаем Engraving (скажем 10мм макс.глубины), полученный код открываем в EMC², щёлкаем по ориентации оси "X" или "Y" - смотрим на пики ниже указанных 10мм. Явно есть по-прежнему проблемы. Такие три строки подряд (по оси Z движение должно быть в пределах -10..0 для рабочего цикла):

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

G03 X10.231968 Y95.929868 Z-82.943503 I119.058593 J-40.828977
G02 X10.000000 Y95.243751 Z0.000000 I-244.537397 J82.293060
G02 X11.000124 Y103.040438 Z234.105062 I6087.605181 J-776.927934
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

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

Сообщение Nick »

Фух... Кажется написал библиотеку инструментов....
Сейчас попробую сделать merge с основной веткой...
P.S. так же исправлена ошибка, была "G21 (All units in mm)G00 Z4.800000" - добавлен отдельно
Блин, сколько раз мы эту ошибку уже исправляли, а она все время заново вылазит... :think:
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

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

Сообщение Nick »

Ревизия почему-то тоже 27

Добавлена функция tools library.
Убрал zspeed вместо него используется penetration speed инструмента.
Кстати, пока не реализована альтернатива использования значений в форме плагина. Т.е. либо используется значение из default_tool либо из tool который определяется формой на рисунке.

Как работает библиотека инструментов:
  • Открываем вкладку, выбираем тип инструмента, нажимаем ок.
  • Создается группа с описанием инструмента.
  • Тип инструмента влияет только на начальные поля которые будут добавлены в форму инструмента.
    Т.е. если поле не определено в форме инструмента, то оно в случае надобности возьмется из self.default_tool.
  • Поля (название и значение) можно редактировать при помощи инструмента текст. Значения параметров могут быть многострочными, названия нет.
Пока реализованы обработки полей:
diameter, shape, feed, penetration feed... остальные буду дописывать.

Инструмент выбирается следующим образом: сначала ищутся инструменты в активном слое, причем сперва берутся те, которые на переднем плане, затем ищется во всей сцене. Потом в инструменте происходит поиск полей key => value, которые изменяют стандартные параметры инструмента self.tool=self.default_tool.

Ревизия 28
Внесены небольшие корректировки.

Ревизия 30
Добавлена обработка gcode before/after path.

Ревизия 31
Исправлена работа с точками ориентации, теперь поиск идет сверху вниз по оси z. (в стандартном алгоритме получалось наоборот, т.к. в svg сверху оказываются те элементы, которые стоят снизу в xml дереве)

----------------------------------

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

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

Сообщение dormouse »

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

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

Сообщение Nick »

dormouse писал(а):Все X,Y scale/offset теперь заменены на orientation points?
ага... и многие параметры инструментов тоже ...

Забыл написать, что главная прелесть библиотеки инструментов, что инструменты можно копировать стандартными методами inkscape (Ctrl+D). И изменять в копиях необходимые параметры.
Аватара пользователя
dormouse
Мастер
Сообщения: 334
Зарегистрирован: 27 фев 2010, 09:55
Репутация: 15
Заслуга: Developer
Контактная информация:

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

Сообщение dormouse »

Странным образом влияют настройки Z(w) вкладки engraving на tool-на-рабочем-листе.
По-прежнему совсем некорректное что-то.
Вложения
box.svg
(10.86 КБ) 793 скачивания
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

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

Сообщение Nick »

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

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

Сообщение Nick »

Нашел еще один баг, из-за которого плохие значения вылетают:
строка 523 в biarc нужно добавить abs при расчете средней точки заглубления расчет длины дуги не учитывал, что угол может быть отрицательным.

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

		else : zm  = z1 + (z2-z1)*(abs(R1.mag()*a1))/(abs(R2.mag()*a2)+abs(R1.mag()*a1)) 
Ревизия 32
Исправлен этот баг.
Аватара пользователя
dormouse
Мастер
Сообщения: 334
Зарегистрирован: 27 фев 2010, 09:55
Репутация: 15
Заслуга: Developer
Контактная информация:

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

Сообщение dormouse »

Для прямоугольника (0,0)-(20,5) в точке (5, 2.5) (на средней линии вдоль длинной стороны) имеем строку

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

G03 X[5.002441*#5+#8] Y[2.499195*#5+#9] Z[-8.858300*#7+#10] I[8.252539*#5] J[16.507704*#5]
Иными словами - заглубление Z=9. Для z=w получаем смещение dx=dy=dz=9 от центра. Ожидается значение 2.5=5/2 (короткая сторона пополам). Т.е. примерно старое 9/4 :lol: Имеем для w/4:

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

G03 X[5.002441*#5+#8] Y[2.499195*#5+#9] Z[-2.214575*#7+#10] I[8.252539*#5] J[16.507704*#5]
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

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

Сообщение Nick »

Хммм... у меня получилось:

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

G03 X[5.002441*#5+#8] Y[2.499195*#5+#9] Z[-4.429150*#7+#10] I[8.252539*#5] J[16.507704*#5]
А! Я кажется поянл в чем дело! Дело в том, что по оси Х и У но не делаем масштабирования по оси Z. Нужно обдумать как его завязать на растяжения X и Y. Если scaleX==scaleY все в принципе понятно, но если нет, что делать?

Есть предложение: Zscale = self.options.Zscale * (Xscale+Yscale)/2, ну или как-то так?
Ответить

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