Страница 30 из 39
Разработка Gcodetools - плагин Inkscape для экспорта в Gкод
Добавлено: 07 дек 2009, 11:39
Nick
Разработка Gcodetools
Эта ветка посвящена разработке
Gcodetools, плагина для векторного редактора
Inkscape, позволяющего конвертировать кривые из Inkscape в Gкод, используя круговую и линейную интерполяцию.
Описание работы, установка, помошь и уроки по плагину можно найти в теме:
Gcodetools - plug-in Inkscape для экспорта в Gcode
На данный момент ведется работа над Gcodetools 1.7
Что мы хотим увидеть в новой версии:
- Улучшение расширения для плазменной резки
- Добавление дополнительных опций экспорта:
- Улучшение функции обработки площади
- Угол заглубления
- Расширение для сверловки
Требуются
- Тестеры
- Разработчики
- Помощь в технических аспектах по работе станков и обработке материалов
- Новые идеи
Последняя версия
Исходный код находится на launchpad.net. Получить последнюю версию при помощи bazaar можно так:
Последнюю версию можно загрузить через 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 или загрузите предыдущие ревизии.
Re: Разработка Gcodetools - плагин Inkscape для экспорта в G
Добавлено: 09 авг 2010, 12:10
Nick
Ревизия 150
Добавил функцию paramenterize в постпроцессор.
Syntax:
parameterize() - Добавляет параметеризацию Gкода.
Если в gкоде есть несколько разных Feed'ов то добавится несколько параметров, по одному для каждого feed.
Также автоматически определяется возможность делать scale по осям в зависимости от наличия G17, G18 или G19.
Например, если есть только G17, то появится два параметра:
#10 = 1 (XY Scale factor)
#11 = 1 (Z Scale factor)
А если в Gкоде присутствуют несколько разных кодов из [G17,G18,G19], то появится только один параметр:
#10 = 1 (Scale factor)
Re: Разработка Gcodetools - плагин Inkscape для экспорта в G
Добавлено: 09 авг 2010, 14:16
dormouse
надо проверить 148 rev. (количество знаков)
я так же сейчас узнаю трансляцию из G02/03 формата в тот хитрый с диаметром.
Re: Разработка Gcodetools - плагин Inkscape для экспорта в G
Добавлено: 09 авг 2010, 15:55
Nick
Для количества знаков нужно написать round(4); в Additional post processor.
Нужно будет создать стандартные постпроцессоры... Они прописываются в inx.
Re: Разработка Gcodetools - плагин Inkscape для экспорта в G
Добавлено: 11 авг 2010, 08:59
Nick
Мне кажется, что пора готовить релиз Gcodetools v.1.6!
Что было в планах по Gcodetools v.1.6:
- Расширение для токарных станков
- Расширение для плоттерной резки
- Улучшение расширения для плазменной резки
- Добавление дополнительных опций экспорта:
- Добавление функции проверки сцены:
- Выделение маленьких контуров (возможных артефактов area)
- Проверка принадлежности инструментов
- Расширение для сверловки
Что было сделано:
- Расширение для токарных станков
- Расширение для плоттерной резки
- Улучшение расширения для плазменной резки (сделано на треть)
- Добавление функции проверки сцены:
- Выделение маленьких контуров (возможных артефактов area)
- Проверка принадлежности инструментов
- Расширение для сверловки
Что не было сделано:
- Улучшение расширения для плазменной резки (не сделано на две трети)
- Добавление дополнительных опций экспорта:
Что было сделано сверх планов (было и такое
) :
- Постпроцессор
Что все таки нужно сделать до релиза Gcodetools v.1.6:
- Сделать утилиту автоматического обновления Gcodetools
Добавлено: автоматическое обновление похоже не получится, т.к. для этого нужно писать в директорию /usr/inkscape/extensions/ а туда писать может только root или администратор в винде. Т.е. универсальный метод сделать сложно. Но можно сделать метод проверки есть ли обновления.
- Написать небольшие хелпы по новой версии
- Обновить страницы с описанием для русской и английской версий
- Добавить стандартные постпроцессоры
Релиз предлагаю предварительно назначить на 20-25 августа.
Re: Разработка Gcodetools - плагин Inkscape для экспорта в G
Добавлено: 12 авг 2010, 11:37
Nick
Добавил возможность авто нумерации файлов.
Теперь если в директории есть файл output_0001.ngc, то файл будет называться output_0002.ngc потом output_0003.ngc и.т.д.
inx изменен поэтосу нужно будет выполнить python create_inx.py.
PS launchpad сейчас наmaintenance, сделаю push позже.
Re: Разработка Gcodetools - плагин Inkscape для экспорта в G
Добавлено: 12 авг 2010, 16:59
dormouse
Оказалось, что не требуется преобразовывать G02/03. Точности знаков вполне достаточно для той интерпретирующей программы.
Надо доделать идею про вставку фрагмента из файла для смены инструмента. по аналогии с footer/header. при этом надо обязательно заменять какие-то placeholders из этого файла вида @@@placeholder1@@@ на переменные из кода программы. Без этого нельзя многие вещи реализовать.
На Perl я делал так: брал список всех существующих переменных в данный момент в программе (я не знаю, доступна ли такая возможность в Python) и после этого заменял все @@@placeholder@@@ вхождениями из программы. Это весьма безопасный способ в отличие от eval выражения регэкспа и т.п.
P.S. В принципе можно будет обойтись простейшим способом - заранее задать массив и только из него делать замены. Для наших практических целей этого достаточно.
Re: Разработка Gcodetools - плагин Inkscape для экспорта в G
Добавлено: 16 авг 2010, 10:49
Nick
Надо доделать идею про вставку фрагмента из файла для смены инструмента. по аналогии с footer/header. при этом надо обязательно заменять какие-то placeholders из этого файла вида @@@placeholder1@@@ на переменные из кода программы. Без этого нельзя многие вещи реализовать.
На Perl я делал так: брал список всех существующих переменных в данный момент в программе (я не знаю, доступна ли такая возможность в Python) и после этого заменял все @@@placeholder@@@ вхождениями из программы. Это весьма безопасный способ в отличие от eval выражения регэкспа и т.п.
Не совсем понимаю как это реализовать... Чтобы вставить в код что-то вместо @@@placeholder1@@@ нужно чтобы кто-то сначала вставил сам @@@placeholder1@@@

. Кто будет его вставлять?
На счет eval вроде как все проще, в python.re нету флага eval.
А чем не подходит нынешняя реализация с параметром инструмента "tool change gcode" он потом вставляется перед каждой сменой этого инструмента, причем в него можно записать много строк.
Re: Разработка Gcodetools - плагин Inkscape для экспорта в G
Добавлено: 20 ноя 2010, 01:08
V0id
Я чтото не догнал как конвертер точки конвертирует, вроде есть соответсвующая вкладка, а в g-code никаких упоминаний не появляется.
Re: Разработка Gcodetools - плагин Inkscape для экспорта в G
Добавлено: 20 ноя 2010, 02:27
Nick
Хммм... точно не знаю, это Dormouse писал...
По идее, конвертер нужен был, чтобы из dxf точки брать...
Может если ты выделишь точки и сделаешь экспорт в Gcode, то они появятся.
Прикрепи сюда svg разберемся.
Re: Разработка Gcodetools - плагин Inkscape для экспорта в G
Добавлено: 20 ноя 2010, 04:52
V0id
Прикрепил. И еще вопрос по Inkscape: как поменять точку начала\конца в замкнутом контуре из нескольких точек?
Re: Разработка Gcodetools - плагин Inkscape для экспорта в G
Добавлено: 20 ноя 2010, 18:31
Nick
По идее, выбираешь контур, затем F2 для редактирования узлов, затем выбираешь нужный узел и нажимаешь кнопочку разбить узел на два не сязных. Тогда контур не поменяет геометрию, а начало и конец будут в нужном месте.
По svg еще посмотрю ...
Re: Разработка Gcodetools - плагин Inkscape для экспорта в G
Добавлено: 04 дек 2010, 14:55
de-nos
Выражаю благодарность авторам и всем, кто принимал участие в разработке и тестировании Gcode_tools.
Не дадите ссылочку на то, как использовать многопроходную обработку? В частности меня интересует послойная резка (т.е. выпиливание не за один раз, а за 2-3). И есть ли Gcode_tools сверловка?
Re: Разработка Gcodetools - плагин Inkscape для экспорта в G
Добавлено: 04 дек 2010, 16:10
Nick
Для многопроходной обработки задаешь заглубление в настройках инструмента (depth) и все. Программа сама создаст несколько проходов.
Сверловка есть через dfx points, но я с ней еще не разобрался

.
Re: Разработка Gcodetools - плагин Inkscape для экспорта в G
Добавлено: 16 дек 2010, 21:11
beeduino
После недельного гугления по теме Ornamental Turning попалась ссылка на Gcodetools. Очень нравится - поздравления разработчикам!
Ornamental Turning заинтересовал после просмотра вот этих роликов -
http://www.panix.com/~dgarrett/phpv1/index.php
Есть еще несколько сайтов, где на CNC оборудовании делается то, что раньше делалось на механических станках - так называемый Roseengine. В данном случае человек упоминает, что он эмулировал работу Roseengine.
Для плоской поверхности это похоже на работу инструмента Spirograph в Inkscape, а как для криволинейной боковой поверхности?
Вот ролик, показывающий оцифровку профиля -
http://www.panix.com/~dgarrett/phpv1/in ... to=probing
И сразу наложение картинки на трехмерную фигуру.
Можно ли такого результата добиться с помощью Inkscape/Gcodetools?
Re: Разработка Gcodetools - плагин Inkscape для экспорта в G
Добавлено: 16 дек 2010, 22:02
Nick
В простейшем случае все просто, если проектировать на цилиндр, то, по идее, остается та же самая прямоугольная система, только вместо оси Y - будет ось A (поворотная ось).
Но с другими поверхностями сложней. Нужно придумывать схему....... Делать проекции......
И опять же вечный вопрос интерфейса, как задавать поверхность? Как задавать точки привязки узора?
На одном из видео человек пишет, что все делается на tcl скриптах, узнать бы об этом по-подробнее...
Re: Разработка Gcodetools - плагин Inkscape для экспорта в G
Добавлено: 16 дек 2010, 22:21
beeduino
Некие скрипты есть здесь -
http://www.panix.com/~dgarrett/ngcgui/
Но это видимо не все. Вот еще патчи -
http://www.panix.com/~dgarrett/stuff/
Вот еще есть программа -
http://blog.alanbattersby.co.uk/softwar ... workbench/ - исходников похоже нет. На Ubuntu10.04 у меня запускается но графику не отрисовывает. На сайте куда то пропало оглавление - навигация усложнилась..
И вот другой вариант (без подробностей) -
http://billooms.com/resourceOTLathe.html
В других местах упоминается использование коммерческих САМ программ с поддержкой режима OT (Ornamental Turning)
Re: Разработка Gcodetools - плагин Inkscape для экспорта в G
Добавлено: 16 дек 2010, 23:45
Nick
Есть одна идея, как это все можно реализовать на связке inkscape -blender, но сейчас нет сил думать завтра все подробнее опишу....
Re: Разработка Gcodetools - плагин Inkscape для экспорта в G
Добавлено: 29 дек 2010, 19:32
de-nos
Инструмент engraving-dev неправильно формирует gcode.
В файле
делаю гравировку буквы "л", в результате шпиндель уезжает далеко за пределы детали. Вот на этой строчке:
G03 X61.191611 Y58.064341 Z-1.278559 I20592.241225 J-41151.968089
Re: Разработка Gcodetools - плагин Inkscape для экспорта в G
Добавлено: 30 дек 2010, 00:37
Nick
Хммм.... странно у меня все в пределах нормы...
Приложи свой ngc-файл.
Re: Разработка Gcodetools - плагин Inkscape для экспорта в G
Добавлено: 30 дек 2010, 00:48
de-nos
root писал(а):Хммм.... странно у меня все в пределах нормы...
output.ngc
Приложи свой ngc-файл.
Попробуй его исполнить. На 43 строке должно проявиться.
Твой ngc-файл у меня также исполняется (шпиндель уезжает за пределы).