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

FAQ/Unigraphics/POST


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



как реализовать в постпроцессоре вывод инструмента в УП  T0202,  сейчас выводит просто Т02.. а то так  станок не хавает

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

как реализовать в постпроцессоре вывод инструмента в УП  T0202,  сейчас выводит просто Т02.. а то так  станок не хавает

 

Заведите дополнительный адрес корректора с пустым значением Leader, с форматом вывода Tcode. Далее в блок где стоит адрес T добавьте адрес корректора со значением $mom_tool_number. Далее, на адрес T поставьте настройку No Word Seperator

 

23 часа назад, HD Gluk сказал:

А как это можно реализовать?

 

Следующим вопросом будет - "а готовые варианты есть?"

Вы средствами tcl языка пользоваться умеете? Имеет смысл рассказывать как это можно реализовать?

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

Есть проблема с выводом координат в токарной обработкt. Вообщем, инструмент-  резец с квадратной пластиной, делается торцовка сначала потом обработка конуса. Для корректного вывода траекторий приходится менять точки трассировки на пластине, для торцевой обработки точку ставлю в крайнюю левую вершину, для обработки самого конуса в нижнюю вершину пластины, все ок , но у меня резец привязан на станке по нижней кромке (X,Z). Соответственно при торцевой обработке в УП должно выводиться значение Z со смещением на половину диагонали пластины, то есть не Z0. Как и  где мне в обработке поставить смещение , что бы корректно в уп выводилось? Можно делать через редактор траекторий, но не удобно, при каждой генерации надо менять опять( 

%
G54 G40 G99 G90
(FACING_S)
T0202
S400 M03
G00 X157.2 Z10.
X137.2 Z0.       <----
G01 X101.6 F.6
G00 X157.2 Z10.
X280.
Z140.
(ROUGH_TURN_OD)
X139.096 Z17.475
X119.096 Z7.475
G01 Z6.675 F.6
G00 Z0.8
X119.743 Z0.453
X122.928 Z-2.962
X127.6 Z-75.987
G01 X128.731 Z-75.422 F1.
G00 X139.096 Z17.475
X280.
Z140.
M30
%

2021-06-03 (1).png

2021-06-03 (2).png

2021-06-03 (3).png

D127.prt

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

Есть проблема с выводом координат в токарной обработкt. Вообщем, инструмент-  резец с квадратной пластиной, делается торцовка сначала потом обработка конуса. Для корректного вывода траекторий приходится менять точки трассировки на пластине, для торцевой обработки точку ставлю в крайнюю левую вершину, для обработки самого конуса в нижнюю вершину пластины, все ок , но у меня резец привязан на станке по нижней кромке (X,Z). Соответственно при торцевой обработке в УП должно выводиться значение Z со смещением на половину диагонали пластины, то есть не Z0. Как и  где мне в обработке поставить смещение , что бы корректно в уп выводилось? Можно делать через редактор траекторий, но не удобно, при каждой генерации надо менять опять( 

 

Если Вы работаете с двумя точками трассировки - вы должны работать с двумя корректорами на станке.

Привязываете нижнюю кромку в корректор 02, левую кромку например в 22, и в каждой операции вызываете соответственно: Т0202 и Т0222. Никакого смещения "на половину диагонали" в координатах здесь быть не должно, она будет учтена в разности привязки корректоров на станке. Это в случае как у Вас на прикрепленных рисунках показано.

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

 

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

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

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

@Vladislav-dobrynin я понял, спасибо. вообще  я менял точку трассировки на боковую кромку для того что бы получить нормальную траекторию , а то при  нижней кромке  получается какая то хрень)  вот как на скрине:

image.png

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

@Vladislav-dobrynin я понял, спасибо. вообще  я менял точку трассировки на боковую кромку для того что бы получить нормальную траекторию , а то при  нижней кромке  получается какая то хрень)  вот как на скрине:

image.png

 

Проблема в ограничениях регионов обработки скорее всего. У меня NX19 сейчас не установлен, посмотреть не могу.

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

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

Использование нейтрального резца - принципиально? Почему вы не возьмете обычный проходной левый резец, при этом данный контур с подрезкой торца можно изготовить используя пластину с любым углом. 

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

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

А как это можно реализовать?

Если не через постбилдер, то с помощью функции MOM_run_postprocess можно собрать вю информацию по инструменту из программы, а потом добавить ее в шапку.

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

@dimsond88 Т.е. через MOM_run_postprocess постишь собирая информацию, а потом постишь снова ту же траекторию, но в основной файл? Не сталкивался просто, можно подробнее? Я инфу об инструменте собираю функцией на основе PB_CMD_create_tool_list или просто в процессе постпроцессирования с последующей дозаписью собранной инфы в шапку УП по метке.

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

Я инфу об инструменте собираю функцией на основе PB_CMD_create_tool_list или просто в процессе постпроцессирования с последующей дозаписью собранной инфы в шапку УП по метке.

 

На самом деле, есть два метода формирования информации в начале УП:

 

1. Произвести запись во временный файл, открыть новый файл, сформировать в нем шапку и перезаписать все тело УП из временного файла, затем удалив его.

 

2. Метод очистки буфера вывода, о котором я уже писал ранее. Записываем каждый кадр как строку в массив переменных, очищаем буфера вывода - в конце вывода имеем накопленный массив кадров всей УП и пустой файл. Далее формируем шапку и при помощи цикла распечатываем массив строк всей УП

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

@Vladislav-dobrynin NX хорош тем, что одного и того же результата можно добиться разными способами. Не спорю насчет буферов, временных файлов и пр. - делал и так и так. Но, возможно, есть 3-й способ, раз PB_CMD_create_tool_list работает. Загляните в "Папка с NX\POSTBUILD\pblib\custom_command\pb_cmd_tool_list.tcl", она довольно любопытно устроена. Я не имею в виду вывод списка инструмента, а именно получение данных. Ей удобно пользоваться, чтобы ДО запуска постпроцессирования знать в какой операции какой тип инструмента применяется для автоматического переключения между линкованными постами (токарный/фрезерный).

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

@dimsond88 Т.е. через MOM_run_postprocess постишь собирая информацию, а потом постишь снова ту же траекторию, но в основной файл? Не сталкивался просто, можно подробнее? Я инфу об инструменте собираю функцией на основе PB_CMD_create_tool_list или просто в процессе постпроцессирования с последующей дозаписью собранной инфы в шапку УП по метке.

Да, все верно. С помощью MOM_run_postprocess запускаю пост который выводит только название инструмента например в файл tools.txt, а основным постом уже открываю этот файл и кидаю все в шапку УП.

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

@tm-ares не работает так, пробывал, в уп так же зет нольвыводит

У меня работает. Набросал на скорую руку обработку в NX 12 (см. вложение). Дело всё-таки в постпроцессоре. Из стандартного набора lathe_tool_tip выдаёт Z0. А lathe_turret_ref – как нужно вам Z10.2752.

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

%
N0010 G94 G90 G20
N0020 G50 X0.0 Z0.0
:0030 T00 H00 M06
N0040 G97 S0 M03
N0050 G94 G00 X70.2752 Z15.2752
N0060 Z10.2752
N0070 X35.6807
N0080 G92 S0
N0090 G96 M03
N0100 G95 G01 X34.8807 F.004
N0110 X10.2752
N0120 X9.4752 F.7
N0130 G94 G00 Z15.2752
N0140 X70.2752
N0150 G97 S0 M03
N0160 X60. Z5.
N0170 Z3.0614
N0180 X19.5912
N0190 G95 G02 X19.5122 Z.8 I1.0912 K-1.1702 F.004
N0200 G92 S0
N0210 G96 M03
N0220 G01 X19.8236 Z.4661
N0230 G03 X19.965 Z.275 I-.7679 K-.7161
N0240 G01 X39.8593 Z-34.183
N0250 G03 X40. Z-34.708 I-.9093 K-.525
N0260 G01 Z-99.75
N0270 G03 X39.7179 Z-100.4661 I-1.05 K0.0
N0280 G01 X38.474 Z-101.8
N0290 G02 X38.553 Z-104.0614 I1.1702 K-1.0912 F.7
N0300 G94 G00 X60.
N0310 Z5.
N0320 M02
%

 

Точки трассировки.prt

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

@tm-ares осталось понять как постпроцессор делает этот вывод:k05106: Сравнил их, явных отличий не нашел:boxed:

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

@ssuss1 Отличие в MOM_before_motion.

При lathe_tool_tip

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

#=============================================================
proc MOM_before_motion { } {
#=============================================================
  global mom_motion_event mom_motion_type

   FEEDRATE_SET


   switch $mom_motion_type {
      ENGAGE   { PB_engage_move }
      APPROACH { PB_approach_move }
      FIRSTCUT { catch {PB_first_cut} }
      RETRACT  { PB_retract_move }
      RETURN   { catch {PB_return_move} }
      default  {}
   }

   if { [llength [info commands PB_CMD_kin_before_motion] ] } { PB_CMD_kin_before_motion }
   if { [llength [info commands PB_CMD_before_motion] ] }     { PB_CMD_before_motion }
}

 

При lathe_turret_ref

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

#=============================================================
proc MOM_before_motion { } {
#=============================================================
  global mom_motion_event mom_motion_type

   FEEDRATE_SET

   global mom_pos mom_ref_pos
   set mom_pos(0) $mom_ref_pos(0)
   set mom_pos(1) $mom_ref_pos(1)
   set mom_pos(2) $mom_ref_pos(2)

   switch $mom_motion_event {
      circular_move {
         global mom_ref_pos_arc_center mom_pos_arc_center
         if {[hiset mom_ref_pos_arc_center(0)]} {set mom_pos_arc_center(0) $mom_ref_pos_arc_center(0)}
         if {[hiset mom_ref_pos_arc_center(1)]} {set mom_pos_arc_center(1) $mom_ref_pos_arc_center(1)}
         if {[hiset mom_ref_pos_arc_center(2)]} {set mom_pos_arc_center(2) $mom_ref_pos_arc_center(2)}
      }
      from_move {
         global mom_from_ref_pos mom_from_pos
         if {[hiset mom_from_ref_pos(0)]} {set mom_from_pos(0) $mom_from_ref_pos(0)}
         if {[hiset mom_from_ref_pos(1)]} {set mom_from_pos(1) $mom_from_ref_pos(1)}
         if {[hiset mom_from_ref_pos(2)]} {set mom_from_pos(2) $mom_from_ref_pos(2)}
      }
      gohome_move {
         global mom_gohome_ref_pos mom_gohome_pos
         if {[hiset mom_gohome_ref_pos(0)]} {set mom_gohome_pos(0) $mom_gohome_ref_pos(0)}
         if {[hiset mom_gohome_ref_pos(1)]} {set mom_gohome_pos(1) $mom_gohome_ref_pos(1)}
         if {[hiset mom_gohome_ref_pos(2)]} {set mom_gohome_pos(2) $mom_gohome_ref_pos(2)}
      }
   }

   switch $mom_motion_type {
      ENGAGE   { PB_engage_move }
      APPROACH { PB_approach_move }
      FIRSTCUT { catch {PB_first_cut} }
      RETRACT  { PB_retract_move }
      RETURN   { catch {PB_return_move} }
      default  {}
   }

   if { [llength [info commands PB_CMD_kin_before_motion] ] } { PB_CMD_kin_before_motion }
   if { [llength [info commands PB_CMD_before_motion] ] }     { PB_CMD_before_motion }
}

 

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

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

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

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

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

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

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

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

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

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

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




  • Сообщения

    • nicomed
      Я не программист, тем более не системщик. Могу только гипотетически предполагать что разные версии NET Framework в системе... я писал под 4.7.2. Переписывать с отловом ошибок , если честно лень. Тут вообще глаза на лоб лезут. Из не стандартных Майкрософтовских библиотек использовались только библиотеки от Солид-а. Что там может хотеть автозагрузки не представляю. Обычное WPF приложение. Исходники в доступе. С похожим сталкивался к каком аспекте: Когда у себя тестировал скрытие кромок, то для того, что бы сделать все кромки опять видимыми, то переходил в режим видимости кромок в Солиде ( ) и нажимал кнопку "Сбросить все". Визуально все кромки делались видимые. Потом после использования  макроса все кромки, что до этого скрывались и проявились после нажатия кнопки - скрывались вновь.   При тестах на 2-х машинах Вин10 СВ21 - пока проблем не было.
    • maxx2000
      выдавить на экструдере и пилой шик-шик, как колбасу, а не заниматься суходрочкой. если это корпуса с интегрированным оребрением, вложиться в литье люминя под давлением.
    • Говорящий Огурец
      Во, вспомнил, где я картинки видел! :) Инструкция по эксплуатации Sandvik Coromant. Обработка титана. Техническое руководство.pdf Начиная с 91-й страницы.   Чисто интуитивно применял нечто подобное на алюминии и технических пластиках при фрезеровке ребер/стенок
    • Kelny
      Так же меню Инструменты-Параметры...-Настройки пользователя-Эскиз-Взаимосвязи/привязки
    • advocut
      @hlibhlib https://dropmefiles.com/oTuAs  Вот такая была ещё (эту разрешили). Непонятно, как вообще сказать каму, откуда заходить (надо или снаружи, или в заранее просверленные отверстия и чтобы не на бобышки), тем более тут ещё и узкое место есть, т.е. вообще два захода надо.
    • AlexKaz
      Будет только МКЭ или и аналитика + натурный эксперимент?
    • malvi.dp
      На 16 солиде (win7) работает не стабильно бывает солид крошится,  при нажатии на кнопку "закрыть" вылезает окно: Ещё почему-то попыталось добавиться в автозагрузку В 20 солиде бывает удаляет не только выделенную кромку, а и другие. При выделении силуэтной кромки на ее месте рисует около 20 линий.
    • Kelny
      Это странно, бывает, что слетают все настройки - особенно своих кнопок, но что бы панельки бегали по экрану не замечено. Хотя на первой вашей картинке похоже, что панелька с закладками не привязана к окну программы, а во втором как раз таки привязана.   Так же если откроете окно настройки панелей, то на закладке ПАНЕЛИ ИНСТРУМЕНТОВ есть галочка Заблокировать КоммандМанаджер и панели инструментов - после этого движение панелек пользователем в окне программы ограничено.
    • Борман
      Только сила А. в жидкости действует вверх до самого "конца", а вы получили действие вверх на величину деформации. Типа встали в какашку, а она сбоку вылезла выше уровня подошвы.
    • Orchestra2603
      Интересно... а если глубоко закопать? :) Даление воды в грунте убывает линейно с глубиной или по какой-то другой зависимости?
×
×
  • Создать...