Jump to content

Postbuilder (переименование файла с выводом в окно листинга)


an-kval

Recommended Posts

Встречал здесь на форуме вопросы и поиск решений, связанные с переименованием постпроцессируемого файла в имя операции. Создаем процедуру (любое имя) с этим кодом, вставляем в Program End Secuence в самый низ.  

 

#===========================================
# Переименование постпроцессируемого файла
# в имя операции и вывод в окно листинга NX
#===========================================
global mom_output_file_suffix
global mom_operation_name
global ptp_file_name

MOM_close_output_file $ptp_file_name

set operation $mom_operation_name.$mom_output_file_suffix

if {[file exists $operation]} {MOM_remove_file $operation}
file rename $ptp_file_name $operation
set tmp [open $operation r]
set file_data [read $tmp]
close $tmp
MOM_output_to_listing_device $file_data

 

 

Edited by an-kval
  • Нравится 2
Link to post
Share on other sites
  • 2 weeks later...


UnPinned posts
13 часов назад, an-kval сказал:

Немного усовершенствовал процедурку

А возможно полностью избавиться от вывода листинга ?

Link to post
Share on other sites
2 часа назад, Дядя сказал:

А возможно полностью избавиться от вывода листинга ?

Конечно, в окне "Постпроцессировать" сними галку с вывода листинга.

3 часа назад, healerovski сказал:

Посмотрю у себя, в одной компании структура постов была именно такая. Генерило главный файл и подпрограммы из всех переходов. Надо проверить работал ли пост по выделенным операциям.  Если не ошибаюсь, то он все нормально генерил, но всегда создавал в древе подгруппу папки программ)

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

  • Нравится 1
Link to post
Share on other sites
healerovski
18.11.2025 в 12:11, an-kval сказал:

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

Завтра постараюсь найти.

Link to post
Share on other sites
17.11.2025 в 15:31, an-kval сказал:

Две строки над строкой где путь к CIMCO. В строке с путём замени $operation на $ptp_file_name

Заметил один не совсем приятный момент , при симуляции симко открывает программу , хотя это не нужно.

Link to post
Share on other sites
2 часа назад, Дядя сказал:

Заметил один не совсем приятный момент , при симуляции симко открывает программу , хотя это не нужно.

Не совсем понял. 

Link to post
Share on other sites
2 часа назад, Дядя сказал:

Заметил один не совсем приятный момент , при симуляции симко открывает программу , хотя это не нужно.

Проверка нужна. Возможно это поможет.

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

#=============================================================
proc PB_CMD__check_block_post_in_simulation { } {
#=============================================================
# This custom command should return
#   1 : Output BLOCK
#   0 : No output
#
  global mom_post_in_simulation
  
  if { [info exists mom_post_in_simulation] && $mom_post_in_simulation == "CSE" } {
    return 1
  } else {
    return 0
  }
}

 

Link to post
Share on other sites

При симуляции УП в CIMCO? Или при симуляции в NX G-кода моделью станка? Никак не могу суть уловить. Или не выспался)

Link to post
Share on other sites
2 часа назад, an-kval сказал:

При симуляции УП в CIMCO? Или при симуляции в NX G-кода моделью станка? Никак не могу суть уловить. Или не выспался)

Нажимаю кнопку симуляция станка , симуляция программы ЧПУ и симко открывается с программой .

Link to post
Share on other sites
46 минут назад, Дядя сказал:

Нажимаю кнопку симуляция станка , симуляция программы ЧПУ и симко открывается с программой .

Ну видимо в папке станка у тебя этот же постпроцессор установлен. Отредактируй его. Закомментируй запуск симки. Честно говоря вот тут я не в курсе. Я симуляцию G-кода не делаю. CSE драйвер не победил пока. Пытаюсь с нуля написать.

Link to post
Share on other sites
Только что, an-kval сказал:

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

В папке станка поста нет , пост в папке постпроцессор , получается что при симуляции NX постпроцессирует программу чтобы ее проверить через симулятор , по этому открывается симко.

Link to post
Share on other sites
4 минуты назад, Дядя сказал:

В папке станка поста нет , пост в папке постпроцессор , получается что при симуляции NX постпроцессирует программу чтобы ее проверить через симулятор , по этому открывается симко.

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

Link to post
Share on other sites
1 час назад, an-kval сказал:

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

Понял , спасибо.

Link to post
Share on other sites
1 час назад, mr_Voden сказал:

@an-kval Просто добавь проверку запущена ли симуляция. Выше написал пример такой функции.

Да мне и не надо было) Но всё равно спасибо за код.

Link to post
Share on other sites
  • 1 month later...
Shershen

@an-kval

Спасибо за код. Очень интересно.

Я отсутствие листинга самостоятельно победить не смог, а мне надо. Попробую как работает ваш вариант.

 

Поэтому остановился на следующем простом варианте. Может пригодится кому.

Имя файла задаю атрибутом, потому что его же вывожу в карты наладки (рабочие инструкции) и иногда в саму уп.

При постпроцессировании задаю имя любой кнопкой. В папку падает УП с нужным мне именем, а листинг открывает вот эту самую временную копию, которую иногда смотрю.

Остальные уп проекта постятся просто нажатием ОК.

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

 

Насчет mom_output_file_suffix, не понял. Он жеж для поста инструментами самого постбилдера задается.

И файлы уп с нужным расширением сразу и получаются.

 

 

#=============================================================
proc PB_CMD_rename_output_file { } {
#=============================================================
# Переименование файла УП именем атрибута 
# mom_attr_PROGRAMVIEW_NAME, если он есть.
# Вставить в самый конец программы.

# return

global mom_output_file_basename
global mom_output_file_directory
global mom_output_file_suffix
global mom_output_file_full_name
global ptp_file_name

global mom_group_name 
global mom_oper_program
global mom_attr_PROGRAMVIEW_NAME 
global mom_attr_PROGRAMVIEW_name
global mom_attr_PART_NUMBER 
global mom_attr_PART_number
global output_file_rename

global mom_sys_control_out 
global mom_sys_control_in 
set co $mom_sys_control_out
set ci $mom_sys_control_in

    if { ![info exists mom_attr_PROGRAMVIEW_NAME] || \
        ![info exists mom_attr_PROGRAMVIEW_name] } {
return
    }

# вместо mom_attr_PROGRAMVIEW_name любая переменная с нужным именем УП
# например output_file_rename
    if { [info exists output_file_rename] } {
        set file_name $output_file_rename
    } elseif { [info exists mom_attr_PROGRAMVIEW_NAME] } {
        set file_name $mom_attr_PROGRAMVIEW_NAME
    } elseif { [info exists mom_attr_PROGRAMVIEW_name] } {
        set file_name $mom_attr_PROGRAMVIEW_name
    }

set new_full_filename "$mom_output_file_directory${file_name}.$mom_output_file_suffix"

# закрыть текущий файл
MOM_close_output_file $mom_output_file_full_name

# копировать с перезаписью существующего файла
file copy -force $mom_output_file_full_name $new_full_filename


}
#

 

 

 

 

Edited by Shershen
Link to post
Share on other sites
an-kval
8 часов назад, Shershen сказал:

@an-kvalСпасибо за код. 

 

Пожалуйста. Пробуй. По переменной расширения уп что именно смущает? Если вариант прямого написания в коде, это для тех, кто не хочет искать где в постбилдере устанавливается расширение. Просто фича)

p:s. Я файлы уп сразу открываю в cimco, листинг вообще отключил. Гораздо удобнее, не надо искать файл, сразу редактируешь.

Edited by an-kval
Link to post
Share on other sites

Подскажите пожалуйста в чём может быть проблема

процедура вывода УП в CIMCO выглядит так:

#=============================================================
proc Open_NC_file_by_CIMCO { } {
#=============================================================
# Вывод постпроцессируемого файла в CIMCO edit
#=============================================================
global mom_output_file_directory mom_output_file_suffix
global mom_operation_name ptp_file_name

exec C:\\CIMCO\\CIMCO2023\\CIMCOEdit\\CIMCOEdit.exe $ptp_file_name & 
}

 

при постпроцессировании ошибка, файл занят другим процессом

 

изображение.png

 

 

Link to post
Share on other sites
an-kval

Сделате как в моём примере. Там всё работает. Проблема в том, что вы пытаетесь запустить $ptp_file_name

Link to post
Share on other sites
  • 3 weeks later...
15.01.2026 в 18:33, an-kval сказал:

Сделате как в моём примере. Там всё работает. Проблема в том, что вы пытаетесь запустить $ptp_file_name

Разобрался в чем была проблема, я передавал на открытие файла УП в CIMCO не закрыв запись в него постпроцессором, иными словами файл УП был еще занят постпроцессором.

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    No registered users viewing this page.

  • Сообщения

    • Andrew-1602
      Добрый день. Станок TRUMATIC 2000R  Включили при температуре 10 градусов пуансон начал  подергался после перезагрузки выдал ошибку подскажите что делать.  https://disk.yandex.ru/i/pboGBhHCAOm2Bg  
    • MixaIT
    • VHM
      Закрывал. В реестре список пуст и пробовал полностью удалять папку  Recent File List 8.0".  Она по новой создается при открытии PM(пустая), ноооо в PM список как был так и остается.  Удалял, перезагружал, и т.д. все, что можно сделать с этой папкой делал, не помогает. Version: 2023.1.1 Windows 10
    • andryushik280188
      Спасибо, сделал карту под себя.
    • Fedor
      Экспорт мухоморов из России активно растет, так как на Западе и в Азии этот гриб стал популярным сырьем для альтернативной медицины и биодобавок.  Основные причины и цели экспорта: Фармакология и косметология: За рубежом компоненты мухомора (после специальной обработки) используют для создания мазей от ревматизма, артрита и кожных заболеваний. Тренд на микродозинг: В ряде стран (например, в США) существует высокий спрос на сушеные шляпки для употребления в сверхмалых дозах. Сторонники метода утверждают, что это помогает бороться с бессонницей, тревожностью и депрессией. Альтернативная медицина: Интерес к грибам резко подскочил в период пандемии, когда люди начали искать нетрадиционные способы укрепления иммунитета. Доступность сырья: В России мухомор распространен повсеместно, а его сбор и экспорт в сушеном виде юридически не запрещены (если вид не занесен в Красную книгу).  Основные покупатели российских мухоморов — США, Филиппины, Германия, Италия и Киргизия. Только из Пермского края в 2023 году вывезли более полутонны сушеных грибов.    Во тема для бизнеса .  Летом и осенью их как грязи в лесу :)  На внутреннем рынке цены на красный мухомор (Amanita muscaria) в среднем составляют: Опт (заготовители): от 10 000 до 15 000 рублей за килограмм. Розница (маркетплейсы и спецмагазины): от 18 000 до 35 000 рублей за килограмм (в пересчете из мелкой фасовки по 50–100 г). Пантерный мухомор (Amanita pantherina) стоит значительно дороже — от 50 000 до 80 000 рублей за кг, так как он более редкий и содержит более высокую концентрацию действующих веществ.    В Германии В Европе мухоморы позиционируются как экзотическое сырье для коллекционирования или косметологии, что диктует более высокую стоимость: Средняя цена: от 400 до 600 евро за килограмм (около 40 000 – 60 000 рублей). Мелкая розница: на европейских сайтах и в специализированных «этноботанических» магазинах цена может достигать 1–1,5 евро за грамм (до 1000–1500 евро за кг), если товар позиционируется как продукт высшего качества (Grade A).  Почему такая разница? Основная наценка в Германии связана с логистикой, необходимостью прохождения таможенного контроля (который становится всё строже) и рисками, связанными с правовым статусом продукта в разных странах ЕС.  Важно: Помните, что мухомор является ядовитым грибом. В России его продажа в качестве пищевого продукта запрещена, а употребление может привести к тяжелому отравлению.     Для мухоморов и большинства трубчатых грибов действуют следующие пропорции: Коэффициент усушки: в среднем 10:1. Вес: из 10 кг свежих грибов получается примерно 1 кг сушеных. Если говорить конкретно о мухоморах, то их шляпки теряют в весе чуть меньше, чем ножки, но общее правило сохраняется. Чтобы получить 1 кг сушеного продукта, который в Германии стоит 400–600 евро, заготовителю нужно собрать и переработать не менее 10–12 кг свежего сырья. Ай да ИИ  всему научит :)  5 кГ собрать в сезон в день вообще не проблема, а легкая прогулка. А это 250 евриков в день. За 20 дней 5000 евриков. А если организовать бабушек в деревне на сбор и платить по штуке евриков примерно в месяц, то за сезон можно лимон евриков заработать :) 
    • maxx2000
      жутко интересно, но ни хрена непонятно. какая ему в жопу разница старая там сборка или новая. он должен проецировать что угодно и куда угодно если он может это проецировать
    • tiomat
      Экспериментировал с деталью (алюминиевая оребренная труба длиной 2 метра) по умолчанию система подхватывает либо точки по углам плоскостей (если они активны), либо неопределенные точки на поверхности детали и когда начинаешь вращать сцену труба вращается, скажем так, по не очень предсказуемой, далеко не предсказуемой траектории. Следуя логике системы, чтобы комфорта крутить модель надо вначале курсором поймать ее центр, ну и далее вертеть. Я моделирую уже более 20 лет, вначале немного был Компас, ну а потом Солид, ну почему в этих, как я понял, менее профессиональных программах это решение реализовано гораздо комфортней и понятней. Я еще не встречался с ситуацией, когда деталь надо вертеть вокруг какой-то неопределенной точки с непредсказуемым результатом, если есть такие, отзовитесь. Один из тех случаев, где чрезмерная "гибкость" выходит боком. Хороший функционал -"вам как вертеть-через ...опу или нормально", если нормально, то выберите в настройках "не вертеть через ...опу". Не судите строго, понятное дело, что еще не привык, но в данном случае дело не в привыкании.
    • Fedor
      Это для нестационарных задач, а что можно сказать об устойчивости  нелинейных задач ?  
    • SergAG
      Просто чтобы не осталось в ветке нерешенных вопросов. В общем, солид не дает создавать на детали зависимостей в новой сборке, если присутствуют таковые в старой. Просто редактировать можно. Но преобразование объекта такие зависимости создает, и чтобы они не конфликтовали со старой сборкой, эти связи можно только разорвать. При этом не важно, относятся ли связи к тем же или другим элементам эскиза - вот что для меня было неожиданно. Отверстия, которые я хотел создать в новой сборке, отсутствовали в старой. И тем не менее... Геометрия детали при разрыве не меняется, но, потеряв связи, эскиз детали становится не полностью определенным. Это я проверил на простых примерах сборок.
    • Foksmen
      Как правило, если используется МКЭ, то для дискретизации используются неявные методы. В таком случае с устойчивостью проблем быть не должно.
×
×
  • Create New...