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

Документация к написанию постов


mk85

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

Всем привет!!!

Есть ли у кого нибудь документация или наглядные примеры по написанию постпроцессоров и инсталляции их потом в Unigraphics. Имею опыт по написанию постов в АДЕМе. Скачал книги,но там все обобщенно и непонятно:)

За раннее благодарен!

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


Всем привет!!!

Есть ли у кого нибудь документация или наглядные примеры по написанию постпроцессоров и инсталляции их потом в Unigraphics. Имею опыт по написанию постов в АДЕМе. Скачал книги,но там все обобщенно и непонятно:)

За раннее благодарен!

Если взять за основу Постбилдер, то разница будет слишком большой ...

Опыт Adem может пригодиться только с точки зрения процесса постпроцессирования, мне так кажется ...

Для начала я бы взял библиотечный контроллер и, ничего не меняя, сгенерил пост.

Затем можно посмотреть, что будет выводиться в УП.

Если что-то похожее есть - уже хорошо для начала ... а затем придется изучать закладки в Постбилдере и язык TCL, чтобы писать что-то сложное ...

В хелпе описан и язык, и основные разделы постбилдера, хотя очень сжато ...

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

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

Если взять за основу Постбилдер, то разница будет слишком большой ...

Опыт Adem может пригодиться только с точки зрения процесса постпроцессирования, мне так кажется ...

Для начала я бы взял библиотечный контроллер и, ничего не меняя, сгенерил пост.

Затем можно посмотреть, что будет выводиться в УП.

Если что-то похожее есть - уже хорошо для начала ... а затем придется изучать закладки в Постбилдере и язык TCL, чтобы писать что-то сложное ...

В хелпе описан и язык, и основные разделы постбилдера, хотя очень сжато ...

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

Угу, постбилдер + готовый пост - это хорошо, но когда начинаешь трогать циклы, то тут веселей. А ежели нестандартная ситуевина или нестандартный цикл. Вот долго думал, есть машина - вертикально-горизонтальная, но не 5-и осевая. Так вот, трабла была в том, что в режиме вертикальном - проблем нетю, а вот когда бошка становиться в горизонтальное положение - проблема. Нужно заменять вывод координат - Z становится Y и Y есесно Z, дык их исчо не просто заменить нужно, а поменять местами, при этом циклы отрабатываются когда ориентация шпинделя - Y. Решение пришло нестандартное. Взял С и написал приблуду, которая тупо меняет Y на Z и наобормот, а в билдере автоматом ориентацию Y (вместо Z). Т.е. есть внешний фай, который на вход глотает УП а на выходе ужо модернизированная УП

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

Угу, постбилдер + готовый пост - это хорошо, но когда начинаешь трогать циклы, то тут веселей. А ежели нестандартная ситуевина или нестандартный цикл. Вот долго думал, есть машина - вертикально-горизонтальная, но не 5-и осевая. Так вот, трабла была в том, что в режиме вертикальном - проблем нетю, а вот когда бошка становиться в горизонтальное положение - проблема. Нужно заменять вывод координат - Z становится Y и Y есесно Z, дык их исчо не просто заменить нужно, а поменять местами, при этом циклы отрабатываются когда ориентация шпинделя - Y. Решение пришло нестандартное. Взял С и написал приблуду, которая тупо меняет Y на Z и наобормот, а в билдере автоматом ориентацию Y (вместо Z). Т.е. есть внешний фай, который на вход глотает УП а на выходе ужо модернизированная УП

Тоже как один из вариантов, хотя и в постбилдере особых проблем не вижу ...

Поставил проверку вектора оси инструмента ... если Z - такой вывод, если Y - такой ... тут даже думать особо не нужно ... :smile:

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

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

Тоже как один из вариантов, хотя и в постбилдере особых проблем не вижу ...

Поставил проверку вектора оси инструмента ... если Z - такой вывод, если Y - такой ... тут даже думать особо не нужно ... :smile:

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

События пользователя - нужно знать где в cdl`e их еще и как создать, а потом и в шаблон влепить, незнающему - тяжеловато.

А вот про проверку вектора, по-подробней. С линейной и круговой интерполяцией - проблем нетю, а вот с ускоренными перемещениями - ? В билдере, вроде, нельзя их вообще удалить или местами поменять.

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

События пользователя - нужно знать где в cdl`e их еще и как создать, а потом и в шаблон влепить, незнающему - тяжеловато.

С начала может тяжеловато, хотя события пользователя описаны в хелпе ...

А вот про проверку вектора, по-подробней. С линейной и круговой интерполяцией - проблем нетю, а вот с ускоренными перемещениями - ? В билдере, вроде, нельзя их вообще удалить или местами поменять.

Если постараться, то обойти можно все ... или почти все ... да и способов не один :g:

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

#=============================================================

proc PB_CMD_rapid_move { } {

#=============================================================

# Uskorennye peremesh'eniya G0

global mom_pos

global mom_prev_pos

if { [expr $mom_pos(1) - $mom_prev_pos(1)] > 0 } {

MOM_do_template rapid_spindle_Y

MOM_do_template rapid_traverse_XZ

} else {

MOM_do_template rapid_traverse_XZ

MOM_do_template rapid_spindle_Y

}

}

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

С начала может тяжеловато, хотя события пользователя описаны в хелпе ...

Если постараться, то обойти можно все ... или почти все ... да и способов не один :g:

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

#=============================================================

proc PB_CMD_rapid_move { } {

#=============================================================

# Uskorennye peremesh'eniya G0

global mom_pos

global mom_prev_pos

if { [expr $mom_pos(1) - $mom_prev_pos(1)] > 0 } {

MOM_do_template rapid_spindle_Y

MOM_do_template rapid_traverse_XZ

} else {

MOM_do_template rapid_traverse_XZ

MOM_do_template rapid_spindle_Y

}

}

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

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

задам оч тупой вопрос..где редактор самого поста

#=============================================================

proc PB_CMD_rapid_move { } {

#=============================================================

# Uskorennye peremesh'eniya G0

global mom_pos

global mom_prev_pos

if { [expr $mom_pos(1) - $mom_prev_pos(1)] > 0 } {

MOM_do_template rapid_spindle_Y

MOM_do_template rapid_traverse_XZ

} else {

MOM_do_template rapid_traverse_XZ

MOM_do_template rapid_spindle_Y

}

}

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

задам оч тупой вопрос..где редактор самого поста

Может имелся ввиду Post Builder ...

Тогда еще нужен файл *.pui ...

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

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

Возможен и такой вариант, но если посмотреть повнимательнее, то ускоренные перемещения внутри поста постбилдера будут MOM_rapid_move, а PB_CMD_rapid_move всего лишь процедура пользователя, стоящая перед выводом адресов ...

но я не понял как вывод старых координат подавить, а новые - вывести.

Посколько в данном случае адреса модальные и уже будут выведены, их можно просто не подавлять

post-9624-1237310275_thumb.png

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

To GES

Спасибо за просвещение, обязательно попробую. Уж больно лень все время файлы УП повторно прогонять. Нужно заняться будет. О результате обязательно сообщу.

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

Чтой-то не получается :(

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

2. Начал искать, что такое rapid_traverse_XZ и rapid_spindle_Y, в браузере мом-переменных, дык ничего не нашел - что это такое (перевод с англ. я понимаю)

3. Попробовал поменять местами значения Z и Y (значение mom_pos(1) и mom_pos(2)), написал в билдере, как событие перед выводом координат - NX пишет ошибку

Все пробовал на скорую руку и понял, что лень (мне) быстрее написать не поможет, нужно будет посидеть ... :(

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

Чтой-то не получается :(

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

2. Начал искать, что такое rapid_traverse_XZ и rapid_spindle_Y, в браузере мом-переменных, дык ничего не нашел - что это такое (перевод с англ. я понимаю)

3. Попробовал поменять местами значения Z и Y (значение mom_pos(1) и mom_pos(2)), написал в билдере, как событие перед выводом координат - NX пишет ошибку

Все пробовал на скорую руку и понял, что лень (мне) быстрее написать не поможет, нужно будет посидеть ... :(

post-9624-1237616563_thumb.png

post-9624-1237616569_thumb.png

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

Вот, вроде как получилось :)

Сделал на подобие, как рекомендовал GES, токма:

I. в событии рапид - сделал процедуру смены координат Y (mom_pos(1)) на Z (mom_pos(2)) и наобормот ... (что я не смог раньше догадаться ?), а процедура написанная выше почему-то не заработала, ну я и не стал разбираться дальше, решил попробовать подругому

II. Заменил имя переменной Y на Z, ну есесно Z-Y. Таким образом, все выводится и без замены шаблона.

III. При выборе оси шпинделя - оставил ориентацию Z

IV. Все делал в Билдере

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

Отдельно: Большое человеческое спасибо GES`у

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

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

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

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

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

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

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

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

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

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

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



×
×
  • Создать...