Всего понемногу (реанимация 4 axis гравера по стеклу)

Фрезерные и гравировальные станки для обработки мягких материалов (дерево, пластики, мягкие металлы).
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: Всего понемногу (реанимация 4 axis гравера по стеклу)

Сообщение Nick »

Извини, что отвечаю поздно, вчера пил вино и решил оставить этот вопрос на сегодня :mrgreen:.

В общем я думаю надо ковырять функцию

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

def calculate_angle(a, current_a) :
         return  min(               
                  [abs(a-current_a%pi2+pi2), a+current_a-current_a%pi2+pi2],
                  [abs(a-current_a%pi2-pi2), a+current_a-current_a%pi2-pi2],
                  [abs(a-current_a%pi2),   a+current_a-current_a%pi2])[1]
я так понимаю надо убрать -current_a%pi2, т.е. убрать вычитание полных оборотов.
Посмотри, толькл чтобы правильный indent был.

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

def calculate_angle(a, current_a) :
         return  min(               
                  [abs(a-current_a%pi2+pi2), a+current_a+pi2],
                  [abs(a-current_a%pi2-pi2), a+current_a-pi2],
                  [abs(a-current_a%pi2),   a+current_a])[1]
ЗЫ я тоже пересел на python с php, и несказанно этому рад :)
Аватара пользователя
NightV
Почётный участник
Почётный участник
Сообщения: 6610
Зарегистрирован: 30 дек 2011, 09:14
Репутация: 2279
Настоящее имя: Владимир Айрапетян
Откуда: Israel
Контактная информация:

Re: Всего понемногу (реанимация 4 axis гравера по стеклу)

Сообщение NightV »

нифига не получается :roll:
как ты сказал убрать -current_a%pi2 убирал, а толку 0 потому-что current_a всегда 0 , я так понял он используется только в арках
нагородил огород что мол если а > 3.1 (или наоборот) то в код вставлялась строка компенсации, вроде заработала.
потом попробовал в рисунке повернуть квадрат под 45гр..... в коде получилась фигня...
понял что с прямыми линиями справится и сам ЕМС при включеном WRAPED_ROTARY так-как Gcodetools на прямых не выходит за рамки -+360гр.... попробовал, ИДЕАЛЬНО!!!
тоесть при WRAPED_ROTARY он чхать хотел что у меня +180 или 180, и если последнее положение было -180 а следующее +90 но он НЕ едет через ноль, а едет к 90 по короткому пути, какбутто уму сказали -270
а вот попробовал теперь круг :cheesy: выхожу за рамки 360гр...
теперь буду ковырять арки Gcodetools :freak:
Всё просто! если знаешь КАК!
Аватара пользователя
NightV
Почётный участник
Почётный участник
Сообщения: 6610
Зарегистрирован: 30 дек 2011, 09:14
Репутация: 2279
Настоящее имя: Владимир Айрапетян
Откуда: Israel
Контактная информация:

Re: Всего понемногу (реанимация 4 axis гравера по стеклу)

Сообщение NightV »

неблагодарное это занятие :roll:
wrapped_rotary снова преподнес сюрприз... тоесть выявилось неизвестное мне свойство
оказывается для него нет понятия -360 и +360гр, он всегда в позиции от 0-360, а -+ это указание в какую сторону вращаемся до нужного положения
тоесть если указали
40гр - встал в 40
если указали
41 - подвинулся на 1 градус в +
НО если опять указать 40 (по логике чтоб вернулся на 1) он поедет не обратно а в + и промотает 359гр :shock:
тоесть если хотим чтоб встал обратно в 40 нужно указать -40
вот так-та.... может кому пригодится данная инфа, а я завязываю с эксперементами :|
Всё просто! если знаешь КАК!
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: Всего понемногу (реанимация 4 axis гравера по стеклу)

Сообщение Nick »

Попробую вечером разобраться...
Аватара пользователя
NightV
Почётный участник
Почётный участник
Сообщения: 6610
Зарегистрирован: 30 дек 2011, 09:14
Репутация: 2279
Настоящее имя: Владимир Айрапетян
Откуда: Israel
Контактная информация:

Re: Всего понемногу (реанимация 4 axis гравера по стеклу)

Сообщение NightV »

вот такой код получился для компенсации набежавших оборотов
сам понимаеш что wrapped_rotary выключен

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

if si[1] == 'end':
   if current_a < 0 : a= round(current_a%-pi2,4)
   else : a= round(current_a%pi2,4)
   if fabs(a) > pi: 
     a= fabs(a)
     a= pi2-a
   if fabs(current_a%pi2) > pi: g += "G10 L20 P0 A%s"% degrees(a) + "\n"
   g += go_to_safe_distance + tool['gcode after path'] + "\n"
return g

Всё просто! если знаешь КАК!
Аватара пользователя
NightV
Почётный участник
Почётный участник
Сообщения: 6610
Зарегистрирован: 30 дек 2011, 09:14
Репутация: 2279
Настоящее имя: Владимир Айрапетян
Откуда: Israel
Контактная информация:

Re: Всего понемногу (реанимация 4 axis гравера по стеклу)

Сообщение NightV »

мучил со спиралью... на выходе набегало до 1200гр... компенсация выставляет до +-180гр (что ближе к 0)
завтра еще помучаю, но на первый взгляд вроде работает
Всё просто! если знаешь КАК!
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: Всего понемногу (реанимация 4 axis гравера по стеклу)

Сообщение Nick »

Я вот что думаю, может сделать код для wrapped, просто добавлять - или + к значению угла? Извиняюсь, что до сих пор не решил проблему. Что-то никак не сесть за нее, все из рук прямо валится....
Аватара пользователя
NightV
Почётный участник
Почётный участник
Сообщения: 6610
Зарегистрирован: 30 дек 2011, 09:14
Репутация: 2279
Настоящее имя: Владимир Айрапетян
Откуда: Israel
Контактная информация:

Re: Всего понемногу (реанимация 4 axis гравера по стеклу)

Сообщение NightV »

я тоже так решил.... вроде даже получилось.. и вот когда попробовал нарисовать спираль, круг и пару разных завитушек понял что "приплыли" :problem: разные закавыки стали вылазить с разных сторон, понял что мне пока не решить проблему настолько координально, нет опыта программирования, да и времени тоже угрохал прилично... решил пойти другим путем и вроде удачно
Всё просто! если знаешь КАК!
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: Всего понемногу (реанимация 4 axis гравера по стеклу)

Сообщение Nick »

А в какой системе координат ты работаешь? C g92 не проще будет?
Аватара пользователя
NightV
Почётный участник
Почётный участник
Сообщения: 6610
Зарегистрирован: 30 дек 2011, 09:14
Репутация: 2279
Настоящее имя: Владимир Айрапетян
Откуда: Israel
Контактная информация:

Re: Всего понемногу (реанимация 4 axis гравера по стеклу)

Сообщение NightV »

мы не ищем легких путей!!! :D да и как мне кажется, так будет правельней
Всё просто! если знаешь КАК!
Аватара пользователя
NightV
Почётный участник
Почётный участник
Сообщения: 6610
Зарегистрирован: 30 дек 2011, 09:14
Репутация: 2279
Настоящее имя: Владимир Айрапетян
Откуда: Israel
Контактная информация:

Re: Всего понемногу (реанимация 4 axis гравера по стеклу)

Сообщение NightV »

G10 L20 P0 если ты помниш, говорит о том что работать в "текущих" системах координат
хотя может ты и прав... компенсация срабатывает только в случае если мы закончили фигуру с разворотом оси больше +-180гр, тоесть срабатывает довольно часто, и использовать G92 как "временную" которая часто меняется более разумно, чем лесть в "общую" систему координат

кстате после тестов может воткнуть ее в пост-процесор в следующем дев-релизе?
очень удобно... теперь даже лого АУДИ (четыре круга подряд) рисуется без отматываний ВООБЩЕ
вот один из кругов
G00 Z 3.0000
G00 X 44.3487 Y 24.7240 A -90.0009 (Turn knife)
G01 Z -0.6000 F 150.0000(Penetrate)
G02 X 38.7259 Y 11.3402 Z -0.6000 I -18.7400 J -0.0000 F 1500.0000 A -135.5777
G02 X 24.9558 Y 5.7175 Z -0.6000 I -13.7701 J 14.0500 A -180.0017
G02 X 11.1857 Y 11.3402 Z -0.6000 I 0.0000 J 19.6728 A -224.4257
G02 X 5.5629 Y 24.7240 Z -0.6000 I 13.1172 J 13.3838 A -270.0026
G02 X 11.1857 Y 38.1078 Z -0.6000 I 18.7399 J 0.0000 A -315.5794
G02 X 24.9558 Y 43.7306 Z -0.6000 I 13.7701 J -14.0500 A -360.0034
G02 X 38.7259 Y 38.1078 Z -0.6000 I -0.0000 J -19.6728 A -404.4274
G02 X 44.3487 Y 24.7240 Z -0.6000 I -13.1172 J -13.3838 A -450.0043
G10 L20 P0 A -90.0002
G00 Z 3.0000
пара микрон не считается :roll:
Всё просто! если знаешь КАК!
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: Всего понемногу (реанимация 4 axis гравера по стеклу)

Сообщение Nick »

А ведь точно, наверное проще было бы написать пост процессор...
Тупо шерстить весь Gкод, запоминать параметр A и как только находим строчку конца subpath то добавляем "G92 A%f" %(last_a%2*pi*a_scale)
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: Всего понемногу (реанимация 4 axis гравера по стеклу)

Сообщение Nick »

Сделал пост-процессор remove_a_turns(ascale=180/pi); т.е. если у тебя ось а в градусах можно просто написать remove_a_turns();.

Надо бы его по-тестировать, для кругов он сработал...
Аватара пользователя
NightV
Почётный участник
Почётный участник
Сообщения: 6610
Зарегистрирован: 30 дек 2011, 09:14
Репутация: 2279
Настоящее имя: Владимир Айрапетян
Откуда: Israel
Контактная информация:

Re: Всего понемногу (реанимация 4 axis гравера по стеклу)

Сообщение NightV »

работает
правда не совсем понял зачем писать "subpath end" а затем его искать :think:
может просто вместо g += "(Subpath end)\n" поставить вызов процедуры
ну.. "хозяин барин" тебе виднее
Всё просто! если знаешь КАК!
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: Всего понемногу (реанимация 4 axis гравера по стеклу)

Сообщение Nick »

Чтобы не перегружать Generate Gcode и все сделать на уровне пост процессора. Там и так уже куча всего лишнего и так не разобраться без :beer: :beer: :beer: :beer: :beer: :beer: :halfbeer: :nobeer: . Надо будет переработать.....

Кстати, ты заметил теперь инструмент каждый раз не меняет :cheesy: !
Аватара пользователя
NightV
Почётный участник
Почётный участник
Сообщения: 6610
Зарегистрирован: 30 дек 2011, 09:14
Репутация: 2279
Настоящее имя: Владимир Айрапетян
Откуда: Israel
Контактная информация:

Re: Всего понемногу (реанимация 4 axis гравера по стеклу)

Сообщение NightV »

кстате да!!! не меняет!!! я это сразу заметил, спасибо :beer_blow:
Всё просто! если знаешь КАК!
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: Всего понемногу (реанимация 4 axis гравера по стеклу)

Сообщение Nick »

Да там всего 1 строчку добавить надо было, почему то мы сравнивали с предыдущим инструментом, но не обновляли его :)... Случайно наткнулся :)
Аватара пользователя
NightV
Почётный участник
Почётный участник
Сообщения: 6610
Зарегистрирован: 30 дек 2011, 09:14
Репутация: 2279
Настоящее имя: Владимир Айрапетян
Откуда: Israel
Контактная информация:

Re: Всего понемногу (реанимация 4 axis гравера по стеклу)

Сообщение NightV »

Коль, почему может делать такие "довороты"?
G03 X 196.7254 Y 314.6251 Z -0.6000 I -243.8849 J -34.6314 F 800.0000 A 103.5985
G02 X 192.4161 Y 337.9218 Z -0.6000 I 211.7077 J 51.2079 A 97.3632
G01 A 94.1789 (Turn Disk)
G03 X 189.5853 Y 369.4030 Z -0.6000 I -940.5768 J -68.7088 A 96.0993
G02 X 188.3027 Y 400.9844 Z -0.6000 I 238.8157 J 25.5154 A 88.5536
G01 A 81.9093 (Turn Disk)
G03 X 189.6031 Y 411.0928 Z -0.6000 I -379.7054 J 53.9828 A 83.4319
G02 X 191.1499 Y 421.2917 Z -0.6000 I 142.8931 J -16.4547 A 79.3219
G02 X 193.6440 Y 431.1601 Z -0.6000 I 81.7999 J -15.4249 A 72.3114
G02 X 197.8360 Y 440.5809 Z -0.6000 I 44.7759 J -14.2806 A 59.7152
G01 A 59.7714 (Turn Disk)
G02 X 201.2108 Y 444.5899 Z -0.6000 I 13.2178 J -7.7020 A 40.0472
G02 X 205.8390 Y 447.0838 Z -0.6000 I 8.3200 J -9.8990 A 16.5888

игры с "Biarc interpolation toleance" и "Maximum splitting depth"
на эти "довороты" не влияют никак :problem: "Minimum arc radius" в нуле
кстате это не "чистый" поворот, это волнистая, плавная линия (бедро тетки из файла), на кругах, спиралях их нет
рисунок-8.svg
(39.21 КБ) 837 скачиваний
Всё просто! если знаешь КАК!
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: Всего понемногу (реанимация 4 axis гравера по стеклу)

Сообщение Nick »

Бедра у этой тетки угловатые :).
В инкскейпе все потенциальные углы отображаются ромбиком, гладкие узлы - квадратиком, узлы кривой спиро - кружком. Попробуй выделить узел и понажимать на него с Ctrl.

Вот три скриншота, слева оригинальное бедро тетки, справа копия и скругленный узел, на последнем фото проглядывается угол:
(там сильное увеличение, тонкий контур и я поставил их ближе)
Снимок-4.png (2053 просмотра) <a class='original' href='./download/file.php?id=5139&mode=view' target=_blank>Загрузить оригинал (225.83 КБ)</a>
Снимок-3.png (2053 просмотра) <a class='original' href='./download/file.php?id=5140&mode=view' target=_blank>Загрузить оригинал (203.23 КБ)</a>
Снимок-2.png (2053 просмотра) <a class='original' href='./download/file.php?id=5141&mode=view' target=_blank>Загрузить оригинал (216.87 КБ)</a>
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: Всего понемногу (реанимация 4 axis гравера по стеклу)

Сообщение Nick »

Минимум arcradius не меняй - EMC2 при дуге с радиусом меньше 0.02мм не работает. Разбиение - это то насколько частей может разбиться один сегмент кривой безье, чтобы увеличить точность. На плавность контура это не влияет, т.е. можешь для декоративного стекла оставить чуть-ли не 0. Но лучше что-то не меньше 2, иначе вот такие контуры будут плохо преобразовываться:
по-очереди разбиения 0,1,2,3,4:
Вложения
Снимок-5.png (2051 просмотр) <a class='original' href='./download/file.php?id=5142&mode=view' target=_blank>Загрузить оригинал (237.69 КБ)</a>
Ответить

Вернуться в «Фрезерные станки по дереву и пластикам, гравировальные станки, роутеры»