Экспорт в Gкод из inkscape

Обсуждение софта, программ, постпроцессоров...

Модератор: life

Ответить
Nick
Станкостроитель
Станкостроитель
Сообщения: 17
Зарегистрирован: 28 янв 2010, 01:00
Контактная информация:

Экспорт в Gкод из inkscape

Сообщение Nick »

Я переписал плагин Inkscape для экспорта векторной графики в Gкод, и хочу им поделиться :).

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

Inkscape поддерживает расширения. Мое расширение позволяет экспортировать произвольные контуры в Gкод без дополнительных телодвижений. Т.е. вы можете скачать рисунок в svg, и практически сразу начать резать его на станке :). (SVG - открытый формат векторной графики, поддерживаемый большинством браузеров) см например: wikimedia 1, wikimedia 2

Мой плагин хорош тем, что интерполирует контуры не ломаными линиями, а биарками, что позволяет получать плавные контуры при малом количестве контрольных узлов, и соответственно строчек готового кода. (см примеры.)

Ипользование Inkscape хорошо тем, что в интернете есть много готовой графики, которую можно очень просто перевести в Gкод для использования на станке (см примеры). Также инкскейп дает богатейшие возможности для форматирования контуров. Наличие плагинов существенно облегчает работу, например шестеренки из примеров я сделал за 3 минуты при помощи плагина. Использование векторной графики позволяет масштабировать рисунки до любого размера без потери качества.

Inkscape и его плагины распространяются под лицензией GPL, т.е. бесплатно! Inkscape кросплатформенный редактор - идет как под Линух, так и под Винду и Макось.

Подробная информация по плагину и примеры создания и конвертации в Gкод здесь: http://www.cnc-club.ru/forum/viewtopic.php?f=15&t=34

Вот пара примеров (красные линии - прямые (G01), синие и зеленые - дуги (G02 и G03)):
Изображение
Изображение
Изображение
andruxoidus
Станкостроитель
Станкостроитель
Сообщения: 451
Зарегистрирован: 19 дек 2009, 01:00
Откуда: UA
Контактная информация:

Сообщение andruxoidus »

так а сам плугин я так понимаю только пол линукс идет? есть возможность его в винде использовать?
Nick
Станкостроитель
Станкостроитель
Сообщения: 17
Зарегистрирован: 28 янв 2010, 01:00
Контактная информация:

Сообщение Nick »

По идее должен под виндой идти.
Нужно уточнить в на сайте инкскейпа...

Обычно все выглядит так - плагин это скрипт на питоне, инкскейп тупо передает весь svg и параметры ему, скрипт все преобразует и выдает готовый svg.

Тебе будет нужен python и возможно некоторые его модули.
Еще вопрос куда пихать сам плагин?
Если у тебя стоит inkscape под Винду, глянь где у него папка с расширениями. Должна называться "extensions" также можешь поискать например 'addnodes.py'.
Serg
Станкостроитель
Станкостроитель
Сообщения: 628
Зарегистрирован: 10 янв 2010, 01:00
Откуда: Украина, Львов

Сообщение Serg »

O ! Спасибо :)

  Не в тему:   А я как раз искал свободный аналог корела под никс на работу :)
А из автокадо-подобных автор может чего подсказать ? желательно с функционалом автокада и полной совместимостью в обе стороны :)
Gentoo way
Аватара пользователя
pomidor
Станкостроитель
Станкостроитель
Сообщения: 166
Зарегистрирован: 06 дек 2009, 01:00

Сообщение pomidor »

в виндовзе копировать gcode_tools.inx и gcode_tools.py в
\Inkscape\share\extensions\
под хп работает, правда питон был, зачем-то давно ставил
Nick
Станкостроитель
Станкостроитель
Сообщения: 17
Зарегистрирован: 28 янв 2010, 01:00
Контактная информация:

Сообщение Nick »

\Inkscape это у тебя установочный каталог?

Ребят, кто попробовал и у кого заработало/не заработало, если не сложно отпишитесь какая система и версия инкскейпа.

ЗЫ Питон мог сам инкскейп поставить, у него много экстеншенов которые на него завязаны.
Аватара пользователя
pomidor
Станкостроитель
Станкостроитель
Сообщения: 166
Зарегистрирован: 06 дек 2009, 01:00

Сообщение pomidor »

ну, в смысле C:\Program Files\Inkscape\... - куда в виндовзе по умолчанию ставится. А питон был до этого, попробую на беспитонном поставить.
инкскейп последний стабильный на вчерашний день, до этого о его существовании не подозревал :)
Nick
Станкостроитель
Станкостроитель
Сообщения: 17
Зарегистрирован: 28 янв 2010, 01:00
Контактная информация:

Сообщение Nick »

Serg писал(а):
  Не в тему:   
А из автокадо-подобных автор может чего подсказать ? желательно с функционалом автокада и полной совместимостью в обе стороны :)
Оффа я не заметил :)
А что конкретно интересует от автокада? Какие функции? Я если честно с ним никогда не работал, конкретных функций не знаю (особенно учитывая что всяких кадов до дури). (Он хотябы 2д или 3д, в нем только рисуют или еще расчеты делают.)

PS Инкскейп умеет открывать/сохранять в dxf.

Pss вот две ссылочки глянь...
http://sourceforge.net/apps/mediawiki/f ... =Main_Page
http://www.opencascade.org/
Аватара пользователя
zas-65
Станкостроитель
Станкостроитель
Сообщения: 60
Зарегистрирован: 16 дек 2009, 01:00
Откуда: Мос обл
Контактная информация:

Сообщение zas-65 »

На Win-7 встала без проблем. :dance:
Nick
Станкостроитель
Станкостроитель
Сообщения: 17
Зарегистрирован: 28 янв 2010, 01:00
Контактная информация:

Сообщение Nick »

А какая версия Inkscape 0.47?
Аватара пользователя
zas-65
Станкостроитель
Станкостроитель
Сообщения: 60
Зарегистрирован: 16 дек 2009, 01:00
Откуда: Мос обл
Контактная информация:

Сообщение zas-65 »

Да 0,47.
Nick
Станкостроитель
Станкостроитель
Сообщения: 17
Зарегистрирован: 28 янв 2010, 01:00
Контактная информация:

Сообщение Nick »

Привет всем!
Вышла новая версия Gcode Tools!

Что нового:
1. Сильно поменялся интерфейс, все функции должны стать понятнее.
2. Теперь при аппроксимации кривой рассчитывается ошибка аппроксимации и в случае необходимости кривая автоматически разбивается. Нужно только задать два параметра: допуск и максимальную глубину разбиения.
3. Убрана функция Area to Gcode т.к. она глючила и сильно тормозила, вместо нее нужно пользоваться связкой Calculate Area curves и Path to Gcode.
4. Добавлена простенькая оптимизация холостого прохода.

Новая версия Gcode tools в шапке этой темы:
http://www.cnc-club.ru/forum/viewtopic.php?f=15&t=34
Мануал к новой версии:
http://www.cnc-club.ru/forum/viewtopic. ... p=143#p143

В разработке пока находится функция гравировки и лофта.
На рисунке показано приемущество новой версии:
хммм что-то картинка у меня не вставляется... в общем рисунок здесь:
http://www.cnc-club.ru/forum/download/f ... &mode=view
Nick
Станкостроитель
Станкостроитель
Сообщения: 17
Зарегистрирован: 28 янв 2010, 01:00
Контактная информация:

Сообщение Nick »

Вышла очередная версия Gcodetools v 1.6!

Среди новых функций:
  • Обработка на токарных станках
    Расчет траектории, выполнение чистовых проходов, произвольное заглубление и количество чистовых проходов, две различные функции вычисления чистовых проходов.
  • Гравировка
    Расчет траектории для обработки фигурными фрезами.
  • Библиотека инструментов
    Хранит данные об режущих инструментах внутри рисунка. Позволяет выполнять обработку со сменой инструмента.
  • Система ориентации
    По двум или трем произвольным точкам выполняет масштабирование, перемещение и поворот исходных кривых.
  • Постпроцессор
    Позволяет адаптировать Gкод для специфических станков.
Загрузить Gcodetools можно здесь: http://www.cnc-club.ru/gcodetoolsru#latest_version
Аватара пользователя
Baha
Станкостроитель
Станкостроитель
Сообщения: 1401
Зарегистрирован: 05 фев 2010, 01:00
Откуда: Москва-Тараз

Сообщение Baha »

Nick,
а можете сделать плагин для гильоша, что бы еще визуализация была?

А почему часть меню на русском, часть на английском? Нельзя сделать что бы было на одном языке, лучше на русском.
Nick
Станкостроитель
Станкостроитель
Сообщения: 17
Зарегистрирован: 28 янв 2010, 01:00
Контактная информация:

Сообщение Nick »

Что такое гильош?

По поводу меню, в Linux есть система "локалей" которая отвечает в том числе и за переводы приложений. Интерфейс расширений генерируется через Inkscape, на данный момент Gcodetools не входит в состав Inkscape, хотя мы планируем его туда пропихнуть. Поэтому некоторые термины, которые встречаются в Inkscape уже переведены, а те которые нет - нет.
Можно сделать, чтобы все было на английском. Какая у Вас система? Windows или linux?
Аватара пользователя
Baha
Станкостроитель
Станкостроитель
Сообщения: 1401
Зарегистрирован: 05 фев 2010, 01:00
Откуда: Москва-Тараз

Сообщение Baha »

Nick,
http://ru.wikipedia.org/wiki/%D0%93%D0% ... 0%BE%D1%88

http://images.yandex.ru/yandsearch?text ... type=image

кривая (вектор) которая изменяется по определенной функций на плоскости XY, при этом Z тоже меняется в зависимости от этой функций, или другой функций, чередуется и повторяется.

У меня Windows.
Nick
Станкостроитель
Станкостроитель
Сообщения: 17
Зарегистрирован: 28 янв 2010, 01:00
Контактная информация:

Сообщение Nick »

Для винды, чтобы запустить на английском нужно создать bat файл с таким содержанием
@set LANG=de_DE
@start inkscape.exe
и запустить его.

По поводу гильоша - функции и способы их задания в студию! Я думаю, что если функции заранее заданы, то все будет просто.
Аватара пользователя
Baha
Станкостроитель
Станкостроитель
Сообщения: 1401
Зарегистрирован: 05 фев 2010, 01:00
Откуда: Москва-Тараз

Сообщение Baha »

Для начала возьмем простейшие функций, тригонометрические, хотя бы синус.
http://ru.wikipedia.org/wiki/%D0%A2%D1% ... 0%B8%D0%B8
http://www.terver.ru/sinusoida.php
http://m.habrahabr.ru/post/82614/


Должно получиться что то типа такого:
Изображение
Изображение
Изображение
Изображение
Nick
Станкостроитель
Станкостроитель
Сообщения: 17
Зарегистрирован: 28 янв 2010, 01:00
Контактная информация:

Сообщение Nick »

Ну что такое синус я знаю :).

Второй рисунок похож на
x = sin (t) + t + k*t1
y = t + k*t1
Первая примерно тоже самое только с небольшим random.
Третья хрен знает что.
Четвертая кстати тоже.

Вопрос как все это описать, чтобы было универсально ?

Я могу задать функции x,y и z от любых операторов и с любыми математическими функциями. Вопрос как сделать это понятным?
Аватара пользователя
Baha
Станкостроитель
Станкостроитель
Сообщения: 1401
Зарегистрирован: 05 фев 2010, 01:00
Откуда: Москва-Тараз

Сообщение Baha »

Nick,
Тут главная идея что бы Z ходил то же по функций, той же что в плоскости XY, или отличной.
Это видно как раз на четвертом рисунке, по XY просто чередующийся синус по всей поверхности А Z тоже подобие синуса, только более пологий и по фазе относительно XY смещен на четверт, в начале поверхность была черная, и толстые черные засечки показывают что здесь фреза поднималась на максимум.

Описание, думаю примерно так, два блока, один для XY, другой для Z: заполнить плоскость линиями, шагом и функцией, наложением, сдвигом, переменные функций и т.д.

http://www.compuart.ru/article.aspx?id=9366&part=11ext1
http://www.compuart.ru/article.aspx?id=9366&part=21ext1
http://www.compuart.ru/article.aspx?id=9366&part=31ext1
Nick
Станкостроитель
Станкостроитель
Сообщения: 17
Зарегистрирован: 28 янв 2010, 01:00
Контактная информация:

Сообщение Nick »

В inkscape есть такой экстеншн который рисует параметрические кривые.
Можно для начала с ним по-баловаться. Готовую кривую можно экспортить в Gкод использую Gcodetools.

http://www.cnc-club.ru/forum/viewtopic. ... p=985#p985
Аватара пользователя
Baha
Станкостроитель
Станкостроитель
Сообщения: 1401
Зарегистрирован: 05 фев 2010, 01:00
Откуда: Москва-Тараз

Сообщение Baha »

Nick,
Думаю что ты не понял, любую кривую в любом пакете можно нарисовать на плоскости XY, а вот что бы Z тоже плавал такого нет, и к тому же с визуализацией.
Nick
Станкостроитель
Станкостроитель
Сообщения: 17
Зарегистрирован: 28 янв 2010, 01:00
Контактная информация:

Сообщение Nick »

Это я понял, если у нас есть кривая заданная параметрически
x = F(t)
y = G(t)
то сделать чтобы она плавала по Z проще простого: добавляем
z = H(t) и все.

Мне нужно найти функции, которые задают хороший гильош, чтобы понимать, как описать интерфейс и какие возможности нужно реализовывать.

В принципе можно хранить эти функции в отдельных файлах, которые будут содержать скрипты на python. Тогда я могу генерировать Gcode практически сейчас.

Еще раз повторюсь нужны конкретные функции.

На счет визуализации это вопрос... Я могу достаточно просто сделать визуализацию как на картинке 4 не более...
Nick
Станкостроитель
Станкостроитель
Сообщения: 17
Зарегистрирован: 28 янв 2010, 01:00
Контактная информация:

Сообщение Nick »

Ну так как на счет функций?

Если будут функции могу скинуть примерный Gкод, чтобы ты оценил, стоит дальше этим заниматься или нет.
Аватара пользователя
Unikus
Станкостроитель
Станкостроитель
Сообщения: 13
Зарегистрирован: 06 июн 2010, 00:00

Сообщение Unikus »

Чёт непонятно,кинул файл gcode_tols.inx куда надо,только в экстешне самого Инкскайпа этой функции нет :no: .Чего не так?

Файла gcode_tools.py нетути
Nick
Станкостроитель
Станкостроитель
Сообщения: 17
Зарегистрирован: 28 янв 2010, 01:00
Контактная информация:

Сообщение Nick »

Нужно не только inx, нужны все файлы из архива.

Т.е. около 10-ти inx и один .py.

Если качать версию dev, то нужно предварительно запустить скрипт create_inx.py, он создаст около десятка inx-ов.
Ответить