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

FAQ/Unigraphics/POST


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

 

Все смешалось, люди кони)

mom_from_tool_axis - массив, отвечающий за направление оси инструмента в точке фром, не больше. 

Попробуйте вывести через этот пост резьбу и все станет на свои места - пост фрезерный, в нем нет события Lathe Thread.

mom_kin_machine_type: Defines the basic machine type.  The type of machine determines how motion and post commands will be processed and output

3_axis_mill, 3_axis_mill_turn, 4_axis_head, 4_axis_table, 5_axis_dual_table, 5_axis_dual_head, 5_axis_head_table, 2_axis_wedm, 4_axis_wedm, 2_axis_lathe.
Взято из мом браузер вариаблез. Значение переменных я думаю понятно и без переводчика.
Если так хочется пост, который будет сразу токарно-фрезерным, возьмите либо Millturn Sinumerik и переделайте под свои нужды, либо обычный 5 осевой фрезерный и в нем в pui добавьте событие резьбы на Tk и в сам пост процедуры, отвечающие за вывод резьбы.
P.S. я и не говорил, что в Вашем посте есть прилинкованный пост. Я сказал, что его туда надо теперь приделывать, токарный.

 

а вызвать прилинкованный пост более цевильным способом нежели https://www.youtube.com/watch?v=UOr5McuXdX4 этот можно?

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


Я такой пост связывал с токарным показанным там способом, но не прописывал в самой программе в шапке милл там или турн. Все работало.

 

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

 

global mom_tool_axis mom_sys_spindle_axis

 

if {[EQ_is_equal mom_tool_axis(2) 1.0]} {

   set mom_sys_spindle_axis(2) 1.0

} else {

   set mom_sys_spindle_axis(0) 1.0

}

 

MOM_reload_kinematics

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

Добрый день. Хочу на работе внедрить 4х осевую обработку деталей типа шнек. С UG разобрался. Пост есть и выдает перемещения по оси А типа 357....2....5.....и т.д.

При отработке перемещения А=2 после А=357, происходит полный проворот оси, а нужно чтобы отрабатывалось по кратчайшему пути, и ось провернулась на 5 градусов. Как реализовать это через настройки оси не знаю. Нашел лишь перемещение по кратчайшему пути А=DС(значение). Прописать в пост билдере A=DC могу, подскажите как прописать чтобы значение перемещение выводилось в скобках, а именно A=DC(357).

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

Добрый день. Хочу на работе внедрить 4х осевую обработку деталей типа шнек. С UG разобрался. Пост есть и выдает перемещения по оси А типа 357....2....5.....и т.д.

При отработке перемещения А=2 после А=357, происходит полный проворот оси, а нужно чтобы отрабатывалось по кратчайшему пути, и ось провернулась на 5 градусов. Как реализовать это через настройки оси не знаю. Нашел лишь перемещение по кратчайшему пути А=DС(значение). Прописать в пост билдере A=DC могу, подскажите как прописать чтобы значение перемещение выводилось в скобках, а именно A=DC(357).

 

post-8696-0-92358000-1450790987_thumb.jpg

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

Доброго времени.

Подскажите пожалуйста как лучше реализовать.

Есть потребность выводить, в идеале отдельным файлом, список инструмента.

Пробовал сделать в PostBuilder пост который бы выводил только список инструмента, но не удалось подавить траектроию, после списка выводились еще и координаты.

Возможно ли при постпроцессирование записывать еще один файл(txt) со списком.

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

Есть ли возможность в готовом посте изменить дюймы на мм? Знаю, что есть выбор при постпроцессировании, но хотелось бы во избежание ...

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

Доброго времени.

Подскажите пожалуйста как лучше реализовать.

Есть потребность выводить, в идеале отдельным файлом, список инструмента.

Пробовал сделать в PostBuilder пост который бы выводил только список инструмента, но не удалось подавить траектроию, после списка выводились еще и координаты.

Возможно ли при постпроцессирование записывать еще один файл(txt) со списком.

Я бы сделал примерно такой PB_CMD:

 

global mom_group_name mom_output_file_directory
global mom_tool_number mom_tool_adjast_register
 
#задаем имя файла типа toollist_1234.txt
set file_name "toollist_$mom_group_name.txt"
 
#создаем файл в директории, куда выводится файл программы
set tmp_file [open ${mom_output_file_directory}$file_name w+]
 
#тут, видимо, должно быть начало цикла перебора используемого инструмента
 
#пишем в файл строчку с названием и параметрами инструмента 
  puts $tmp_file "$mom_tool_number $mom_tool_adjast_register"
 
#а тут - конец цикла
 
#закрываем файл
close $tmp_file
 
и этот PB_CMD закинул бы в Program_end_sequense.
 
или, как вариант, на Program_start_sequense приделал бы создание файла, на смену инструмента - добавление строчки с инструментом (если таковой не использовался ранее), а на Program_end_sequense - закрытие файла
Ссылка на сообщение
Поделиться на других сайтах

А теперь я задам вопрос.

Дорогие товарищи! как при постпроцессировании вывести предупреждающее сообщение в NX7.5?

Мне хотелось сделать вывод сообщения, если обнаружилось вращение шпинделя против часовой стрелки.

Я пытался сделать это следующим образом: в initial_move ставил проверку направления вращения шпинделя:

 

  if { $mom_spindle_direction == "CCLW" } {
  PB_CMD_spindle_rotation_warning
   }
 
А в  PB_CMD_spindle_rotation_warning вот что:
 
global mom_operation_name mom_spindle_direction mom_output_file_directory
set cam_aux_dir  [MOM_ask_env_var UGII_CAM_AUXILIARY_DIR]
set ug_wish "ugwish.exe"
set title ""
set msg ""
set file_name "tmp_$mom_operation_name.tcl"
set warn_msg "Spindle rotation M04 in operation "
 
#Создается временный файл со скриптом сообщения
 
set tmp_file [open ${mom_output_file_directory}$file_name w+]
#создается строчка скрипта. в этой строчке содержится команда вывода предупреждающего сообщения с кнопкой ОК
  set tmp_line ""
  append tmp_line {tk_messageBox -message "} "$warn_msg" "$mom_operation_name" {" -title "Warning!" -type ok -icon warning}
#строчка записывается в файл скрипта
  puts $tmp_file "$tmp_line"
#в файл скрипта записывается команда завершения скрипта
  puts $tmp_file "exit"
 
#файл скрипта закрывается
close $tmp_file
 
#запускается интерпретатор wish, в интерпретатор скармливается созданный выше скрипт
 
exec ${cam_aux_dir}$ug_wish ${mom_output_file_directory}$file_name $title $msg
 
#удаляется временный файл со скриптом
file delete -force -- ${mom_output_file_directory}$file_name
 
вся эта конструкция даже немного работает. Если постпроцессировать одну операцию - корректно выводит сообщение, а если всю программу с несколькими выводами этого сообщения - NX виснет наглухо.
 
Ссылка на сообщение
Поделиться на других сайтах
  • 3 недели спустя...

Добрый день кто-то может поделиться постпроцессором для токарного станка HAAS ST20 с приводным инструментом

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

 

А теперь я задам вопрос.

Дорогие товарищи! как при постпроцессировании вывести предупреждающее сообщение в NX7.5?

Мне хотелось сделать вывод сообщения, если обнаружилось вращение шпинделя против часовой стрелки.

Я пытался сделать это следующим образом: в initial_move ставил проверку направления вращения шпинделя:

 

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

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

Вопрос по репроцессу.

От куда у людей такая страсть к выводу через дополнительный файл? Почему не через mom_o_buffer и массив? Все никак руки не дойдут сравнить скорость, но что-то подсказывает, что через массив будет быстрее

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

две операции и остановка между ними работа одним и тем же инструментом. ни как пост не выводит остановку хотя и поставлено всё на force. сравниваю с другим постом вроде всё одно и тоже но не выводит он остановку.

пост прицеплен. сохранён в десятке

Haas_3Axis_WTL_Param_v2.rar

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

две операции и остановка между ними работа одним и тем же инструментом. ни как пост не выводит остановку хотя и поставлено всё на force. сравниваю с другим постом вроде всё одно и тоже но не выводит он остановку.

пост прицеплен. сохранён в десятке

А что именно не выводит? У вас там в конце операции очень много всего написано.

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

остановку между операциями если один и тот же инструмент работает

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

 

Я насколько понял речь идет об этом куске кода в End off Pach. 

 

    if { [info exists stop_user_var] } {
      if {$stop_user_var == 111111} {
         MOM_output_literal "  "
         MOM_do_template spindle_off
         MOM_output_literal "M9"
         MOM_force once G_mode G
         MOM_do_template mach_zero_z
         #MOM_force once G_mode G
         MOM_output_literal "G91 G28 Y0"
         #MOM_do_template mach_zero_y
         MOM_do_template stop_2
         #MOM_output_text "M00 (*************************)\n"
         PB_CMD_update_home_position
         PB_CMD_Tool_change_force_addresses
      }
    }
 
 

Переменная stop_user_var = 0! а условие стоит для вывода  stop_user_var =111111 !

Поэтому и не выводит. 

 

Инициализация стоит в событии Stop

Я насколько понимаю - задумка если поставил на группу операций событие Stop... или же на отдельную операцию???

то в конце операции в случае смены инструмента происходит вывод М0

 

Просто переменная stop_user_var приравнивается к 0 в конце каждого перехода!

смотри процедуру PB_CMD_check_end_macro

 

в самом конце стоит

set stop_user_var 0

 

То есть, чтобы вывелось М0 в конце перед сменой - нужно конкретно на этой операции назначать событие Stop !
 
Если хочешь один раз на папке указывать событие Stop и чтобы выводилось, 
то закоментируй последнюю строчку в процедуре PB_CMD_check_end_macro
 
Будет работать!
Ссылка на сообщение
Поделиться на других сайтах
не помогло. всеравно не выводит. проблема явно в PB_CMD_check_end_macro

 

а на моем проекте помогло, пришлите проект обработки

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

я сделал кубик и две операции одна копия другой.после первой операции остановка. работает один и тот же инструмент..выложи скрин где поменял..может я не там меняю..хотя не так много опций есть.

Ссылка на сообщение
Поделиться на других сайтах
я сделал кубик и две операции одна копия другой.после первой операции остановка. работает один и тот же инструмент..выложи скрин где поменял..может я не там меняю..хотя не так много опций есть.

 

Так там в посте сделано так, что в конце операции только перед сменой инструмента выводится!! Вот если другой инструмент поставишь во второй операции, так выведет М0

В посте что-то накручено очень сильно, поэтому и не выводит. Кто его вообще разрабатывал?

 

global mom_next_oper_has_tool_change
global stop_user_var mom_nxt_motion_type mom_nxt_motion_event
global mom_nxt_event_count mom_nxt_event mom_next_tool_name
 
if { [info exists mom_next_oper_has_tool_change] } {
  if {$mom_next_oper_has_tool_change == "YES"} {
    #MOM_set_seq_off
    #MOM_output_text "   "
    MOM_output_literal "#121=#121+1"
    MOM_output_literal "END1"
    MOM_output_literal "#121=0"
    MOM_output_literal "#122=#122+1"
    MOM_output_literal "END2"
    MOM_output_literal "#122=0"
    MOM_output_literal "G52 X0 Y0"
    MOM_output_literal "(----------)"
    #MOM_output_text "    "
    MOM_output_literal "M5"
    MOM_output_literal "M9"
    MOM_output_literal "G91 G28 Z0"
    MOM_output_literal "G90 G49 M01"
 
    MOM_output_literal "$stop_user_var"
    if { [info exists stop_user_var] } {
      if {$stop_user_var == 111111} {
         MOM_output_literal "  "
         MOM_do_template spindle_off
         MOM_output_literal "M9"
         MOM_force once G_mode G
         MOM_do_template mach_zero_z
         #MOM_force once G_mode G
         MOM_output_literal "G91 G28 Y0"
         #MOM_do_template mach_zero_y
         MOM_do_template stop_2
         #MOM_output_text "M00 (*************************)\n"
         PB_CMD_update_home_position
         PB_CMD_Tool_change_force_addresses
      }
    }
    set stop_user_var 0
    #MOM_set_seq_on
 
    return
  }
}
 
 
if { [info exists stop_user_var] } {                            
  #MOM_output_text "(3 stop_user_var = $stop_user_var !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!)"
  if {$stop_user_var == 111111} {
     # Polzovatelskiy vizov
     #MOM_output_text "\nM00\n"
     #MOM_output_text "(3 mom_nxt_event_count = $mom_nxt_event_count !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!)" - видишь тут все закоментировано! надо как минимум добавить сюда  - MOM_do_template stop_2
     #MOM_output_text "(3 mom_nxt_event(0) = $mom_nxt_event(0) !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!)"
  }
} else {
 
}
#set stop_user_var 0
Изменено пользователем Vladislav-dobrynin
Ссылка на сообщение
Поделиться на других сайтах
  • SHARit закрепил это тему

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

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

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

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

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

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

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

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

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

    Нет пользователей, просматривающих эту страницу.




  • Сообщения

    • Рома калужский
      это код подключения шпинделя как ось "С" но при этом он не перемещает револьверку, т.е. не работает по программе
    • Горыныч
      Еще совет: строить нужно только половину, если модель симметричная, тогда Солид меньше "косячит". И соглашусь с коллегами, идеальный вариант для гладкого построения - два сечения и две направляющие кривые, т.е. 4 управляющие кривые (кромки). При необходимости можно добавлять не только промежуточное сечение, но и направление. Не нужно пятаться построить всю поверхность одним фичером.  Пусть поверхности будут лоскутами, но соединяются по касанию или кривизне. 
    • ДОБРЯК
      Откуда появится смещение центра масс колеса, если колесо сбалансировано.  Жесткий сбалансированный вал, это условие данной задачи. На 4000 оборотах эти силы будут минимальны. Это разговор ни о чем в данной задаче. :=) Но даже если вы абсолютно точно определите эти частоты, с учетом всех сил. Что дальше с этими частотами делать? На основании чего делать вывод о работоспособности изделия? Это в учебной работе получили число, работу приняли и сдали в архив. Какая практическая ценность всех этих уточнений в данном случае?:=)  
    • Борман
      Если еще не поздно... я и сам погрузился бы. Физика такая, для вала с одним колесом... F - это понятно, центробежное смещение центра масс колеса M - момент от центробежных сил, который не появится, если колесо не повернется при изгибе вала. Обрати внимание, что BW-момент выворачивает ось в сторону действия силы F, т.е. при обратной прецессии они действуют сообща, и в этом опасность.   Отсюда будут разные собственные частоты при прямой и обратной прецессиях.  Теперь осталось понять, что такое прямая и обратная прецессии :), и почему момент при них направлен в разные стороны. По первой части вопроса см. мою картинку в этой теме от 27 августа 2013. По второй части вопроса - нужно включать воображение и усердно рисовать на бумажке. Мне пока сложно.    Физика именно такая. Нужно как то оценить величину этого момента и приложить его в софте, который не умеет ДК. А с тестовыми значениями можно и так порешать, и на выходе должна быть вилка. Т.е. F - задает типа "биссектрису" вилки (престресс-модальник), а момент - угол вилки.  
    • boomeeeer
      @anykeyto Я не оператор. Настраивал работу этой функции на токарно-фрезерном, где нужно было позиционировать шпиндель, для нарезания пазов. Что такое G07 не знаю. Вот такой пример для фрезерного станка нашёл   G108 B0; переключение на ось B для управления положением; G68.2 X10 Y10 Z20 I0 J90 K0 Положение заготовки (10,10,20) Угол Эйлера для определения характеристической системы координат; G53.2 Управление направлением инструмента   G109 B0 - отключит режим
    • anykeyto
      Ага, спасибо... А в связке с G07.1 это как работает? Есть детали ,кольца, на которых надо делать по 4 паза. Сейчас программист написал прогу под шаровую фрезу. Там рабочие движеня происходят через одновременное смещение по оси Х и Z... фреза убивается буквально на третьем кольце, да и обработка получаестя фиговой.. На сколько я понимаю надо стремиться к тому, чтобы на 5ти осном станке фреза всегда была перпендикулярна касательной ли самой поверхности. Мне посоветовал как раз цилндрческую интерполяцию, когда ось С преобразуется в плоскость. В мануале к HNC описано эт криво, но в примерах программ как раз сначала включается CTOS и потом G07.1. но дальше как запрограммировать понимания пока нет...  P.S. хочу добавить, что на 5-снике раньше работал только как оператор по готовым программам  на Хенденхайне. А сейчас на новом предприятии на новой для меня стойке нужно все делать с нуля и самостоятельно. С одной стороны интересно, с другой стороны спросить не у кого, в инете инфы по стойке нет от слова совсем, уж тем более видео....  чем это отличается от просто G0 C180? Или это уже будет шпиндель позиционироваться, а не стол?
    • AlexKaz
      Различают жёсткие и гибкие ротора. В данном случае вал жёсткий. Для него соответствуюшая формула. 4000 об/мин = 66.67 Гц, это ни о чём, эффекты для такой частоты почти не скажутся на жёстком роторе. Но проблема в том, что в лопаточных машинах (а насос на скрине наверное лопаточная?) собственные кратны числу лопаток. Я не разбирался в вопросе чтобы что-то здесь советовать. Лучше не спешить и внимательно почитать про модальный в лопаточных. Заодно проверить, а какое нагружение идёт в деталях насоса чтобы корректно выполнить престресс.
    • ДОБРЯК
      Хотите еще и матрицу масс изменить. :=) И сколько килограмм воды будете присоединять?  Опыт правильного моделирования, опыт расчета таких конструкций накапливается десятилетиями. Маловероятно, что кто-то на форуме будет вам объяснять как правильно моделировать, какие КЭ использовать, какие граничные условия задавать и т. д. Вы же всегда уклоняетесь от разговора на эти темы, даже для простых моделей.  Даже если перейдете на Ансис и не разберётесь в том, что он считает это не поможет вам написать грамотный отчет и объяснить грамотному заказчику, что вы там насчитали. Считает расчетчик, а программа это инструмент. Это только в рекламе пишут, что купите программу трехмерного моделирования, сделайте трехмерную модель, потом нажмите одну кнопку и на обычном игровом компьютере все посчитаете. Только в жизни все немножко иначе...:=)
    • Jesse
      Вот что у Биргера: Центробежные силы и индуцированный гироскопический момент зависят от квадрата частоты вращения вала   Хотя уже сама критическая частота зависит только от момента инерции колеса (альфа, бэта, гамма - это прогибы, углы поворота и прочая шелуха), т.е. частота вращения в формулу не входит, а всё определяется только моментом инерции Jm Ну у него рассматривается простая одномассовая система (фактически грузик на пружинке). Думаю поискать публикации.. мб где то раскопали аналитическую зависимость первой и высшей СЧ от частоты вращения для сложных систем. Хотя если выяснится что зависит,  всё равно обоснование придумывать придётся.  Эхх...
    • Fedor
      https://www.litres.ru/book/v-n-faddeeva/vychislitelnye-metody-lineynoy-algebry-65999878/  Ну и классику жанра :) 
×
×
  • Создать...