Отойти на безопасную высоту можно и в самой программе Powermill . Там есть безопасные высоты , например по цилиндру
Да, я знаю об этом. Но тут следующие моменты:
Мы имеем конкретную заготовку и строим траектории. Например 3Д выборка черновая. Сначала с одной стороны, затем 180 градусов. Так вот в этих траекториях безопасные высоты просчитаны относительно заготовки. Делать их иными - не правильно ибо сильно замедлит обработку траектории. И если при обработке закончили одну траекторию и переходим к другой на 180 градусов (а фреза все го лишь на безопасной высоте) - происходит зарез. Уже и фрезу поломал так и заготовку испортил.
Сейчас для разворота я использую отдельную траекторию (по шаблону дуги). И этот способ работает. Но! Это лишняя работа и лишнее звено в котором можно ошибиться или например забыть вставить этот поворот в NC файл.
Поэтому я и подумал, а что если в начало каждой траектории добавить условие:
Если меняется А то выполнить
G53 Z0
Axxx
Без условия и сейчас можно добавить и оно даже работает. Но опять же...
Не всегда при смене траектории происходит смена позиции А.
Т.е. задача сузилась до определения изменения А на более чем хх градусов.
В посте вижу условный оператор. Его синтаксис пока не совсем понятен
if(%p(Fixture Offset Type)%==""||%p(Fixture Offset Type)%.toUpperCase()=="NONE")
...
end if
if(%p(Tool Change)% == "YES")
else if (...)
end if
(Tool Change) - в круглых скобках это параметр в посте
%p(par)% - это вероятно такой способ получить значение параметра
Я проверял с параметром
%p(Machine A)% в условии. Работает.
Как определить, что в новой траектории надо сменить положение оси А?
Сообщение отредактировал Smith2007: 12 Июль 2021 - 18:12