Jump to content

Поиск переменных в NX Postbuilder


Алексей1956

Recommended Posts

Алексей1956

Здравствуйте. Помогите разобраться.
При создании своего постопроцессора в Postbuilder, если использовать библиотечный постопроцессор fanuc, есть возможность выводить циклы продольного и поперечного точения. В варианте для поперечного точения постопроцессор меняет G71 на G72, но не меняет параметр U- глубина резанья, на W, что необходимо для цикла поперечного точения Haas.
Я решил подкорректировать этот момент, и у меня возник вопрос. За этот параметр отвечает переменная mom_turn_cycle_cut_depth. Это я увидел во вкладке N/C Data Definitios/Block постбилдера. Я стал искать эту переменную во всех 3-х файлах: *.tcl, *.def, *.cdl и в Browse MOM Variables. В файлах  *.def  ее значение выводится BLOCK_TEMPLATE lathe_roughing
  {
       G_motion[$dpp_turn_cycle_g_code]
       turn_cycle_depth[$mom_turn_cycle_cut_depth]
       turn_cycle_retract[$dpp_turn_cycle_retract]
       turn_cycle_msg[$dpp_turn_cycle_msg]\opt
И всё. Я предположил, что это какая-то встроенная переменная самого NX. Но почему её нет в Browse MOM Variables? Посмотрел некоторые другое переменные, и тоже не смог найти. В этом и вопрос: если переменная - машинная, то почему её нет в Browse MOM Variables, а если пользовательская, то почему я не могу её найти? В моем понимании все переменные должны быть назначены в каком-то файле постпроцессора посредством переменных и средств самого NX или являться "исходной" переменной.

Link to post
Share on other sites
  • 2 weeks later...


UnPinned posts
dimsond88

Эта обычная mom переменная, она создается не постпроцессором, а NX-ом. Если ты не решил еще свою проблему могу помочь?

Link to post
Share on other sites
vanek77777
7 часов назад, dimsond88 сказал:

Эта обычная mom переменная, она создается не постпроцессором, а NX-ом. Если ты не решил еще свою проблему могу помочь?

Если не сложно, расскажите, пожалуйста. Может будет полезна информация. Ещё интересен вопрос, где посмотреть полный список mom переменных в идеале хоть с коротким описанием. Заранее спасибо!

в Browse MOM Variables к сожалению не все переменные описаны.

Link to post
Share on other sites
dimsond88
34 минуты назад, vanek77777 сказал:

Если не сложно, расскажите, пожалуйста. Может будет полезна информация. Ещё интересен вопрос, где посмотреть полный список mom переменных в идеале хоть с коротким описанием. Заранее спасибо!

в Browse MOM Variables к сожалению не все переменные описаны.

Не необходимо что бы автор прислал как выводи цикл постпроцессор и как надо что бы выводил. Ну а так логика такая если направление резания 90 или 270 градусов то присвоить переменной turn_cycle_depth значение W, если 0 или 180 то U

Link to post
Share on other sites
Алексей1956

Спасибо. Мне подсказка не помешает. Случай с изменением цикла G71 на G72 мне кажется несколько проще, потому что меняется значение переменной $dpp_turn_cycle_g_code при изменении угла обработки. А как поменять значение ячейки "Leader" в "слове" опционально, для того чтобы поменять U на W я не знаю. Мне видится, что нужно просто писать циклы G72 и G71 в отдельных процедурах, а не в одной, как сейчас. Прав ли я в этом предположении? 

2 часа назад, dimsond88 сказал:

Не необходимо что бы автор прислал как выводи цикл постпроцессор и как надо что бы выводил. Ну а так логика такая если направление резания 90 или 270 градусов то присвоить переменной turn_cycle_depth значение W, если 0 или 180 то U

Это стандартный токарный пост Fanuc из библиотеки постбилдера. В нем в зависимости от угла обработки выводится G71 или G72. Численное значение глубины резания выводится правильно. А вот буквенное остается неизменным. Оно задается значением ячейки Leader во вкладке Word.

Link to post
Share on other sites
mr_Voden

@Алексей1956 Поступите проще.

Есть в def файле следующий код:

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

  ADDRESS turn_cycle_depth
  {
      FORMAT      Coordinate
      FORCE       always
      LEADER      "U"
  }

В дальнейшем он используется в:

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

  BLOCK_TEMPLATE lathe_roughing
  {
       G_motion[$dpp_turn_cycle_g_code]
       turn_cycle_depth[$mom_turn_cycle_cut_depth]
       turn_cycle_retract[$dpp_turn_cycle_retract]
  }

В посте этот шаблон вызывается в MOM_lathe_roughing

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

#=============================================================
proc MOM_lathe_roughing { } {
#=============================================================
   MOM_force Once G_motion
   MOM_do_template lathe_roughing

   MOM_force Once G_motion
   MOM_do_template lathe_roughing_1
}

Почему бы не сделать еще один шаблон:

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

  ADDRESS turn_cycle_depth2
  {
      FORMAT      Coordinate
      FORCE       always
      LEADER      "W"
  }

 

  BLOCK_TEMPLATE lathe_roughing2
  {
       G_motion[$dpp_turn_cycle_g_code]
       turn_cycle_depth2[$mom_turn_cycle_cut_depth]
       turn_cycle_retract[$dpp_turn_cycle_retract]
  }

 

 

И, отредактировав MOM_lathe_roughing, в зависимости от:

22 часа назад, Алексей1956 сказал:

Не необходимо что бы автор прислал как выводи цикл постпроцессор и как надо что бы выводил. Ну а так логика такая если направление резания 90 или 270 градусов то присвоить переменной turn_cycle_depth значение W, если 0 или 180 то U

выводить или lathe_roughing или lathe_roughing2?

Link to post
Share on other sites
dimsond88
30.01.2021 в 12:50, Алексей1956 сказал:

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

 

Fanuc_turn.tcl Fanuc_turn.pui Fanuc_turn.def

2 часа назад, mr_Voden сказал:

@Алексей1956 Поступите проще.

Есть в def файле следующий код:

  Показать содержимое

  ADDRESS turn_cycle_depth
  {
      FORMAT      Coordinate
      FORCE       always
      LEADER      "U"
  }

В дальнейшем он используется в:

  Показать содержимое

  BLOCK_TEMPLATE lathe_roughing
  {
       G_motion[$dpp_turn_cycle_g_code]
       turn_cycle_depth[$mom_turn_cycle_cut_depth]
       turn_cycle_retract[$dpp_turn_cycle_retract]
  }

В посте этот шаблон вызывается в MOM_lathe_roughing

  Показать содержимое

#=============================================================
proc MOM_lathe_roughing { } {
#=============================================================
   MOM_force Once G_motion
   MOM_do_template lathe_roughing

   MOM_force Once G_motion
   MOM_do_template lathe_roughing_1
}

Почему бы не сделать еще один шаблон:

  Показать содержимое

  ADDRESS turn_cycle_depth2
  {
      FORMAT      Coordinate
      FORCE       always
      LEADER      "W"
  }

 

  BLOCK_TEMPLATE lathe_roughing2
  {
       G_motion[$dpp_turn_cycle_g_code]
       turn_cycle_depth2[$mom_turn_cycle_cut_depth]
       turn_cycle_retract[$dpp_turn_cycle_retract]
  }

 

 

И, отредактировав MOM_lathe_roughing, в зависимости от:

выводить или lathe_roughing или lathe_roughing2?

Согласен, я так и сделал.

Edited by dimsond88
Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recently Browsing   0 members

    No registered users viewing this page.



  • Сообщения

    • Sergei
      В длине наклонной колонки конечно. Да.
    • sereke75
      А мне непонятно почему вендоры не стараются расширять постоянно базовый функционал своей системы. Добавляют то что не нужно в 95%. Например CREO. Функция вытянуть. До сих пор нельзя вытянуть с уклоном в разные стороны. То же вытягивание поверхности вообще без уклона. Убрали в проставлении размеров менеджер, для указания вариантов размера (пресечение, край, центр окружности и т.д.), Убрали поверхность заплатки (чтобы ее включить нужно лезть в настройки с подключением устаревших команд). Функционала  CIMATRON IT по построению поверхностей до сих пор нет в CIMATRON E. А построение ребра жесткости и токарная обработка появились только в 15 версии (хотя в ИТ они были изначально). С большими массивами у всех проблемы. Кто работает с пластиковыми изделиями, где много всяких пупырышек, красивостей, тот поймет. Хоть какой компьютер, на массиве в тысячу деталей начинаются проблемы. А это все БАЗА! И так почти у всех. На мой взгляд сейчас все идет к упрощению. Не просят, значит не нужно. Значит убираем. Было время (выход и завоевание рынка), когда вендоры прислушивались к любому мнению и вводили все, что где услышали или увидели вне зависимости от того просят их пользователи или нет. Сейчас же они разжирели и поставили всех в зависимость от себя началось. Чтобы я написал нужную тебе функцию, заплати мильоён. Иначе пиши сам, но до этого пройди у нас курсы за мильён по написанию функций. Конечно, можно и самому год разбираться ночами с программированием, написать модуль. Но а кто будет работать по основному профилю? На крупных предприятиях еще кое-где держат программистов для решения таких проблем, ну а что делать небольшим предприятиям? Покупать дополнительно модули для проектирования пресс-форм к тому же SW если ими пользуешься не часто никто не будет, потому что дорого (сейчас все деньги считают). Поэтому и работаем как говорит Сергей. Базовым функционалом и моделями, скачанными с сайтов производителей комплектующих. Единственная программа, в которой я сейчас вижу потенциал - Т-Флекс. Как по цене так и по возможностям. Если они инструментальную (пресс-формы, штампы, литейная оснастка) часть подтянут и сделают более дружественной работу в системе, то можно смело переходить на нее.  В качестве помощи разработчикам могу предложить идею по модулю пресс-форм (думаю и для штампов она подойдет). Идея состоит в использовании 2д компоновки. Есть такой базовый инструмент в Т-Флекс. Но для этого нужно сделать большую работу по созданию баз данных моделей стандартных компонентов (состоящих из двух тел, одно из тел вычитается из плит при установке в сборку) и чертежей на их основе. В 2д проекции на виде сверху раскладываются виды отливок, расставляются ползуны, подбирается пакет. На других видах расставляются по высотам комплектующие. Грубо говоря почти сборочный чертеж пресс-формы готов. И автоматически получается 3Д модель сборки пресс-формы. Нужно будет сделать классификатор (что у нас пуансон, что матрица, что подвижная, что неподвижная часть) для удобства дальнейшей работы. Дальше в 3д окне строятся линии разъема, поверхности разъема ну как у всех разделение на формообразующие детали. Модуль разделения мне нравится как сделан в CIMATRON. Ну и над выбором нужно поработать (сейчас есть выбор цикла). Нужно посмотреть как сделан выбор цепочек в том же CIMATRON или POWERSHAPE, выбор поверхностей внутри заданной области (CREO) ну и так далее. Но так же сделать возможность компоновать пресс-форму и сразу в 3Д окне. Кому так будет даже удобнее.
    • Snake 60
      Еще как работает. Разлочивается через реестр - погуглите. Отключайте все дополнения (add-in) и проверяйте работу, возможно какой-то один из них подвешивает систему.
    • Filaka
      Спасибо огромное! Все получилось 
    • REDGARS
      Нашел модели на сайте SW: https://www.solidworks.com/sw/support/54117_ENU_HTML.htm   Анализируя пошагово как они создавались, можно почерпнуть те знания и приёмы, которые позволяют моделировать лучше.
    • VICT0R_1945
      Солид действительно не поддерживает игровые видюхи, поэтому это стоит учесть, скажите, что вы делаете, поиграюсь у себя, может что-нить придумаю. Instant 2D/3D это где?
    • mamomot
      Я сам над собой хохотал... Бывает! Но сколько было эмоций до? Больше часа смотрел в цифру и думал над ее смыслом... Два справочных пособия почитал. Посмотрел официальные ролики с примерами. Даже в теорию заглянул...
    • Sergei
      Система рассчитана на то что конструирует конструктор, а не система. Система только помогает конструктору, забирая на себя всю рутину. Если бы Вы всё таки прочитали статью, то это поняли бы.   Да почитайте же статью. Не нужно никакой обратной совместимости.   1.4. Спроектированная пресс-форма должна быть сборкой по определению CAD-системы, в которой она проектировалась. Все сопряжения должны быть полностью определены, никаких зафиксированных деталей и подсборок. Детали должны иметь полностью определённые эскизы, в эскизах не должно быть зафиксированных элементов. Спецификация должна получаться как отчёт после чтения состава сборки, и сама спецификация должна быть спецификацией по определению CAD-системы, в которой проектировалась пресс-форма. Сама система не должна своими средствами генерировать спецификацию. Вообще в спроектированной пресс-форме должно быть всё родное, не должно быть никаких признаков того, что пресс-форма спроектирована не в базовом функционале CAD-системы. Если базовый функционал CAD-системы этого не позволяет, то нужно его развивать, а не перекладывать проблемы на систему проектирования пресс-форм.   Да там изменения минимальные. Всё это реально отслеживается разработчиками и выпускается обновление. Более того, загнав в библиотеки один каталог, другие загоняются элементарно. Для этого в большинстве случаев нужно просто изменить каталожное обозначение и всё.
    • DuS
      Не по теме. Разве реалвью работает с игровыми картами?    Насчёт фризов, копайте в настройках солида. Кстати, тупит только с какой то определенной сборкой или от сборки не зависит? 
    • frei
      Это наиболее логичное решение проблемы, но оно "тактическое". Грубо говоря, через год-два каталог устареет, и всё нужно будет начинать по новой? А ему то, как пользователю на рабочем месте хочется пользоваться При этом, при обновлении библиотек ничего не должно отвалиться, ни в старом, ни в новом проектах, т.е. обратная совместимость должна быть 100%. В случае с Крео -можно добиться достаточно легко и без ПДМ системы за счёт версионности файлов. В СВ, вряд ли, потребуется какая то надстройка над ПДМ системой (которая стоит денег), которая тоже будет стоить денег. Плюсом еще пойдут договора на тех. поддержку, которые, внезапно, тоже стоят денег. Владелец бизнеса что ответит на такой "бизнес-план"? это было во-первых. во-вторых, пример почему для России всё не так, как для Европы, пример попроще, открываем т-флекс и видим, например простые такие болты: Достаточно много. А теперь вопрос, какое кол-во из этих стандартных изделий можно применять? В чем подвох? Например, ГОСТ 7805 имеет Статус: Восстановлен в РФ для отдельных отраслей. только в отношении продукции, поставляемой по Государственному оборонному заказу; Приказ № 316-ст от 05.05.2015. Как на это должны реагировать разработчики ПО? Смешно? Мне-нет.      как сказал один академик:  
×
×
  • Create New...