Страница 31 из 39

Разработка Gcodetools - плагин Inkscape для экспорта в Gкод

Добавлено: 07 дек 2009, 11:39
Nick

Разработка Gcodetools

Screenshot-output.ngc - AXIS-4.png (183914 просмотров) <a class='original' href='./download/file.php?id=348&mode=view' target=_blank>Загрузить оригинал (31.64 КБ)</a>
Эта ветка посвящена разработке Gcodetools, плагина для векторного редактора Inkscape, позволяющего конвертировать кривые из Inkscape в Gкод, используя круговую и линейную интерполяцию.

Описание работы, установка, помошь и уроки по плагину можно найти в теме: Gcodetools - plug-in Inkscape для экспорта в Gcode

На данный момент ведется работа над Gcodetools 1.7

Что мы хотим увидеть в новой версии:
  • Улучшение расширения для плазменной резки
  • Добавление дополнительных опций экспорта:
  • Улучшение функции обработки площади
  • Угол заглубления
  • Расширение для сверловки

Требуются

  • Тестеры
  • Разработчики
  • Помощь в технических аспектах по работе станков и обработке материалов
  • Новые идеи

Последняя версия

Исходный код находится на launchpad.net. Получить последнюю версию при помощи bazaar можно так:

Код: Выделить всё

bzr branch lp:gcodetools
Последнюю версию можно загрузить через 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

Добавлено: 31 дек 2010, 00:30
Nick
Точно, при обработке уходит с траектории, хотя в просмотре все нормально... Наверное, что-то не так с ориентацией дуги... На праздниках разберусь.

Спасибо за баг репорт! :)

Re: Разработка Gcodetools - плагин Inkscape для экспорта в G

Добавлено: 20 янв 2011, 21:56
Unikus
Ребята,позвольте вставить свой пятак в калашный ряд.Не знаю было ли это где-то здесь.
Один раз столкнулся с проблемкой,к счастью один раз и надеюсь больше не повторится.Как то получилось ,что фреза была почти до упора засунута в цангу.И при резке,эта самая цанга по самое нехочу залезла в материал.Хорошо что по пенопласту резал,но всё равно - шороху было ... !!! :hehehe: Если бы где-то в настройках предусмотреть опцию расстояния от конца фрезы до цанги,думаю не помешало бы.
Как думаете ?

Re: Разработка Gcodetools - плагин Inkscape для экспорта в G

Добавлено: 21 янв 2011, 00:26
Nick
Расстояние до цанги фрезы не должно быть больше глубины обработки, иначе по-любому заденет :).
Хотя, если есть предложение, как это проверять/задавать - то попробуем реализовать ;).

По поводу ухода с траектории, на бумажке проверил - строчка вроде нормальная, может дело в EMC2, наверняка какой-нибудь параметр или специальный Gкод может на это повлиять.
Я запостил вопрос на сайте разработчиков EMC2, жду ответа... http://www.linuxcnc.org/component/optio ... 2/lang,ru/
Кстати, схожая ситуация появилась у человека в английской ветке форума...

Re: Разработка Gcodetools - плагин Inkscape для экспорта в G

Добавлено: 21 янв 2011, 15:52
Nick
В общем, выяснилось следующее:

Проблема в маленькой длине дуги. В EMC2, в файле interp_internal.hh задается константа, которая определяет расстояние на котором две точки считаются одинаковыми:
#define TOLERANCE_EQUAL 0.0001 /* two numbers compare EQ if the difference is less than this */

А для команд G02 и G03, заданных в режиме IJK, если начало дуги совпадает с концом, EMC2 выполняет обработку всей окружности. Еще пишут, что также будет выполняться обработка всей окружности, если |start-end|<10-5*R.

Буду писать фикс 8-) :geek: .

Re: Разработка Gcodetools - плагин Inkscape для экспорта в G

Добавлено: 21 янв 2011, 16:20
Nick
Написал фикс - дополнительная проверка в функции biarc.

Фикс доступен в Gcodetools-dev ревизия 174.

Еще раз спасибо за баг репорт!

Re: Разработка Gcodetools - плагин Inkscape для экспорта в G

Добавлено: 27 янв 2011, 22:54
Unikus
root писал(а):Расстояние до цанги фрезы не должно быть больше глубины обработки, иначе по-любому заденет :).
Хотя, если есть предложение, как это проверять/задавать - то попробуем реализовать ;).
На днях поразмышлял,если народ не поднимает такую мелочь,может и правда не нужно эту проверку? Просто быть внимательнее ... ;)

Хотя в МастерКаме,если не изменяет память ,можно было очень точно описать весь станок. :)

Re: Разработка Gcodetools - плагин Inkscape для экспорта в G

Добавлено: 27 янв 2011, 23:44
Nick
Точное описание станка, в том числе полная 3д модель может быть нужна для проверок сложного Gкода. Есть программы, которые могут проверять на возможность столкновения станка и детали.

Такая программа должна реализовать операцию булева вычитания для 3д объектов. Но блин это вычитание построить без глюков и быстро очень сложно. Поэтому, обычно, такие программы стоят много денег :hehehe:.

Re: Разработка Gcodetools - плагин Inkscape для экспорта в G

Добавлено: 28 янв 2011, 10:39
Nick
Кусок кода на С для оптимизации расстановки деталей на листе... для отладки...

Re: Разработка Gcodetools - плагин Inkscape для экспорта в G

Добавлено: 30 дек 2011, 09:59
NightV
Всем привет!
у меня специфичная проблема так как имею специфичный станок
https://www.youtube.com/watch?v=dkvfpXw8Gr0

ни в одной из известных мне САМ системах НЕТ поддержки такого инструмента :? (вертикального диска)
(4 оси XYZC + смена инструмента, на моем всего два диска, меняются пневматикой не выключая шпинделя)
брал станок для востановления (хобби), с железом и ЕМС2 (Mesa 3I22 + 7I33TA + 7I37TA*2 ) проблем пока не возникло но встал вопрос в чем готовить Gcode и тут начались пляски :think:
можно как-то организовать поддержку такого станка? в этом плане Ваш плагин будет круче чем мастеркам ;)
по идее обычный гравер НО с осью С ;)

Re: Разработка Gcodetools - плагин Inkscape для экспорта в G

Добавлено: 30 дек 2011, 12:31
Nick
Есть у нас такой инструмент - тангенциальный нож. Вот он очень похоже работает... Посмотреть бы по больше готовых работ...

При экспорте с тангенциальным ножом, постоянно контролируется поворот ножа, чтобы он был направлен строго по траектории.

Re: Разработка Gcodetools - плагин Inkscape для экспорта в G

Добавлено: 30 дек 2011, 16:56
NightV
есть примеры, работы не мои
cnc glass grooving.zip
примеры работ
(976.84 КБ) 716 скачиваний
поведение ножа очень нохоже на то что нужно НО
приведу цитату которую я писал на другом форуме
организовать компенсацию на диск в какую сторону он смотрит... тоесть когда косаемся простой фрезой у нас получается круг... а с вертикальным диском будет овал, поэтому и организована поворотная голова..
ПЛЮС в САМ должна учитыватся длинна этого овала, например есть готовая вырезаная линия, к ней с боку режем еще одну... САМ должен учесть длинну "овала" и ширину готовой линии на которую "наезжаем" и прорезать до ВНЕШНЕГО (противоположного) края готовой канавки, чтоб получился Т образный перекресток.... ну или типа того :cheesy:
можно конечно поиграться и недорисовывать (тоесть не стыковать) на определеный участок вектора, но это лишний гимор + большОй шанс ошибки = запоротое стекло.
нужно просто иметь 3 меременные в настройках инструмента: диаметр диска, толщина диска и угол заточки

Re: Разработка Gcodetools - плагин Inkscape для экспорта в G

Добавлено: 30 дек 2011, 17:55
Nick
Ну можно сделать простенький скриптик, который просто с каждого конца (+угла?) кривой отрежет кусок необходимой длинны. Такого хватит?

На сколько я понял обработка идет при постоянном заглублении?

Re: Разработка Gcodetools - плагин Inkscape для экспорта в G

Добавлено: 30 дек 2011, 19:25
NightV
нет, на острых углах диск нужно поднять, на окружностях всегда заглублен, на фотках с примерами это хорошо видно.
думаю такого скриптика хватит, а еслиб вывести гденить просто галочку (что мол использовать обрезку) а напротив окно переменной сколько обрезать былоб замечательно..
кстате у этих станков есть смена инструмента (диска)... у меня их правда всего два, и на моем переключаются меж собой просто пневматикой не вырубая шпинделя, типа грубый проход потом полировка..

немного обрисую ситуацию с САМ на таких станках.... она убогая в плане рисования, да и выпендрится не дает... например пример на ютубе что я приводил с розой он выполнен на сторонем софте но Gcode получен на родной САМ.. поэтому мелкие детали (на розе) выглядят ужастно, для художественной гравировки на таком станке нужно играться по Z, типа плавно входить и плавно выходить, типа "мозок кистью".. а не "вошел прошолся изогнулся и грубо вышел".... для такой цели нужна комбина гравировки-тангенциальный нож... может еще галочку АРТ для плавных входов выходов?
в общем обмазгуйте, может стоит добавить отдельный инструмент в tools_library, темболее что все наработки у вас есть. а я протестирую (извиняюсь за нескромность)

кстате я тут поэксперементировал с ножичком.. почему указана ось А а не С ? или для ЕМС это до фени? и просто И в ЕМС нужно назвать ось как А ? (кстате в старой Бошевской стойке которая была ось называлась "Е" ;) правда и все остальные надписи на итальянском :D )

Re: Разработка Gcodetools - плагин Inkscape для экспорта в G

Добавлено: 30 дек 2011, 19:43
Nick
NightV писал(а):кстате я тут поэксперементировал с ножичком.. почему указана ось А а не С ? или для ЕМС это до фени? и просто И в ЕМС нужно назвать ось как А ? (кстате в старой Бошевской стойке которая была ось называлась "Е" правда и все остальные надписи на итальянском )
EMC2 до фени :). Вообще по порядку оси нумеруются так XYZABCUVW, обычно xyz - первые линейные оси ABC - радиальные, относительно детали, UVW - радиальные относительно инструмента. Но это все условно.
Можно просто переделать из A в C, простым пост-процессором.

Галочку можно попробовать... Есть еще пара мыслишек, позже их опишу... (скорее всего после 3-го января, уезжаю отмечать :mrgreen: )

Re: Разработка Gcodetools - плагин Inkscape для экспорта в G

Добавлено: 30 дек 2011, 19:50
NightV
кстати ДА!!! С наступающим ВСЕХ!!! :beer_blow:
с этим станком уже про все забыл :hottabych:

Re: Разработка Gcodetools - плагин Inkscape для экспорта в G

Добавлено: 04 янв 2012, 14:53
NightV
а мысля то где? точнее мысли :think: заинтриговал блин ;)
кстате попробую сегодня вечером со старого компа достать примеры программ которые на нем выполнялись

Re: Разработка Gcodetools - плагин Inkscape для экспорта в G

Добавлено: 06 янв 2012, 00:39
Nick
Хм... идея была для начала проста - сделать скрипт или пост-процессор, который тупо отрежет с каждой из сторон готового кода по куску...
Примеры программ - это очень интересно!

Re: Разработка Gcodetools - плагин Inkscape для экспорта в G

Добавлено: 08 янв 2012, 22:17
NightV
извиняюсь за пропажу... имею секс с ПИД на станке... :crazy: причем жесткий :hehehe:
обещаные файлы примеров работавших на станке, стойка была Бош, так-что код уж очень не стандартный ;) наврядле они пригодятся. софт который там врядле запустится, он ищет ЛПТ ключик

Re: Разработка Gcodetools - плагин Inkscape для экспорта в G

Добавлено: 28 янв 2012, 14:55
Dmaster
По данной теме скажу вот что. Разрабатывать такие программы можно безособых усилий в нормальном CAM. Там можно нарисовать инструмент как таковой. ( дисковая пила к пимеру) или задать его параметры с нуля. и указать метод его отношения к механие станка ( как крепится) и вуаля.. отрисует как ХОШЬ!..

Проблема в другом.. освоить такую CAM софтину сложно, либо дорого.

Re: Разработка Gcodetools - плагин Inkscape для экспорта в G

Добавлено: 28 янв 2012, 22:10
NightV
ну вот, добрался я и до подготовки Gcode
инструмент за неимением другого "Tangent knife".
теперь вопросы по его параметрам

id Tangent knife 0001 - что значит 0001?
feed 400
penetration feed 100 - ?
depth step 100 - ?
tool change gcode (None) - ?
4th axis meaning tangent knife - вроде понятно, типа "как" работать с осью
4th axis scale 1.0 - а вот тут самое интересное, об этом ниже
4th axis offset 0 - ?

так как я применил параметр "wrapped_rotary" шкала оси стала 0-360 градусов, то на команду "G0 A370" выдает ошибку о недопустимом значении.
кротчайший путь задает САМ при создании Gcode, ЗДЕСЬ расказано как работает
теперь как мне манипулировать с "4th axis scale" и остальным чтоб получить 360 градусов