Экспорт в Gкод из inkscape
Модератор: life
Экспорт в Gкод из inkscape
Я переписал плагин 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)):
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)):
-
- Станкостроитель
- Сообщения: 451
- Зарегистрирован: 19 дек 2009, 01:00
- Откуда: UA
- Контактная информация:
По идее должен под виндой идти.
Нужно уточнить в на сайте инкскейпа...
Обычно все выглядит так - плагин это скрипт на питоне, инкскейп тупо передает весь svg и параметры ему, скрипт все преобразует и выдает готовый svg.
Тебе будет нужен python и возможно некоторые его модули.
Еще вопрос куда пихать сам плагин?
Если у тебя стоит inkscape под Винду, глянь где у него папка с расширениями. Должна называться "extensions" также можешь поискать например 'addnodes.py'.
Нужно уточнить в на сайте инкскейпа...
Обычно все выглядит так - плагин это скрипт на питоне, инкскейп тупо передает весь svg и параметры ему, скрипт все преобразует и выдает готовый svg.
Тебе будет нужен python и возможно некоторые его модули.
Еще вопрос куда пихать сам плагин?
Если у тебя стоит inkscape под Винду, глянь где у него папка с расширениями. Должна называться "extensions" также можешь поискать например 'addnodes.py'.
Оффа я не заметилSerg писал(а):Не в тему:
А из автокадо-подобных автор может чего подсказать ? желательно с функционалом автокада и полной совместимостью в обе стороны
А что конкретно интересует от автокада? Какие функции? Я если честно с ним никогда не работал, конкретных функций не знаю (особенно учитывая что всяких кадов до дури). (Он хотябы 2д или 3д, в нем только рисуют или еще расчеты делают.)
PS Инкскейп умеет открывать/сохранять в dxf.
Pss вот две ссылочки глянь...
http://sourceforge.net/apps/mediawiki/f ... =Main_Page
http://www.opencascade.org/
Привет всем!
Вышла новая версия 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
Вышла новая версия 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
Вышла очередная версия Gcodetools v 1.6!
Среди новых функций:
Среди новых функций:
- Обработка на токарных станках
Расчет траектории, выполнение чистовых проходов, произвольное заглубление и количество чистовых проходов, две различные функции вычисления чистовых проходов. - Гравировка
Расчет траектории для обработки фигурными фрезами. - Библиотека инструментов
Хранит данные об режущих инструментах внутри рисунка. Позволяет выполнять обработку со сменой инструмента. - Система ориентации
По двум или трем произвольным точкам выполняет масштабирование, перемещение и поворот исходных кривых. - Постпроцессор
Позволяет адаптировать Gкод для специфических станков.
Что такое гильош?
По поводу меню, в Linux есть система "локалей" которая отвечает в том числе и за переводы приложений. Интерфейс расширений генерируется через Inkscape, на данный момент Gcodetools не входит в состав Inkscape, хотя мы планируем его туда пропихнуть. Поэтому некоторые термины, которые встречаются в Inkscape уже переведены, а те которые нет - нет.
Можно сделать, чтобы все было на английском. Какая у Вас система? Windows или linux?
По поводу меню, в Linux есть система "локалей" которая отвечает в том числе и за переводы приложений. Интерфейс расширений генерируется через Inkscape, на данный момент Gcodetools не входит в состав Inkscape, хотя мы планируем его туда пропихнуть. Поэтому некоторые термины, которые встречаются в Inkscape уже переведены, а те которые нет - нет.
Можно сделать, чтобы все было на английском. Какая у Вас система? Windows или linux?
Nick,
http://ru.wikipedia.org/wiki/%D0%93%D0% ... 0%BE%D1%88
http://images.yandex.ru/yandsearch?text ... type=image
кривая (вектор) которая изменяется по определенной функций на плоскости XY, при этом Z тоже меняется в зависимости от этой функций, или другой функций, чередуется и повторяется.
У меня Windows.
http://ru.wikipedia.org/wiki/%D0%93%D0% ... 0%BE%D1%88
http://images.yandex.ru/yandsearch?text ... type=image
кривая (вектор) которая изменяется по определенной функций на плоскости XY, при этом Z тоже меняется в зависимости от этой функций, или другой функций, чередуется и повторяется.
У меня Windows.
Для начала возьмем простейшие функций, тригонометрические, хотя бы синус.
http://ru.wikipedia.org/wiki/%D0%A2%D1% ... 0%B8%D0%B8
http://www.terver.ru/sinusoida.php
http://m.habrahabr.ru/post/82614/
Должно получиться что то типа такого:
http://ru.wikipedia.org/wiki/%D0%A2%D1% ... 0%B8%D0%B8
http://www.terver.ru/sinusoida.php
http://m.habrahabr.ru/post/82614/
Должно получиться что то типа такого:
Ну что такое синус я знаю .
Второй рисунок похож на
x = sin (t) + t + k*t1
y = t + k*t1
Первая примерно тоже самое только с небольшим random.
Третья хрен знает что.
Четвертая кстати тоже.
Вопрос как все это описать, чтобы было универсально ?
Я могу задать функции x,y и z от любых операторов и с любыми математическими функциями. Вопрос как сделать это понятным?
Второй рисунок похож на
x = sin (t) + t + k*t1
y = t + k*t1
Первая примерно тоже самое только с небольшим random.
Третья хрен знает что.
Четвертая кстати тоже.
Вопрос как все это описать, чтобы было универсально ?
Я могу задать функции x,y и z от любых операторов и с любыми математическими функциями. Вопрос как сделать это понятным?
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
Тут главная идея что бы 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
В inkscape есть такой экстеншн который рисует параметрические кривые.
Можно для начала с ним по-баловаться. Готовую кривую можно экспортить в Gкод использую Gcodetools.
http://www.cnc-club.ru/forum/viewtopic. ... p=985#p985
Можно для начала с ним по-баловаться. Готовую кривую можно экспортить в Gкод использую Gcodetools.
http://www.cnc-club.ru/forum/viewtopic. ... p=985#p985
Это я понял, если у нас есть кривая заданная параметрически
x = F(t)
y = G(t)
то сделать чтобы она плавала по Z проще простого: добавляем
z = H(t) и все.
Мне нужно найти функции, которые задают хороший гильош, чтобы понимать, как описать интерфейс и какие возможности нужно реализовывать.
В принципе можно хранить эти функции в отдельных файлах, которые будут содержать скрипты на python. Тогда я могу генерировать Gcode практически сейчас.
Еще раз повторюсь нужны конкретные функции.
На счет визуализации это вопрос... Я могу достаточно просто сделать визуализацию как на картинке 4 не более...
x = F(t)
y = G(t)
то сделать чтобы она плавала по Z проще простого: добавляем
z = H(t) и все.
Мне нужно найти функции, которые задают хороший гильош, чтобы понимать, как описать интерфейс и какие возможности нужно реализовывать.
В принципе можно хранить эти функции в отдельных файлах, которые будут содержать скрипты на python. Тогда я могу генерировать Gcode практически сейчас.
Еще раз повторюсь нужны конкретные функции.
На счет визуализации это вопрос... Я могу достаточно просто сделать визуализацию как на картинке 4 не более...