Перейти к публикации

FAQ/Unigraphics/POST


Рекомендованные сообщения

@artem-nafanya Примерно так:

Скрытый текст

 В функцию PB_CMD_before_output добавьте

 

global mom_motion_type
   if { [info exist mom_motion_type] } {
       if { [string first "X" $mom_o_buffer]!=-1 && [string first "Y" $mom_o_buffer]!=-1 && [string first "Z" $mom_o_buffer]!=-1 && $mom_motion_type=="RAPID" } {
            MOM_abort "Error!"
       }   
}  

 

Ссылка на сообщение
Поделиться на других сайтах


@artem-nafanya Хотя возможно лучше проверять не mom_motion_type, а mom_motion_event: mom_motion_event=="rapid_move".

 

Ссылка на сообщение
Поделиться на других сайтах
59 минут назад, mr_Voden сказал:

@artem-nafanya Хотя возможно лучше проверять не mom_motion_type, а mom_motion_event: mom_motion_event=="rapid_move".

 

Так?

 

Скрытый текст

 if { [info exist mom_motion_event] } {
       if { [string first "X" $mom_o_buffer]!=-1 && [string first "Y" $mom_o_buffer]!=-1 && [string first "Z" $mom_o_buffer]!=-1 && $mom_motion_event=="rapid_move" } {
            MOM_abort "!!!!!!!!!!!!!!!!Error!!!!!!!!!!!!!!!!"
       }
}

код в таком виде срабатывает, даже если ускоренные перемещения есть только в одном движении по осям XY?

Изменено пользователем artem-nafanya
Ссылка на сообщение
Поделиться на других сайтах

@artem-nafanyaЯ его не проверял, просто набросал. По идее он должен срабатывать если в строке будут встречены символы xyz и это будет ускоренной перемещение. Довольно топорный метод на самом деле. 

Ссылка на сообщение
Поделиться на других сайтах

я смотрю помогают в решение проблем , может и мне поможете все по старому вопросу

сделать проверку на изменение угла чтоб 800й цикл автоматически выводился тогда когда нужно , а то я термооправку отломил на днях ))

Ссылка на сообщение
Поделиться на других сайтах
4 часа назад, museok сказал:

я смотрю помогают в решение проблем , может и мне поможете все по старому вопросу

сделать проверку на изменение угла чтоб 800й цикл автоматически выводился тогда когда нужно , а то я термооправку отломил на днях ))

 

А подробнее можно ? 

800 цикл обычно всегда выводиться должен в операцию, даже когда углы не меняются 

Ссылка на сообщение
Поделиться на других сайтах
19 часов назад, Vladislav-dobrynin сказал:

 

А подробнее можно ? 

800 цикл обычно всегда выводиться должен в операцию, даже когда углы не меняются 

да он выводиться , но как правило это не всегда нужно, если у меня нет изменения угла зачем мне выходить по Z вверх

да и если на это забить , это не программа будет а порнография ))

Ссылка на сообщение
Поделиться на других сайтах
7 часов назад, museok сказал:

да он выводиться , но как правило это не всегда нужно, если у меня нет изменения угла зачем мне выходить по Z вверх

да и если на это забить , это не программа будет а порнография ))

 

Выводите Cycle800 всегда в начале каждой операции, а в конце операции сбрасывайте его - Cycle800(). Параметр отскока по Z отключите в самом цикле, его мы обычно не используем. 

Отслеживайте изменение углов в конце предыдущей операции и в начале текущей и по данному условию, в начале операции, перед Cycle800, выводите маневрирование в машинной системе координат Supa Z «» D0 

Именно так будет правильно 

Ссылка на сообщение
Поделиться на других сайтах

Приветствую. Подскажите, как выводить mom_operator_message в нужном месте УП?

Даже если удаётся его вывести в другом месте, то оно всё равно остаётся ещё и на прежнем месте.

 

Ссылка на сообщение
Поделиться на других сайтах
1 час назад, artem-nafanya сказал:

Даже если удаётся его вывести в другом месте, то оно всё равно остаётся ещё и на прежнем месте.

А Вам в каком месте нужно его выводить? Это событие, а событие можно выводить в начале или в конце операции или группы 

Ссылка на сообщение
Поделиться на других сайтах
Только что, Vladislav-dobrynin сказал:

А Вам в каком месте нужно его выводить? Это событие, а событие можно выводить в начале или в конце операции или группы 

В начале группы

Первая строчка %MPF

Вторая mom_operator_message 

Ссылка на сообщение
Поделиться на других сайтах
1 час назад, artem-nafanya сказал:

В начале группы

Первая строчка %MPF

Вторая mom_operator_message 

 

Порядок вывода событий Вы не измените, однако можно ту часть "шапки" программы, что выше события вывода сообщения, переписать в иные события - в те которые относительно его ниже 

Ссылка на сообщение
Поделиться на других сайтах
17 часов назад, Vladislav-dobrynin сказал:

 

Порядок вывода событий Вы не измените, однако можно ту часть "шапки" программы, что выше события вывода сообщения, переписать в иные события - в те которые относительно его ниже 

Понятно. Можете более подробно объяснить как это происходит?

Ссылка на сообщение
Поделиться на других сайтах

Здравствуйте, столкнулся с такой проблемой, на токарно-фрезерном посте при выводе сверлильных операций вдоль оси Z вылезает ошибка, фото по ссылке: https://drive.google.com/file/d/1bLi_T5ZXQPuaWBJJ3RhVks-zQ_QsfJA2/view?usp=sharing ,

но при выводе сверления с какой-то токарной или фрезерной операцией при учете что они перед сверлением то ошибка не вылезает, может кто-то сталкивался с таким?

Ссылка на сообщение
Поделиться на других сайтах
17 минут назад, _vlad_ng_ сказал:

Здравствуйте, столкнулся с такой проблемой, на токарно-фрезерном посте при выводе сверлильных операций вдоль оси Z вылезает ошибка, фото по ссылке: https://drive.google.com/file/d/1bLi_T5ZXQPuaWBJJ3RhVks-zQ_QsfJA2/view?usp=sharing ,

но при выводе сверления с какой-то токарной или фрезерной операцией при учете что они перед сверлением то ошибка не вылезает, может кто-то сталкивался с таким?

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

Вообще можно попробовать открыть tcl файл в блокноте, найти инициализацию переменных в какой либо процедуре в событии start_of_program и добавить строки

global mom_prev_out_angle_pos

set mom_prev_out_angle_pos(0) 0

set mom_prev_out_angle_pos(1) 0

 

Но боюсь это не поможет и еще какие-либо переменные окажутся не инициализированными.

Не опытные разработчики часто городят алгоритмы которые вылетают в частных случаях.

Лучше обратитесь за технической поддержкой к автору постпроцессора

Ссылка на сообщение
Поделиться на других сайтах
3 минуты назад, Vladislav-dobrynin сказал:

Лучше обратитесь за технической поддержкой к автору постпроцессора

Та это стандартный пост из постбилдера, просто переделываю его под себя...
Беру обычный фрезерный пост, там все хорошо, создаю новый токарно-фрезерный там та же проблема.

Ссылка на сообщение
Поделиться на других сайтах
12 минут назад, _vlad_ng_ сказал:

Та это стандартный пост из постбилдера, просто переделываю его под себя...
Беру обычный фрезерный пост, там все хорошо, создаю новый токарно-фрезерный там та же проблема.

Создавайте 2 отдельных связанных постпроцессора через Link_post, один токарный другой фрезерный и через событие Head вызывайте тот или иной.

Эти стандартные алгоритмы из шаблонов они сырые

Ссылка на сообщение
Поделиться на других сайтах
52 минуты назад, Vladislav-dobrynin сказал:

Вообще можно попробовать открыть tcl файл в блокноте, найти инициализацию переменных в какой либо процедуре в событии start_of_program и добавить строки

global mom_prev_out_angle_pos

set mom_prev_out_angle_pos(0) 0

set mom_prev_out_angle_pos(1) 0

Огромное спасибо, заработало!!!

57 минут назад, Vladislav-dobrynin сказал:

Вообще можно попробовать открыть tcl файл в блокноте, найти инициализацию переменных в какой либо процедуре в событии start_of_program и добавить строки

global mom_prev_out_angle_pos

set mom_prev_out_angle_pos(0) 0

set mom_prev_out_angle_pos(1) 0

Только после сохранения поста в билдере - добавленые строчки удаляються(

Все, заработало, просто в начале операции создал отдельную пользовательскую команду...

Ссылка на сообщение
Поделиться на других сайтах
  • 3 недели спустя...

Здравствуйте. помогите, пожалуйста решить такую проблему. Нужно что бы при включении коррекции выводилась команда G13 и значения P, Q. Где P - предыдущее значение X, а Q - предыдущее значение Y. Выводить нужно только в том кадре, где выводится G41.

Изменено пользователем Denya101
Ссылка на сообщение
Поделиться на других сайтах

Присоединяйтесь к обсуждению

Вы можете опубликовать сообщение сейчас, а зарегистрироваться позже. Если у вас есть аккаунт, войдите в него для написания от своего имени.
Примечание: вашему сообщению потребуется утверждение модератора, прежде чем оно станет доступным.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

  • Сейчас на странице   1 пользователь

    • vicebear



  • Сообщения

    • АйнурБатталов
      В файле .gpp найдите строку trace "all":5, замените 5 на 0 и сохраните. Это трассировка, нужна при редактировании поста, чтобы знать какая переменная какие данные содержит, также какая процедура выдала кадр с G кодом.
    • the Devil incarnate
      Всем привет. Нужно мне в сборке использовать одинаковые детали из разных материалов. Для этого сделал деталь, сделал семейство деталей, а вот материал там менять нельзя, как оказалось. Может кто-то подскажет, возможно ли это как-то провернуть? Если открыть каждую дочернюю деталь и изменить там материал, то временно всё работает. Но после каких-то манипуляций с главной деталью, материал сам заменяется.
    • Kelny
      Выберите в Solidworks режим при открытии ТОЛЬКО ПРОСМОТР (в последних версиях так понимаю можно выбрать режим ДЕТАЛИЗАЦИЯ без подгрузки моделей) и тоже велика вероятность, что так же покажет, но это только картинки - редактировать ни чего нельзя. В режиме ДЕТАЛИЗАЦИЯ всё такие какое-то редактирование доступно.
    • Девочка_конструктор
      Да, но тогда почему сетка не показывает дробление этого твердого  тела там, где оно есть? Не понимаю)) Раньше у меня была похожая проблема, но там (оказалось) была интерференция, я исправила сопряжения и всё стало отображаться гуд. Cut Plots - показывает, что все в порядке. Следовательно, мне стоит не обращать внимания на Mesh? 
    • Jesse
      это не проблема. Просто инструментом Mesh вы выбрали отображение сетки на поверхностях твёрдого тела. У меня в клапане аналогично показывает. Вам надо юзать опцию Cut Plots. Тогда можно лицезреть сеточку во всей её "толще"
    • Марсель
      Прошу прощения. А.С. Иванов Конструируем машины. Шаг за шагом.
    • djrandom
      Что интересно, говорят, что в eDrawings файл открывается....
    • MFS
      Собственно сабж - мне нужно пообщаться, кто работает, работал, имеет знакомых на ЛОМО - большая просьба написать тут или в личку. Заранее спасибо!
    • Девочка_конструктор
      Уважаемые форумчане! Будьте добры, подскажите пожалуйста, на что мне обратить внимание для устранение следующего бага? Настраиваю сетку в FS - глобальную сетку в ручном режиме, базовую сетку, затем локально задаю наиболее тепловыделяющие элементы, маленьких габаритов. Размеры ячеек получаются оптимальными, на каждую толщину твердого тела приходится примерно по 3-4 слоя сетки. При анализе результата - сетка выдает корпус как какой-то тонкостенный элемент. Где-то местами вообще образовываются пропасти, щели, сквозь которые видны поверхности, находящиеся с противоположной стороны.  На рисунке слева - сетка, которая у меня получается. На рисунке справа - сетка + твердое тело.  Пространство, которое должно быть заполнено, почему-то становится пустым. Я проверяла сопряжения между деталями, там все хорошо, интерференции нет. Если у кого-то была похожая проблема, опишите пожалуйста, как вы с ней справлялись.     Рисунок    
    • MFS
      Вот хороший блог: https://blog.bolt.io/category/teardown/. Еще довольно много в английском ютубе, ключевое слово "teardown" - можно найти много всякого интересного.
×
×
  • Создать...