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

Обсуждение установки, настройки и использования LinuxCNC. Вопросы по Gкоду.

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

Сообщение Nick » 07 дек 2009, 10:49

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

Gcodetools - CAM расширение для Incscape

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

Gcodetools и Inkscape распространяются под лицензией GNU GPL, т.е. бесплатно, в т.ч. для коммерческого использования. Обе программы кросплатформенные, есть дистрибутивы под Windows, Linux и MacOS.

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


Возможности Gcodetools (для просмотра содержимого нажмите на ссылку)

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

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

Gcodetools - plug-in Inkscape для экспорта в Gcode lumen lab gcodetools cnc pocketing 1280.jpg
Gcodetools cnc обработка площади

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

Gcodetools - plug-in Inkscape для экспорта в Gcode 0082 gcode tools engraving.jpg
Gcodetools гравировка от Rene

Gcodetools - plug-in Inkscape для экспорта в Gcode bears.jpg
Bears by Durachko
  • Экспорт кривых в 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
Распакуйте архив и скопируйте все файлы в каталог /home/<имя пользователя>/.config/inkscape/extensions/
или /usr/share/inkscape/extensions/ и перезапустите inkscape
вверх
Видео уроки (для просмотра содержимого нажмите на ссылку)

Видео уроки

Русский язык

Видео уроки от Steel.ne на русском языке: Gcodetools - plug-in Inkscape для экспорта в Gcode #403

Английский язык

Видео уроки от Bitviper (на форуме Fizgig) (англ.):
http://www.youtube.com/watch?v=yUTVOTDbDRI
http://www.youtube.com/watch?v=zMQplyEo9Bc
Еще один видео урок на английском:
http://www.youtube.com/watch?v=4jYKMAjzK3A
Пример использования Gcodetools за 1 минуту от Stirlingengr:
http://www.youtube.com/watch?v=aflrnD9OEvA
Использование и уроки (для просмотра содержимого нажмите на ссылку)

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

Документация: Gcodetools документация [В разработке] #23
Tutorial гравировке узоров от Dormouse ver 1.5b: http://kalyaev.com/2010/20100402/tut01/tut01.html
Tutorial по обработке площади контура ver 1.2: Gcodetools - plug-in Inkscape для экспорта в Gcode #10
Tutorial по созданию шестеренок ver 1.2: http://www.cnc-club.ru/forum/viewtopic. ... art=0#p154
Manual для версии 1.2 в этом посте:Gcodetools - plug-in Inkscape для экспорта в Gcode #9
Подробное описание для версии 1.1 в этом посте: http://www.cnc-club.ru/forum/viewtopic. ... rt=40#p100

Справка по пре- и пост-процессорам Gcodetools - пре- и пост-процессоры #1
Скриншоты (для просмотра содержимого нажмите на ссылку)

Скриншоты

Gcodetools - plug-in Inkscape для экспорта в Gcode g83147_002.png
Gcodetools plug-in tutorial (2600*1300 px png ~ 700Kb)


Gcodetools - plug-in Inkscape для экспорта в Gcode g36416.png
Gcodetools - plug-in Inkscape для экспорта в Gcode Screenshot-1.png


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


вверх
Загрузить последнюю версию (для просмотра содержимого нажмите на ссылку)

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

Последняя стабильная версия Gcodetools 1.7
gcodetools.tar.gz
Gcodetools 1.7
(75.25 Кб) Скачиваний: 11202

Предыдущие версии(ver 1.6)
gcodetools-1.6.tar.gz
Gcodetools 1.6
(57.1 Кб) Скачиваний: 2995

(ver 1.5)
gcodetools.tar.gz
Gcodetools 1.5
(21.17 Кб) Скачиваний: 1628

(ver 1.4)
gcodetools.tar.gz
(14.72 Кб) Скачиваний: 1525

(ver 1.2)
extensions.tar.gz
(11.25 Кб) Скачиваний: 1612

Dev версия


Вы можете опробовать версию, находящуюся в разработке, загрузив ее с github
Через веб интерфейс: https://github.com/cnc-club/gcodetools
Или через git командой git clone git@github.com:cnc-club/gcodetools.git

Перед работой необходимо создать файлы inx путем запуска скрипта python create_inx.py
Благодарности (для просмотра содержимого нажмите на ссылку)

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

Разработчики:
  • Николай Дробченко (Nick)
  • Владимир Каляев (Dormouse)
  • Henry Nicolas (Alfcnc)
  • Chris Lusby Taylor (ChrisInNewbury)
Переводчики:
  • John Brooker (greybeard из cnczone.com)
вверх
Помощь в разработке (для просмотра содержимого нажмите на ссылку)

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

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

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

Linux
Ubuntu 9.10 - Ubuntu 14.04 и далее + inkscape 0.48, inkscape 0.47, inkscape 0.46
FreeBSD 9, FreeBSD 10 + Inkscape 0.48.2.
Windows
Windows XP, Windows Vista, Windows 7 + inkscape 0.46, inkscape 0.47, inkscape 0.48
MacOS
Есть сообщения о работоспособности на MacOS.
вверх
Use the Console, Luke.
Аватара пользователя
Nick
Мастер
 
Сообщения: 22268
Зарегистрирован: 23 ноя 2009, 16:45
Откуда: Gatchina, Saint-Petersburg distr., Russia
Репутация: 1262
Заслуга: Developer
Медальки:

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

Сообщение Nick » 21 янв 2010, 12:15

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

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

На и третьем все линии тонкие и синие, для того чтобы можно было оценить неточности.
Gcodetools - plug-in Inkscape для экспорта в Gcode g64541.png
Конвертация в Gcode герба
Gcodetools - plug-in Inkscape для экспорта в Gcode g64542.png
Конвертация в Gcode герба
Use the Console, Luke.
Аватара пользователя
Nick
Мастер
 
Сообщения: 22268
Зарегистрирован: 23 ноя 2009, 16:45
Откуда: Gatchina, Saint-Petersburg distr., Russia
Репутация: 1262
Заслуга: Developer
Медальки:

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

Сообщение Nick » 25 янв 2010, 16:36

Еще примерчик перевода логотипов в Гкод.
Вложения
Gcodetools - plug-in Inkscape для экспорта в Gcode g36416.png
Logo to G-code
Use the Console, Luke.
Аватара пользователя
Nick
Мастер
 
Сообщения: 22268
Зарегистрирован: 23 ноя 2009, 16:45
Откуда: Gatchina, Saint-Petersburg distr., Russia
Репутация: 1262
Заслуга: Developer
Медальки:

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

Сообщение Nick » 26 янв 2010, 14:38

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


Gcodetools - plug-in Inkscape для экспорта в Gcode Screenshot-2.png
EMC2 Gcode
Gcodetools - plug-in Inkscape для экспорта в Gcode Screenshot-1.png
EMC Gcode
Gcodetools - plug-in Inkscape для экспорта в Gcode Screenshot-3.png
EMC Gкод
Gcodetools - plug-in Inkscape для экспорта в Gcode Screqnshot.png
EMC2 G-код
Gcodetools - plug-in Inkscape для экспорта в Gcode Screenshot-5.png
EMC2 Gcode
Gcodetools - plug-in Inkscape для экспорта в Gcode Screenshot.png
ECM2 сохранить в Gcode
Use the Console, Luke.
Аватара пользователя
Nick
Мастер
 
Сообщения: 22268
Зарегистрирован: 23 ноя 2009, 16:45
Откуда: Gatchina, Saint-Petersburg distr., Russia
Репутация: 1262
Заслуга: Developer
Медальки:

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

Сообщение Nick » 27 янв 2010, 11:13

Manual
Gcode tools ver. 1.0.0.

Интерфейс
Gcodetools - plug-in Inkscape для экспорта в Gcode 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код:
Gcodetools - plug-in Inkscape для экспорта в Gcode g83147_002.png
Gcode tools plug-in tutorial (2600*1300 px png ~ 700Kb)

Готовый gкод контура из примера:
gnu.ngc
(27.14 Кб) Скачиваний: 1739
Use the Console, Luke.
Аватара пользователя
Nick
Мастер
 
Сообщения: 22268
Зарегистрирован: 23 ноя 2009, 16:45
Откуда: Gatchina, Saint-Petersburg distr., Russia
Репутация: 1262
Заслуга: Developer
Медальки:

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

Сообщение Nick » 09 фев 2010, 10:27

Короткая версия туториала:
Вложения
Gcodetools - plug-in Inkscape для экспорта в Gcode g83147_005.png
Gcodetools - plug-in Inkscape для экспорта в Gcode Screqnshot1_800px.png
Use the Console, Luke.
Аватара пользователя
Nick
Мастер
 
Сообщения: 22268
Зарегистрирован: 23 ноя 2009, 16:45
Откуда: Gatchina, Saint-Petersburg distr., Russia
Репутация: 1262
Заслуга: Developer
Медальки:

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

Сообщение Nick » 16 фев 2010, 20:59

Очередной скриншот Лофта:
Сначала создаем сечения, затем траекторию (траектория - условное название она влияет только на расстояния между сечениями и на сглаживание), затем создаем лофт.
Вложения
Gcodetools - plug-in Inkscape для экспорта в Gcode rect11412.png
Use the Console, Luke.
Аватара пользователя
Nick
Мастер
 
Сообщения: 22268
Зарегистрирован: 23 ноя 2009, 16:45
Откуда: Gatchina, Saint-Petersburg distr., Russia
Репутация: 1262
Заслуга: Developer
Медальки:

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

Сообщение Nick » 22 фев 2010, 19:25

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

Внимание последняя версия находится в шапке этой темы!
extensions.tar.gz
(8.96 Кб) Скачиваний: 2050

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

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

Функции лофта и гравировки пока в разработке.
Use the Console, Luke.
Аватара пользователя
Nick
Мастер
 
Сообщения: 22268
Зарегистрирован: 23 ноя 2009, 16:45
Откуда: Gatchina, Saint-Petersburg distr., Russia
Репутация: 1262
Заслуга: Developer
Медальки:

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

Сообщение Nick » 22 фев 2010, 23:58

Manual ver. 1.2.

Интерфейс

Вкладка Параметры
Gcodetools - plug-in Inkscape для экспорта в Gcode Снимок-GCODE tools-5.png


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

и в начале кода будет заголовок в котором можно вручную задать смещения и масштаб по трем осям (масштаб осей X и Y зафиксирован чтобы не испортить круговую интерполяцию) и высоту холостого прохода:
Код: Выделить всёРазвернуть
#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
Gcodetools - plug-in Inkscape для экспорта в Gcode Снимок-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
Gcodetools - plug-in Inkscape для экспорта в Gcode Снимок-GCODE tools-7.png


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

Вкладка Area
Gcodetools - plug-in Inkscape для экспорта в Gcode Снимок-GCODE tools-8.png


Maximum area cutting curve - Максимальное количество кривых, которое будет создано для заполнения площади фигуры (если Area radius не достигнется раньше).
Area radius - радиус последнего оффсета. Фактически "радиус" фигуры. Формально это максимум минимальных расстояний от каждой точки фигуры до ее границы. Если радиус меньше 0, то покрываться будет не внутренняя площадь фигуры а "внешняя".
Use the Console, Luke.
Аватара пользователя
Nick
Мастер
 
Сообщения: 22268
Зарегистрирован: 23 ноя 2009, 16:45
Откуда: Gatchina, Saint-Petersburg distr., Russia
Репутация: 1262
Заслуга: Developer
Медальки:

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

Сообщение Nick » 24 фев 2010, 23:24

Gcode tools ver. 1.2 tutorial

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


Логотип в формате svg:
logo_0002.svg
(100.37 Кб) Скачиваний: 1803


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

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

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

Иногда, для получения более хорошего результата, лучше преобразовать контур в Динамическую втяжку (Контур -> Динамическая втяжка) перед применением функции Calculate area curves.
Gcodetools - plug-in Inkscape для экспорта в Gcode 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. Нажимаем применить.
Gcodetools - plug-in Inkscape для экспорта в Gcode Screenshot--home-nick-Рабочий стол-hello_world.svg - Inkscape-1.png

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

Проверим что получилось:
Gcodetools - plug-in Inkscape для экспорта в Gcode Screenshot-output.ngc - AXIS-1.png

Все хорошо, только я не попал в рабочую область станка :). Но это не беда, есть несколько вариантов решения этой проблемы:
1. Задать смещение системы координат в программном контроллере
2. Задать смещения в готовом Gкоде, просто отредактировав в обычном текстовом редакторе (gedit, блокнот) эти строки: (если вы оставили Generate not parametic code не выбранной)
Код: Выделить всёРазвернуть
#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)

Со второго раза я попал в створ станка :)
Gcodetools - plug-in Inkscape для экспорта в Gcode Screenshot-output.ngc - AXIS-3.png

Gcodetools - plug-in Inkscape для экспорта в Gcode Screenshot-output.ngc - AXIS-4.png
Use the Console, Luke.
Аватара пользователя
Nick
Мастер
 
Сообщения: 22268
Зарегистрирован: 23 ноя 2009, 16:45
Откуда: Gatchina, Saint-Petersburg distr., Russia
Репутация: 1262
Заслуга: Developer
Медальки:

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

Сообщение Nick » 25 фев 2010, 00:03

Вот пример обработки:
К сожалению не получилось довести обработку до конца - это был первый запуск самодельного станка, и в середине обработки начало подклинивать ось Х.
Размеры 270х140 мм, фреза 3,2мм время обработки 18 мин. Заглубление 11мм, материал пока пенопласт :) (это первый запуск станка :) ).
Вложения
Gcodetools - plug-in Inkscape для экспорта в Gcode cnc-club-00006.jpg
Gcodetools - plug-in Inkscape для экспорта в Gcode cnc-club-00008.jpg
Use the Console, Luke.
Аватара пользователя
Nick
Мастер
 
Сообщения: 22268
Зарегистрирован: 23 ноя 2009, 16:45
Откуда: Gatchina, Saint-Petersburg distr., Russia
Репутация: 1262
Заслуга: Developer
Медальки:

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

Сообщение onill » 07 мар 2010, 11:28

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

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

Сообщение dormouse » 07 мар 2010, 11: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
Мастер
 
Сообщения: 334
Зарегистрирован: 27 фев 2010, 09:55
Репутация: 15
Заслуга: Developer

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

Сообщение Nick » 09 мар 2010, 12:35

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

Описание ошибки:
Код: Выделить всёРазвернуть
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 за баг репорт.
Use the Console, Luke.
Аватара пользователя
Nick
Мастер
 
Сообщения: 22268
Зарегистрирован: 23 ноя 2009, 16:45
Откуда: Gatchina, Saint-Petersburg distr., Russia
Репутация: 1262
Заслуга: Developer
Медальки:

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

Сообщение Nick » 24 мар 2010, 13:28

Разработка Gcode tools и ее обсуждение вынесены в отдельную тему: Разработка Gcode tools - плагна Inkscape для экспорта в Gкод.
Здесь будем отвечать на вопросы пользователей, вывешивать описания, новости и т.д..
Use the Console, Luke.
Аватара пользователя
Nick
Мастер
 
Сообщения: 22268
Зарегистрирован: 23 ноя 2009, 16:45
Откуда: Gatchina, Saint-Petersburg distr., Russia
Репутация: 1262
Заслуга: Developer
Медальки:

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

Сообщение mr.Iceman » 30 мар 2010, 09:51

Добрый день!

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

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

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

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

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

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

p.s. Не понял, как изображения можно вставить в сообщение.
Вложения
letter_d.svg
Векторный файл с буквой D
(3.03 Кб) Скачиваний: 1093
mr.Iceman
Новичок
 
Сообщения: 10
Зарегистрирован: 14 фев 2010, 13:39
Откуда: Москва
Репутация: 0

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

Сообщение Nick » 30 мар 2010, 10:08

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

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

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

При нажатии на нее в текст вставляется [attachment=0\]такая кнопочка.png[/attachment]
Use the Console, Luke.
Аватара пользователя
Nick
Мастер
 
Сообщения: 22268
Зарегистрирован: 23 ноя 2009, 16:45
Откуда: Gatchina, Saint-Petersburg distr., Russia
Репутация: 1262
Заслуга: Developer
Медальки:

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

Сообщение mr.Iceman » 31 мар 2010, 10:39

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

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

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


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

Заранее спасибо!
mr.Iceman
Новичок
 
Сообщения: 10
Зарегистрирован: 14 фев 2010, 13:39
Откуда: Москва
Репутация: 0

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

Сообщение Nick » 31 мар 2010, 10:55

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

Прямо сейчас мы пишем функцию (можете посмотреть в этой ветке: viewtopic.php?f=15&t=52&start=220#p380), которая по трем заданным точкам будет автоматически позиционировать вашу деталь. Немного терпения... я думаю к выходным будет готова первая версия... :)
Если у Вас есть предложения, то это будет очень полезно, пока код не написан до конца :).
Use the Console, Luke.
Аватара пользователя
Nick
Мастер
 
Сообщения: 22268
Зарегистрирован: 23 ноя 2009, 16:45
Откуда: Gatchina, Saint-Petersburg distr., Russia
Репутация: 1262
Заслуга: Developer
Медальки:

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

Сообщение Nick » 31 мар 2010, 18:51

Внимание! В версии 1.4 исправлен критический баг!
Аппроксимация кривых биарками давала не правильные результаты!
Исправленная версия в шапке.
Use the Console, Luke.
Аватара пользователя
Nick
Мастер
 
Сообщения: 22268
Зарегистрирован: 23 ноя 2009, 16:45
Откуда: Gatchina, Saint-Petersburg distr., Russia
Репутация: 1262
Заслуга: Developer
Медальки:

След.

Вернуться в LinuxCNC

Кто сейчас на конференции

Зарегистрированные пользователи: Bing [Bot], elektrik_andron, Evilmax, Google [Bot], john1987887, Majestic-12 [Bot], vladumur, Yahoo [Bot], Yandex [bot]

Поделиться

Reputation System ©'