G-код для 4 осевой пенорезки. Софт умеющий поддерживать постоянную скорость реза.

Hauora
Podnebesny:

Поясните пожалуйста. В каком редакторе делали, что получается поподробнее.

Скрипт на питоне, вычисляющий для каждого шага в G коде реальную скорость реза с учетом ширины и положения детали. Там все просто как лом.

Podnebesny:

Проблема чрезмерного прожига со стороны меньшей траектории актуальна

Ну… я до этого еще не дошел 😃 бОльшая сторона сначала. А потом уже с меньшей воевать. бОльшую сторону можно победить обработкой гкода. а вот меньшую, увы нужно самому генерить пути реза.
Проблема не в большой конусности. А в переменной конусности на детали. т. е. вырезать усеченный конус - не особо сложная задача. Худо-бедно ее решает и мастеркам и dev foam. А вот вырезать половинку усеченного конуса не умеет никто.

Podnebesny:

Именно так.

Это чудовищно 😃

Podnebesny

начало и конец траектории необходимо расположить ближе к началу координат или прямо в начало координат, т.е туда, откуда начинается рез и где заканчивается рез. Как-то так.

Hauora:

бОльшую сторону можно победить обработкой гкода.

Т.е. Ваш скрипт добавляет в каждую строчку кода определенную для этого шага скорость?

Hauora

А как же нестинг, расположение листа с нестингом на заготовке, учет направления реза относительно вектора гравитации? Я признаться грешил на свои кривые руки, что у меня ничего из этих функций в мастеркаме с электроэрозией не работает.

Podnebesny:

Т.е. Ваш скрипт добавляет в каждую строчку кода определенную для этого шага скорость?

Именно так. КОнечная цель - одинаковое время реза для цилиндра и для усеченного конуса с основанием равным диаметру цилиндра. И вообще для любых деталей с одинаковой длинной периметра по больше стороне, независимо от формы

Podnebesny

Нестинг позволяет рационально разместить Ваши детали на заготовке с заданными размерами, не более.

Hauora:

учет направления реза относительно вектора гравитации

Такое там тоже есть???😃

Hauora
Podnebesny:

Такое там тоже есть???😃

В мастеркаме нет. В делькаме, например, есть. Правда опять, таки для электроэрозионного станка.

Podnebesny:

Нестинг позволяет рационально разместить Ваши детали на заготовке с заданными размерами, не более.

Вестимо так. Без нестинга с соединением деталек вручную, пиление превращается в адЪ.

Podnebesny

Да, да!
И при этом получаются адские самолеты! 😃

Евген, Вы используете Mach3?

Hauora
Podnebesny:

И при этом получаются адские самолеты! 😃

Они самые 😃
Но, извините меня, Вы знаете и я знаю, сколько человеко-часов ушло на подготовку. И насколько полученный результат переносим, например, на разного размера заготовки. Красивая работа. Слов нет. Но штучная. И при этом, что самое обидное, сделать то же самое при помощи принтера, лобзика, ножика и шкурки не в пример быстрее.

Podnebesny

Позвольте с Вами не согласиться. Я не пытаюсь Вас ни в чем убеждать, но все не так страшно.
А почему Вы решили сначала бороться с БОльшей траекторией? Что было неправильно?

Hauora
Podnebesny:

Я не пытаюсь Вас ни в чем убеждать

А меня не надо убеждать. Я просто ищу софт, позволяющий работать с пенорезкой так же удобно и непринужденно как с фрезером. Тот же мастеркам, коим я с удовольствием пользуюсь для фрезера, вызывает только слезы и боль, когда пытаюсь использовать для пенорезки.

Podnebesny:

А почему Вы решили сначала бороться с БОльшей траекторией? Что было неправильно?

Ширина реза зависит от скорости перемещения инструмента в материале. Если скорость разная, то и ширина разная. Результат - у конуса и цилиндра, например, при одинаковом основании нужно задавать либо разную компенсацию прожига, либо разную скорость. Иначе диаметры не совпадают. А если деталь имеет переменную конусность, то вообще никаким образом, кроме как перечерчиванием детали нельзя добиться попадания в размер по всем направлениям. Я по-привычке грешил на свои кривые руки, пока не додумался до того, что скорость реза ни одна программа правильно не считает. В общем это деля я победил. А что касаемо пережога по короткой стороне, то тут на 100% победить можно только генерируя траекторию менее тупую, чем обход контура. А частично я лечу уменьшением температуры реза и соотвественно подаче. Уточню отдельно не ширину реза по короткой стороне, а именно пережог. т. е. когда ширина реза становится неровной, и появляются вогнутость и каверны на поверхности. А сама компенсация устанавливается отдельно для длинной и для короткой стороны (я пользую devfoam там есть такое). Вообще говоря, уменьшение температуры реза кардинально повышает точность. Но скорости подачи неприличные становятся. 50-60 мм в минуту - совсем тоскливо.

Podnebesny

Если я правильно понял, то скрипт в каждом шаге генерирует некую скорость, при которой и на Большей стороне струна не отстает, и на Меньшей стороне пережог уменьшается. Так?

Hauora

При которой на большей стороне скорость прожига всегда одинакова и равна изначально заданной в коде. Вернее я бы сказал не на большей стороне а на большем отрезке каждого шага. т. е. скорость реза в любой момент времени по хотя бы одной из сторон равна изначально установленной. Ну и на меньшей стороне пережог тоже уменьшается за счет общего увеличения скорости. Но это скорее приятный побочный эффект 😃
Как ведь код то сгенеренный выглядит обычно? где-то в начале F120 например и все. Дальше только координаты перемещений. Соотвественно на станке имеем не постоянную скорость реза по детали а постоянную скорость перемещения башни по большей стороне.

Podnebesny

Все правильно. А не пробовали сделать так, чтобы скорость на Меньшей стороне равнялась изначально заданной? Вероятно, в этом случае прожиг на Меньшей стороне вообще уйдет, но на Большей стороне траектория будет сильно искажена из-за задержки струны.

Hauora

Так ведь скорость реза всегда максимально возможная для конкретной температуры. Смысл то резать с меньшей скоростью? Брак будет. Я тут еще подумываю на счет толстой струной попробовать резать. За счет натяжения можно немного скорость поднять. У меня сейчас натяжение в районе 10-15 килограмм. Это предел для 0.3 мм. Миллиметровую струну можно сильнее натянуть. Только материала нет под руками. Это нихром нужен. Сталь уже не пойдет. Хотя я читал, что народ вообще струну между башнями с усилием в 1-2 килограмма натягивает и режет с подачами по 200-250 мм в минуту. Как?
Насколько все было просто с фрезером, настолько все сложно с пенорезкой 😦

Podnebesny
Hauora:

Так ведь скорость реза всегда максимально возможная для конкретной температуры. Смысл то резать с меньшей скоростью

Я имею ввиду- 1.определить максимальную скорость F резки для данной температуры. 2.задать эту скорость как минимальную для каждого шага (для короткой траектории). При этом, конечно, скорость резки по большой траектории будет больше, чем F. Так не пробовали?

Hauora:

У меня сейчас натяжение в районе 10-15 килограмм. Это предел для 0.3 мм

Я тоже так делал раньше. Сейчас натяжение 300 грамм, струна 0,1 нихром. Продается в интернет-магазинах комплектующих для электронных сигарет.

Скорость 350 мм/мин. Ток 0,3 А

Hauora
Podnebesny:

Я имею ввиду- 1.определить максимальную скорость F резки для данной температуры. 2.задать эту скорость как минимальную для каждого шага (для короткой траектории). При этом, конечно, скорость резки по большой траектории будет больше, чем F. Так не пробовали?

Це буде лажа. Так как скорости реза по сторонам на сложной детали отличаются в 3-4 раза. Так что все расчеты строго по длинному резу. А короткий, как получится.

Podnebesny:

Я тоже так делал раньше. Сейчас натяжение 300 грамм, струна 0,1 нихром.

А температура ориентировочно какая? Больше 200?

Podnebesny

Не мерял, не могу сказать. Но 0,1мм по сравнению с 0,3 мм это небо и земля.
Ток подбирал эмпирически.

Hauora

А принцип подбора температуры такой же? Чтоб сопельки тянулись за струной? И какая получается ориентировочно ширина реза?

Podnebesny

Принцип подбора такой же. Ширина реза…

Наверное, где-то 0,3-0,5мм.

Ширина реза в зависимости от траектории, может быть больше.
Ваш скрипт работает с кодом, полученным из mastercam?

Hauora

С кодом от devfoam. Но в принципе разницы особой нету. Если в каждую команду генерируются все 4 координаты, то без проблем. Если же частичным набором координат , то надо дописывать логику.
Вот, например, кусочек исходного кода :

N130G1X0.0000Y0.0000A0.0000B0.0000F140.0000
N135G1X9.9623Y36.4687A125.0756B106.8000
N140G1X9.6388Y38.9618A124.9646B105.4796
N145G1X9.1970Y41.3805A125.0021B104.2639

а вот, что получается

G1X9.9623Y36.4687A125.0756B106.8F165.123751891
G1X9.6388Y38.9618A124.9646B105.4796F168.602278704
G1X9.197Y41.3805A125.0021B104.2639F170.810893552

Podnebesny:

Наверное, где-то 0,3-0,5мм.

Ну да. У меня посуровее ширина выходит. раза в три 😃

rage-nsk

Извините, что вмешиваюсь, тоже собираюсь делать пенорезку. Уже все есть, только руки не доходят.
Но вот читаю ваши проблемы и не понимаю, как вы собираетесь добиться одинаковой скорости реза на отрезках разной длинны? Это же в принципе не возможно. В любом случае по короткой стороне струна будет медленнее идти.
Я бы наверное посмотрел в сторону задания разной толщины реза в зависимости от скорости при генерации траектории.

Hauora
rage-nsk:

как вы собираетесь добиться одинаковой скорости реза на отрезках разной длинны? Это же в принципе не возможно

У нас в дискуссии речь идет о достижении постоянной скорости реза на одной стороне. А что касаемо оинаковой скорости реза сразу для двух сторон, так это не особо критично. Вопрос не в том, чтобы скорость реза была одинаковой, а в том, чтобы она не отличалась от расчетной.

Podnebesny:

Не мерял, не могу сказать. Но 0,1мм по сравнению с 0,3 мм это небо и земля.

Купил 0.12 Натянул в лук. Режет интересно, но совсем не похоже на то, как с толстой струной. Нужно заново все шаманить 😃
Плюс искать блок питания могучий. На коротком луке ( 30 см ) я 24 вольта пустил и тех с трудом трудом . 12 вольт вообще не греется. А стальную я 30 см. от 5 вольт гонял через регулятор 😃
На длинный луч нужно вольт на 70-80 блок питания и регулятор думать.
Но таки да. Рез приятный. Хотя за подачу в 350 пока не соглашусь. Мне кажется, что 120-150 с соответствующей температурой будет самое то. Эксперимент покажет.
За идею, где проволоку приобрести, отдельное спасибо!

rage-nsk:

Я бы наверное посмотрел в сторону задания разной толщины реза в зависимости от скорости при генерации траектории.

Размечтались 😃
Максимум, есть софт, позволяющий указать на правую-левую башни разную компенсацию. Собствено говоря корень всех проблем - отсустсвие полноценного постпроцессора под пенорезку