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

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 эмодзи.

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

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

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

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

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




  • Сообщения

    • alek77
      Да, спасибо, я уже из интереса ее нашел. Еще раз повторю, чтобы не выхватить, сам я такими методами указния размеров не пользуюсь, это самая вредная практика из всех, что встречал. В свое время имел много проблем в автокаде, корректируя чужие чертежи. Но там и отртогональные линии под углом в 0,001 градуса были в норме, и миллион линий одна поверх другой, и незамкнутые отрезки и много всего, от чего волосы дыбом. В солиде, думал, не столкнусь с таким, наивный. Поэтому искал и нашел макрос который косяки размеров подсвечивает. Он вполне рабочий, но не стабильный. В чем причина не разбирался, так как со своей задачей он справляется. Причем отрабатывает и галочки, и замену текста в размере. Хорошо, что @malvi.dp нашел время и что-то корректирует, спасибо отдельное ему за это. Макрос достаточно полезный при работе с чужими документами. И если удастся сохранить все начальные функции этого макроса против изощренных методов вредительства - будет офигенно.
    • Kelny
      Если этой ссылки достаточно для отображения материала и материал уже есть в обозначенной модели, то возможно подойдёт TabBuilder: https://help.solidworks.com/2023/russian/SolidWorks/SWHelp_List.html?id=e68c1877b4fa431483f8c751bd9fcc78&_gl=1*lby1j3*_up*MQ..*_ga*NTEyNjA5NDQ3LjE3MTQxMTU3MzA.*_ga_XQJPQWHZHH*MTcxNDExNTcyOS4xLjEuMTcxNDExNTczNy4wLjAuMA..#Pg0   В старых версиях при написанни ссылок такого радо в некоторых случаях можно было не писать имя файла, а достаточно было вместо имени файла модели оставить ПРОБЕЛ.SLDPRT и имя после этого подставлялось само. Пробовать надо.   Так же можете глянуть макрос по изменению свойств файла (методы и функции там устаревшие, но возможно даже будет работать и можно поковыряться в коде): https://kelnyproject.ucoz.ru/load/6-1-0-8 по програмированию так же есть справка (версию в ссылке поменяйте на свою, что бы справка была актуальна для вашей версии): https://help.solidworks.com/SearchEx.aspx?query=get custom property&version=2010&lang=english,enu&prod=api
    • gudstartup
      только перед обновлением обязательно выполните  все что написано в руководстве и касается сохранения состояния станка и чпу. и обязательно сделайте образ диска и помните что слишком новые версии могут не заработать на вашем чпу относительно безопасно ставить только сервиспаки
    • NordCom
      Большое спасибо! Через это меню удалось зайти в меню. 95148->MOD
    • Danil89nur
      Доброе время суток. Столкнулся с проблемой на новой работе. Много деталей у который в свойствах отсутствует раздел "Материал" и приходится каждый раз вручную заходить туда, создавать раздел и выбирать там ""SW-Material@Name.SLDPRT". Возможно кто-то знает, либо сможет помочь с написанием простенького макроса, при нажатии на который в свойствах детали будет создаваться необходимый раздел и в нем сразу написан выбранный материал (желательно, чтоб там было указано сразу наименование материала, а не формула для его получения ""SW-Material@Name.SLDPRT"). Пытался самостоятельно через ChatGPT, но так как в програмировании я 0, то ничего не получилось)
    • Bot
      Коллеги, Благодарю вас за интерес к проекту электронной энциклопедии в области инженерного программного обеспечения PLMpedia, который более 15 лет развивался группой компаний ЛЕДАС. Представленный ниже скриншот передаёт содержание и структуру базы данных энциклопедии, накопленной за эти годы: именно такую начальную страницу, можно было до сегодняшнего дня увидеть, придя по адресу https://plmpedia.ru/ В последние несколько лет ЛЕДАС особенно интенсивно и результативно вкладывает все ресурсы в развитие своего основного бизнеса: см. ниже «О компании ЛЕДАС». Сегодня я с некоторым сожалением констатирую, что у компании ЛЕДАС более нет возможности отвлекать ресурсы своих сотрудников на некоммерческий (фактически волонтерский) проект PLMpedia. Вся база данных ресурса может быть безвозмездно передана любому юридическому или физическому лицу с единственным условием: наш преемник должен будет публично объявить о состоявшейся передаче и взятии на себя [...] View the full article
    • gudstartup
      @NordCom  у вас наверное это так происходит читайте этот раздел itnc_530.pdf
    • fenics555
      интересный индус. А нового то чего?
    • gudstartup
      откудова качаете мне интересно?
    • ДОБРЯК
      Совсем забыл про собственные вектора       собственный тон частота           0.013                        1   Расчет собственных форм и частот   1         1   7.0711E-01   0.0000E+00   0.0000E+00   0.0000E+00   0.0000E+00   0.0000E+00   1         2   7.0711E-01   0.0000E+00   0.0000E+00   0.0000E+00   0.0000E+00   0.0000E+00       собственный тон частота       15910.75                         2   Расчет собственных форм и частот   1         1   7.0711E-01   0.0000E+00   0.0000E+00   0.0000E+00   0.0000E+00   0.0000E+00   1         2  -7.0711E-01   0.0000E+00   0.0000E+00   0.0000E+00   0.0000E+00   0.0000E+00        
×
×
  • Создать...