Gcodetools - plug-in Inkscape для экспорта в Gcode

Gcodetools - plug-in Inkscape для экспорта в Gcode

Postby root » 07 Dec 2009, 11:49

EMC screenshot.png
Сгенерированный Gкод в EMC2
Тип Расширение векторного
графического редактора Inkscape
Разработчик Команда разработчиков Gcodetools
Написана на Python
ОС Кроссплатформенное программное
обеспечение (Windows, Linux,
MacOS)
Версия 1.6 от 20.08.2010
Лицензия GNU GPL
Количество загрузок2000+

Gcodetools


Gcodetools это расширение векторного редактора Inkscape, которое позволяет подготавливать и экспортировать векторную графику в Gкод.

:!: Для оформления темы нам нужны скриншоты и фотографии Ваших работ, публикуйте Ваши фотографии в этой теме.

Содержание



Возможности новой версии Gcodetools 1.6


Экспорт в Gcode
Screqnshot.png

0089 gcode tools lathe emc screenshot.png
Gcodetools CAM для токарных станков с чпу

0082 gcode tools engraving.jpg
Gcodetools гравировка от Rene
  • Экспорт кривых в Gcode
  • Аппроксимация с использованием круговой интерполяции (G02 и G03)
  • Автоматическое разбиение кривых для достижения заданной степени точности
  • Обработка со сменой инструментов
  • Экспорт Gкода в параметрической или обычной формах
  • Добавление собственных заголовков и окончаний
  • Выбор единиц измерения
  • Многопроходная обработка
  • Автоматическое добавление цифрового суфикса к назваию сохраняемого файла
Обработка на токарном станке
  • Создание траекторий для обработки детали на токарном станке
  • Расчет чистового прохода
  • Задание заглубления при чистовом проходе
  • Задание количества чистовых проходов
  • Два различных метода вычисления чистовых проходов
  • Замена стандартных осей

Обработка площади контуров
  • Создание траекторий для обработки площади контуров
  • Возможность коррекции созданных траекторий
Гравировка фигурными фрезами
  • Создание траекторий для обработки контуров фигурной фрезой
  • Задание произвольной формы фрезы
Библиотека инструментов
  • Здание различных параметров инструмента и обработки (диаметр инструмента, скорость обработки, заглубление за проход, скорость заглубления, задание произвольного кода перед/после заглубления, форма инструмента, произвольный код смены инструмента)
  • Возможность копирования инструментов
  • Возможность обработки со сменой инструмента
Система ориентирования
  • Задание масштабирования по всем осям
  • Задание поворотов в плоскости ХY
  • Задание смещения по всем осям
  • Ориентация по произвольным точкам
Постпроцессор
  • Создание произвольной программы постпроцессора или выбор из стандартного набора
  • Масштабирование и смещение Gcode
  • Произвольная замена команд (в том числе одновременная замена)
  • Параметризация Gcode
  • Округление длинны дробной части чисел в Gкоде
Предварительная проверка рисунка
  • Выделение маленьких контуров (возможных артефактов area)
  • Проверка принадлежности инструментов
  • Проверка порядка обработки
Плоттерная резка
  • Экспорт в Gкод для плоттера с тангенциальным ножом. Четвертая ось A - угол наклона ножа.
Общие
  • Проверка наличия обновлений.


вверх

Лицензия


Gcodetools выпускается под лицензией GNU GPL. Эта лицензия дает Вам следующее права:
  • запуска программы, с любой целью;
  • изучения того, как программа работает, и её модификации (предварительным условием для этого является сохранение лицензии GNU GPL);
  • распространения копий;
  • улучшения программы, и выпуска улучшений в публичный доступ (предварительным условием для этого является сохранение лицензии GNU GPL).
Подробнее см здесь: http://ru.wikipedia.org/wiki/GPL
вверх

Установка


Windows
Распакуйте архив и скопируйте все файлы в каталог Program Files\Inkscape\share\extensions\
Linux
Распакуйте архив и скопируйте все файлы в каталог /usr/share/inkscape/extensions/ и перезапустите inkscape
вверх

Использование и уроки


Tutorial гравировке узоров от Dormouse ver 1.5b: http://kalyaev.com/2010/20100402/tut01/tut01.html
Tutorial по обработке площади контура ver 1.2: viewtopic.php?f=15&t=34&start=60#p152
Tutorial по созданию шестеренок ver 1.2: viewtopic.php?f=15&t=42&start=0#p154
Manual для версии 1.2 в этом посте: viewtopic.php?f=15&t=34&start=40#p143
Подробное описание для версии 1.1 в этом посте: viewtopic.php?f=15&t=34&start=40#p100
вверх

Скриншоты


g83147_002.png
Gcodetools plug-in tutorial (2600*1300 px png ~ 700Kb)


g36416.png
Screenshot-1.png


g64542.png
Screqnshot.png


вверх

Загрузить последнюю версию


Последняя стабильная версия Gcodetools 1.6
gcodetools.tar.gz
Gcodetools 1.6
(57.1 KiB) Downloaded 79 times

Предыдущие версии
(ver 1.5)
gcodetools.tar.gz
Gcodetools 1.5
(21.17 KiB) Downloaded 229 times

(ver 1.4)
gcodetools.tar.gz
(14.72 KiB) Downloaded 113 times

(ver 1.2)
extensions.tar.gz
(11.25 KiB) Downloaded 211 times

Вы можете опробовать версию, находящуюся в разработке, загрузив ее с http://www.launchpad.net/gcodetools при помощи bazaar, для этого выполните в консоли "bzr branch lp:gcodetools" или через веб-интерфейс http://bazaar.launchpad.net/~gcodetools.team/gcodetools/develope/files.

вверх

Благодарности


Разработчики:
  • Николай Дробченко (root)
  • Владимир Каляев (Dormouse)
  • Henry Nicolas (Alfcnc)
Переводчики:
  • John Brooker (greybeard из cnczone.com)

вверх

Помощь в разработке


На данный момент в разработке находятся:
  • Расширение для плазменной резки
  • Расширение для токарных станков
  • Расширение для плоттеров
Вы можете помочь улучшить Gcodetools создавая новые уроки и описания, давая советы, делая отчеты об ошибках, помогая разрабатывать новые функции.
Вы можете:
  • Написать отчет об использовании
  • Улучшить справку и уроки
  • Опубликовать Gкод / SVG / или программный код
  • Загрузить фото/видео готовых работ или опубликовать историю разработки
  • Написать отчет об ошибках
  • Помочь в разработке новых функций
  • Помочь в написании уроков и справки
  • Предложить новые функции
вверх

Протестировано на


Linux
Ubuntu 10.04, Ubuntu 9.10, Ubuntu 9.10 + inkscape 0.47, inkscape 0.46
Windows
Windows XP, Windows Vista, Windows 7 + inkscape 0.46, inkscape 0.47
вверх
root
Мастер
608
 
Posts: 608
Joined: 23 Nov 2009, 17:45
Location: Gatchina, Saint-Petersburg distr., Russia
Merits: Developer

Re: Inkscape plug-in для экспорта в Gcode

Postby root » 21 Jan 2010, 13:15

Последние сприншоты:

На первом цветами обозначены синий и зеленый круговая обработка (Gкод G02 и G03), красной линейная обработка (Gкод G01).
Количество узлов в исходном контуре 6096. В конечном файле получилось около 30 000 строк :) (размер около 1,2 мб). Обработка в два захода.
Время генерации, включая время отрисовки inkscape около 20 сек.
g6454.png
Конвертация в Gcode герба

На и третьем все линии тонкие и синие, для того чтобы можно было оценить неточности.
g64541.png
Конвертация в Gcode герба
g64542.png
Конвертация в Gcode герба
root
Мастер
608
 
Posts: 608
Joined: 23 Nov 2009, 17:45
Location: Gatchina, Saint-Petersburg distr., Russia
Merits: Developer

Re: Inkscape plug-in для экспорта в Gcode

Postby root » 25 Jan 2010, 17:36

Еще примерчик перевода логотипов в Гкод.
Attachments
g36416.png
Logo to G-code
root
Мастер
608
 
Posts: 608
Joined: 23 Nov 2009, 17:45
Location: Gatchina, Saint-Petersburg distr., Russia
Merits: Developer

Re: Inkscape plug-in для экспорта в Gcode

Postby root » 26 Jan 2010, 15:38

Несколько скриншотов готового G-кода в EMC2:


Screenshot-2.png
EMC2 Gcode
Screenshot-1.png
EMC Gcode
Screenshot-3.png
EMC Gкод
Screqnshot.png
EMC2 G-код
Screenshot-5.png
EMC2 Gcode
Screenshot.png
ECM2 сохранить в Gcode
root
Мастер
608
 
Posts: 608
Joined: 23 Nov 2009, 17:45
Location: Gatchina, Saint-Petersburg distr., Russia
Merits: Developer

Re: Inkscape plug-in для экспорта в Gcode

Postby root » 27 Jan 2010, 12:13

Manual
Gcode tools ver. 1.0.0.

Интерфейс
man_0001.png

1.,2. Имя файла и директорий в который будет сохранен готовый Gкод. Если в директории присутствуют файлы header или footer, то они будут использованы вместо стандартных заголовков.
Внимание! У Вас должны быть права на запись в выбранном директории! (Например Вы можете выбрать Ваш домашний директорий. (Мой: "/home/nick"))


3. Описание поведения координаты Z.
  • Z safe - Z координата безопасной высоты перемещения инструмента над обрабатываемой деталью
  • Z surface - Z координата поверхности детали
  • Z deph - Глубина обработки
  • Z step for each cicle - Глубина обработки за каждый заход

4. Выбор единиц измерения. Внутренняя единица измерения Inkscape - px, ее величина используется для перевода кривых в Gcode без приведения к выбранным единицам. Т.е. если деталь в Inkscape имеет ширину 10px, то при единице измерения "мм" ее размер будет 10мм, при единице измерения "in" - 10 дюймов.

5. Диаметр инструмента. Используется при обработке площади кривой.

6. Максимальное количество кривых для обработки площади. Введено для исключения бесконечных циклов.
Радиус для подготовки кривых с помощью Inkscape.

7. Выбор функции:
  • Curve to Gcode - преобразование кривых в Gкод
  • Area to Gcode - обработка площади кривой. Достаточно медленный метод. Сложность алгоритма O(n^2) где n-количество узлов. Не советую запускать для кривых со 100 узлами и более.
  • Prepare Area using Inkscape - Создает необходимое количество кривых для обработки внутренней площади кривой.

8. Минимальный радиус дуги. Очень важный параметр. Задает минимальный радиус дуги для кода G02. В случае, если радиус дуги очень маленький EMC2 может выдать ошибку: Zerro arc radius!
Внимание! Значение по умолчанию = 0.05. при использовании русской локали стандартный разделитель дробной части "," а не "." и поэтому все все дробные числа округляются в меньшую сторону т.е. "0.05" в русской локали равно "0"!

9. Значения масштабирования и отступов по осям X Y Z.
Есть подозрение, что масштаб по осям X и Y должен совпадать, иначе все дуги окружностей превратятся в дуги эллипсов, что не соответствует кодам G02 и G03.

Пример работы скрипта
Изображение показывает основные этапы преобразования контуров в Gкод:
g83147_002.png
Gcode tools plug-in tutorial (2600*1300 px png ~ 700Kb)

Готовый gкод контура из примера:
gnu.ngc
(27.14 KiB) Downloaded 111 times
root
Мастер
608
 
Posts: 608
Joined: 23 Nov 2009, 17:45
Location: Gatchina, Saint-Petersburg distr., Russia
Merits: Developer

Re: Inkscape plug-in для экспорта в Gcode

Postby root » 09 Feb 2010, 11:27

Короткая версия туториала:
Attachments
g83147_005.png
Screqnshot1_800px.png
root
Мастер
608
 
Posts: 608
Joined: 23 Nov 2009, 17:45
Location: Gatchina, Saint-Petersburg distr., Russia
Merits: Developer

Re: Inkscape plug-in для экспорта в Gcode

Postby root » 16 Feb 2010, 21:59

Очередной скриншот Лофта:
Сначала создаем сечения, затем траекторию (траектория - условное название она влияет только на расстояния между сечениями и на сглаживание), затем создаем лофт.
Attachments
rect11412.png
root
Мастер
608
 
Posts: 608
Joined: 23 Nov 2009, 17:45
Location: Gatchina, Saint-Petersburg distr., Russia
Merits: Developer

Re: Inkscape plug-in для экспорта в Gcode

Postby root » 22 Feb 2010, 20:25

Готова новая версия Gcode tools v. 1.2.

Внимание последняя версия находится в шапке этой темы!
extensions.tar.gz
(8.96 KiB) Downloaded 111 times

Что изменилось в новой версии:
    • "Curve to Gcode" теперь называется "Path to Gcode", т.к. в Inkscape кривые называются Path.
    • Добавлено автоматическое разбиение кривых. Если ошибка аппроксимации сегмента кривой превышает заданное значение, то сегмент разбивается по палам. Разбиение происходит до тех пор, пока не ошибка не станет приемлемой или количество разбиений не достигнет заданного значения.
      Соответственной добавлены два поля:
      • Biarc interpolation tolerance - допуск интерполяции кривой
      • Maximum splitting depth - максимальная глубина разбиения
    • Добавлена небольшая оптимизация холостого прохода. Каждый раз при выборе следующей кривой, выбирается та, у которой начало ближе всего к концу предыдущей.
  • Удалена функция Area to Gcode, т.к. она была очень медленной, не позволяла менять полученные результаты и содержала достаточно много ошибок.

  • "Area inkscape" теперь "Calculate area curves" (Рассчитать кривые площадки) это название лучше описывает действие функции.
    • Теперь стало гораздо проще пользоваться этой функцией -нет необходимости преобразовывать кривую в Динамическую втяжку, просто выбираете кривую вводите значения радиуса оффсета и нажимаете применить.

Функции лофта и гравировки пока в разработке.
root
Мастер
608
 
Posts: 608
Joined: 23 Nov 2009, 17:45
Location: Gatchina, Saint-Petersburg distr., Russia
Merits: Developer

Re: Inkscape plug-in для экспорта в Gcode

Postby root » 23 Feb 2010, 00:58

Manual ver. 1.2.

Интерфейс

Вкладка Параметры
Снимок-GCODE tools-5.png


Scale и offset along axis задают масштаб и смещение по трем осям. При этом, если "Generate not parametric code" будет выбран, то все вычисления масштаба и смещений будут выполнены непосредственно плагином и полученый Gкод будет обычным кодом с четко заданными координатами, в противном случае Gкод будет выглядеть следующим образом:
Code: Select all
"G03 X[428*#5+#8] Y[-590*#5+#9] Z[-20*#7+#10] I[0*#5] J[45*#5]"

и в начале кода будет заголовок в котором можно вручную задать смещения и масштаб по трем осям (масштаб осей X и Y зафиксирован чтобы не испортить круговую интерполяцию) и высоту холостого прохода:
Code: Select all
#4  = 700.000000 (Feed)
#5  = 1.000000 (Scale xy)
#7  = 1.000000 (Scale z)
#8  = -300.000000 (Offset x)
#9  = 300.000000 (Offset y)
#10 = 0.000000 (Offset z)
#11 = 10.000000 (Safe distanse)

Таким образом значительно упрощается пост-обработка, поэтому, если Ваш контроллер/программный контроллер поддерживает использование параметров лучше не включать опцию "Generate not parametric code".

Minimum arc radius - задает минимальное значение радиуса для команд G02 и G03, все дуги имеющие меньший радиус будут заменены прямыми линиями. Этот параметр необходим, т.к. при очень маленьком значении радиуса значении радиуса, управляющая программа может выдать ошибку. Например, ЕМС выдает ошибку если радиус дуги меньше 0,02 мм.

Вкладка Preferences
Снимок-GCODE tools-6.png


File - имя файла в который будет сохранен Gкод.
Directory - имя директория в который будет сохранен Gкод. Если это директорий содержит файлы 'header' и/или 'footer' то их содержимое добавится к готовому Gкоду вместо стандартных заголовков и окончаний.
Внимание! У Вас должны быть права на запись в указанном директории!
Z safe - координата Z для холостого прохода.
Z surface - координата Z поверхности обрабатываемой детали.
Z depth - координата Z глубины обработки.
Z step for each cycle - величина заглубления при каждом шаге многопроходной обработки. Многопроходная обработка рассчитывается автоматически если Z surface - Z depth > Z step.
Feed rate - скорость обработки.
Unit - елиница измерения. Внимание! Значение этой параметра влияет только на одну строку (в заголовок добавляется "G21 (All units in mm)" или "G20 (All units in inch)")никаких дополнительных вычислений не производится. Этот плагин использует внутренние единицы Inkscape - px и они напрямую переводятся в единицы измерения в Gкоде. Т.е. если в Inkscape деталь имеет ширину 10px и выбраны миллиметры, то готовая деталь будет иметь ширину 10мм, если выбраны дюймы, то деталь будет иметь ширину 10 дюймов.

Tool diameter - диаметр инструмента в дюймах.

Вкладка Path to Gcode
Снимок-GCODE tools-7.png


Biarc interpolation tolerance - каждый раз когда вычисляется аппроксимация сегмента кривой, вычисляется расстояние между кривой и ее аппроксимацией. Если это расстояние будет больше заданного, тогда сегмент будет разбита на два сегмента, каждый из которых будет заново аппроксимироваться.
Maximum splitting depth - определяет максимальное количество разбиений одного сегмента. (количество полученных сегментов растет как 2^n, т.е. при Maximum splitting depth = 5 один сегмент может быть заменен 32 сегментами (если раньше не достигнется необходимая точность))

Вкладка Area
Снимок-GCODE tools-8.png


Maximum area cutting curve - Максимальное количество кривых, которое будет создано для заполнения площади фигуры (если Area radius не достигнется раньше).
Area radius - радиус последнего оффсета. Фактически "радиус" фигуры. Формально это максимум минимальных расстояний от каждой точки фигуры до ее границы. Если радиус меньше 0, то покрываться будет не внутренняя площадь фигуры а "внешняя".
root
Мастер
608
 
Posts: 608
Joined: 23 Nov 2009, 17:45
Location: Gatchina, Saint-Petersburg distr., Russia
Merits: Developer

Re: Inkscape plug-in для экспорта в Gcode

Postby root » 25 Feb 2010, 00:24

Gcode tools ver. 1.2 tutorial

Рассмотрим возможности расширения Gcode tools.
В этом туториале мы рассмотрим возможности расширения Gcode tools для обработки площади контура.
1. Рисуем/загружаем контур. Для примера я взял логотип cnc-club.ru
Screenshot-hello_world.svg - Inkscape.png


Логотип в формате svg:
logo_0002.svg
(100.37 KiB) Downloaded 115 times


2. Если Ваш рисунок состоит из нескольких контуров, содержит тексты, эллипсы, прямоугольники, группы и т.д., то делаем следующее:
Контур -> Оконтурить объект (Shift+Ctrl+C), потом Объект -> Разгруппировать (Ctrl+Shift+G), при необходимости повторять до тех пор пока в статус баре не будет написано что-то похожее на : "3 объекта типа Контур" или "Контур (400 узлов)".
3. Затем объединим все получившиеся контуры в один: Контур -> Сумма (Ctrl+"+").
4. Рисуем прямоугольник помещаем его на задний план (Page Down или End) и центруем его относительно нашего контура (Ctrl+Shift+A).
Screenshot-hello_world.svg - Inkscape-3.png

5. Выделяем контур и прямоугольник Контур -> Разность (Ctrl+"-").
Screenshot-hello_world.svg - Inkscape-4.png

Подготовка контура закончилась!
6. Рассчитываем кривые покрывающие площадь контура: Расширения -> Gcode tools...
Заполняем поля Tool diameter во вкладке Preferences - диаметр фрезы
Открываем вкладку Area, и заполняем параметр Area radius. Сюда нужно вставить ширину самого толстого места контура (самое толстое место от любой части конура до любой другой части, включая внутренние части). Проще всего измерить ширину при помощи инструмента перо, во время рисования в статус баре пишется длина контура.
Выбираем Calculate area curves.
Нажимаем применить.
Screenshot-hello_world.svg - Inkscape-5.png

Иногда, для получения более хорошего результата, лучше преобразовать контур в Динамическую втяжку (Контур -> Динамическая втяжка) перед применением функции Calculate area curves.
Screenshot--home-nick-Рабочий стол-hello_world.svg - Inkscape.png

7. После этих действий имеем группу с кривыми покрывающие площадь контура. Но в этих кривых могут быть дефекты.
8. Для устранения дефектов заходим в группу (двойной клик на группе). Выделяем все (Ctrl+A). Преобразуем в контуры Контур -> Оконтурить объект (Shift+Ctrl+C). И разбиваем контуры на составляющие (Ctrl+Shift+K). Стираем не нужные кривые, при необходимости правим остальные.
9. Все готово для экспорта в Gкод. Выбираем все полученные кривые, Расширения -> Gcode tools... во вкладке Preferences вводим параметры фрезеровки, директорию и имя файла, во вкладке Path to Gcode вводим параметры допуска интерполяции и максимального количество разбиений (обратите внимание, что при каждом разбиении сегмент контура делится на два, т.е. при значении максимального количества разбиений равном 5 сегмент может разбиться до 2^5 = 32 раз).
Выбираем Path to Gcode. Нажимаем применить.
Screenshot--home-nick-Рабочий стол-hello_world.svg - Inkscape-1.png

После выполнения конвертации в изображение добавится группа отображающая рабочую траекторию инструмента.

Проверим что получилось:
Screenshot-output.ngc - AXIS-1.png

Все хорошо, только я не попал в рабочую область станка :). Но это не беда, есть несколько вариантов решения этой проблемы:
1. Задать смещение системы координат в программном контроллере
2. Задать смещения в готовом Gкоде, просто отредактировав в обычном текстовом редакторе (gedit, блокнот) эти строки: (если вы оставили Generate not parametic code не выбранной)
Code: Select all
#4  = 4.000000 (Feed)
#5  = 0.900000 (Scale xy)
#7  = 1.000000 (Scale z)
#8  = 0.000000 (Offset x)
#9  = 0.000000 (Offset y)
#10 = 0.000000 (Offset z)
#11 = 5.000000 (Safe distanse)

Со второго раза я попал в створ станка :)
Screenshot-output.ngc - AXIS-3.png

Screenshot-output.ngc - AXIS-4.png
root
Мастер
608
 
Posts: 608
Joined: 23 Nov 2009, 17:45
Location: Gatchina, Saint-Petersburg distr., Russia
Merits: Developer

Re: Inkscape plug-in для экспорта в Gcode

Postby root » 25 Feb 2010, 01:03

Вот пример обработки:
К сожалению не получилось довести обработку до конца - это был первый запуск самодельного станка, и в середине обработки начало подклинивать ось Х.
Размеры 270х140 мм, фреза 3,2мм время обработки 18 мин. Заглубление 11мм, материал пока пенопласт :) (это первый запуск станка :) ).
Attachments
cnc-club-00006.jpg
cnc-club-00008.jpg
root
Мастер
608
 
Posts: 608
Joined: 23 Nov 2009, 17:45
Location: Gatchina, Saint-Petersburg distr., Russia
Merits: Developer

Re: Inkscape plug-in для экспорта в Gcode

Postby onill » 07 Mar 2010, 12:28

Помогите пожалуйста!!!я не могу вообще разобраться с этой программой!как запустить g-kode!где про это можно прочитать я всё пробывал у меня ни чего не получается!
onill
Новичок
1
 
Posts: 1
Joined: 05 Mar 2010, 15:31

Re: Inkscape plug-in для экспорта в Gcode

Postby dormouse » 07 Mar 2010, 12:53

1. Установить Inkscape http://www.inkscape.org/
2. Скачать "программу", РАСПАКОВАТЬ (чтобы два файла получились) в папку "Inkscape/share/extensions"
Уже распакованные - правой мышкой, "сохранить как" выложил на:
http://kalyaev.com/2010/20100307/gcode_tools.inx
http://kalyaev.com/2010/20100307/gcode_tools.py
3. Запустить Inkscape, нарисовать Pen замкнутый треугольничек размером с пол-страницы и выделить его
4. Выбрать в верхнем меню пункт "Extensions-->GCODE tools"
5. Поставить точку в "Calculate Area curves" и нажать Apply
6. приблизить масштаб и увидеть что вокруг треугольника серым появились дополнительные контуры

(более сложная часть)

7. Выделить одну из кривых, настроить пути в GCODE tools, переставить точку в "Path to G-code", apply
8. Выделенная кривая станет разноцветной, а в указанном месте появится g-code файл для станка
dormouse
Мастер
230
 
Posts: 230
Joined: 27 Feb 2010, 10:55
Merits: Developer

Re: Inkscape plug-in для экспорта в Gcode

Postby root » 09 Mar 2010, 13:35

Сегодня исправлена критическая ошибка.
В случае автоматического разбиения кривой, менялась координата Z. Что приводило к нерабочему/не правильному Gкоду.
Исправленная версия в шапке темы.

Описание ошибки:
Code: Select all
gcode_tools.py line 241 было:
         return biarc(sp1,sp2,depth+1,z1,zm)+biarc(sp2,sp3,depth+1,z1,zm)
должно быть:
         return biarc(sp1,sp2,z1,zm,depth+1)+biarc(sp2,sp3,z1,zm,depth+1)

Спасибо Pizza за баг репорт.
root
Мастер
608
 
Posts: 608
Joined: 23 Nov 2009, 17:45
Location: Gatchina, Saint-Petersburg distr., Russia
Merits: Developer

Re: Gcode tools - plug-in Inkscape для экспорта в Gcode

Postby root » 24 Mar 2010, 14:28

Разработка Gcode tools и ее обсуждение вынесены в отдельную тему: Разработка Gcode tools - плагна Inkscape для экспорта в Gкод.
Здесь будем отвечать на вопросы пользователей, вывешивать описания, новости и т.д..
root
Мастер
608
 
Posts: 608
Joined: 23 Nov 2009, 17:45
Location: Gatchina, Saint-Petersburg distr., Russia
Merits: Developer

Re: Gcode tools - plug-in Inkscape для экспорта в Gcode

Postby mr.Iceman » 30 Mar 2010, 10:51

Добрый день!

Взял Ваш учебный пример, повторил - работает! Спасибо за очень полезный плагин!

Однако...
Я создал новый файл. В нем разместил одну латинскую букву. Запускаю G-Code Tools.
Tool diameter - 1mm.
Image
http://www.tinypic.ru/?do=view&pic=2010 ... 09_841.png

Нажимаю на кнопку Применить. Получаю вот такое неожиданный результат:
Image
http://www.tinypic.ru/?do=view&pic=2010 ... 22_549.png

Ситуация воспроизводится стабильно.

В тоже время, буква E обрабатывается нормально.
Image
http://www.tinypic.ru/?do=view&pic=2010 ... 29_747.png

Что я делаю не так? :shock:

p.s. Не понял, как изображения можно вставить в сообщение.
Attachments
letter_d.svg
Векторный файл с буквой D
(3.03 KiB) Downloaded 71 times
mr.Iceman
Новичок
10
 
Posts: 10
Joined: 14 Feb 2010, 14:39
Location: Москва

Re: Gcode tools - plug-in Inkscape для экспорта в Gcode

Postby root » 30 Mar 2010, 11:08

Вы все делаете так.
Просто inkscape при создании Dynamic offset чуть-чуть переделывает контур (вроде делает так, чтобы начальная точка была верхней левой). Я попытался это повторить, но иногда получается не совсем так, скорее всего я не до конца понял, что он делает.

В общем, чтобы это исправить помогает перед применением плагина преобразовать объект в Dynamic offset (Динамическая втяжка) путем нажатия Контур -> Динамическая втяжка (Ctrl+J), при выбранном контуре.

ЗЫ Чтобы прицепить картинку нажмите добавить вложение, прикрепляете ее, а затем рядом с прикрепленным файлом появляется такая кнопочка:
такая кнопочка.png

При нажатии на нее в текст вставляется [attachment=0\]такая кнопочка.png[/attachment]
root
Мастер
608
 
Posts: 608
Joined: 23 Nov 2009, 17:45
Location: Gatchina, Saint-Petersburg distr., Russia
Merits: Developer

Re: Inkscape plug-in для экспорта в Gcode

Postby mr.Iceman » 31 Mar 2010, 11:39

Большое спасибо, workaround с динамической втяжкой помог!

Но на пути к счастью встала следующая пока неразрешимая для меня проблема.

root wrote:Все хорошо, только я не попал в рабочую область станка :). Но это не беда, есть несколько вариантов решения этой проблемы:
1. Задать смещение системы координат в программном контроллере
2. Задать смещения в готовом Gкоде, просто отредактировав в обычном текстовом редакторе (gedit, блокнот) эти строки: (если вы оставили Generate not parametic code не выбранной)


Вот в этом и проблема. Я не смог вычислить алгоритм, по которому следует определять это самое смещение.
Понятно, что можно просто "пристреляться", однако это "не способ".
На данный момент у меня есть готовый рисунок в inkscape и есть заготовка строго по размерам чертежа.
Мне нужно четко совместить координаты рисунка и физические координаты заготовки. Так сказать, "выставить ноль". Что посоветуете?

Заранее спасибо!
mr.Iceman
Новичок
10
 
Posts: 10
Joined: 14 Feb 2010, 14:39
Location: Москва

Re: Gcode tools - plug-in Inkscape для экспорта в Gcode

Postby root » 31 Mar 2010, 11:55

Координаты в inkscape (то, что можно видеть снизу слева и в окошках) - это x=x, y = (y - высота рисунка), По идее, если вы поставите свой рисунок в точку (0,0), и настроите смещение по y = высоте рисунка, то координаты будут совпадать.

Прямо сейчас мы пишем функцию (можете посмотреть в этой ветке: viewtopic.php?f=15&t=52&start=220#p380), которая по трем заданным точкам будет автоматически позиционировать вашу деталь. Немного терпения... я думаю к выходным будет готова первая версия... :)
Если у Вас есть предложения, то это будет очень полезно, пока код не написан до конца :).
root
Мастер
608
 
Posts: 608
Joined: 23 Nov 2009, 17:45
Location: Gatchina, Saint-Petersburg distr., Russia
Merits: Developer

Re: Gcode tools - plug-in Inkscape для экспорта в Gcode

Postby root » 31 Mar 2010, 19:51

Внимание! В версии 1.4 исправлен критический баг!
Аппроксимация кривых биарками давала не правильные результаты!
Исправленная версия в шапке.
root
Мастер
608
 
Posts: 608
Joined: 23 Nov 2009, 17:45
Location: Gatchina, Saint-Petersburg distr., Russia
Merits: Developer

Next

Return to Linux

Who is online

Users browsing this forum: No registered users and 1 guest

cron