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

UnigraphicsNX help


Alexandr

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

Протянуть образующую по двум направляющим.

Можно с заметаниями поиграться:

https://docs.plm.automation.siemens.com/tdoc/nx/10/nx_help/#uid:index_modeling:xid868388:create_freeform_fff_string

https://docs.plm.automation.siemens.com/tdoc/nx/10/nx_help/#uid:index_modeling:xid868388:id651751:create_freeform_swept_ov:create_freeform_swept_how_to_1_2_guide

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

https://docs.plm.automation.siemens.com/tdoc/nx/10/nx_help/#uid:index_modeling:xid868388:id651691:create_freeform_fff_curve:create_freeform_alignment_option_rt

https://docs.plm.automation.siemens.com/tdoc/nx/10/nx_help/#uid:index_modeling:xid868388:id651691:create_freeform_fff_ruled_over:fff_ruled_options


Только "нижнюю направляющую окружность" разбейте заранее на такое же кол-во сегментов, как у "верхнего напрвляющего прямоугольника" - т.е. если сверху 4 прямых + 4 дуги, то в нижнем сечении тоже должно быть 4+4=8 дуг.

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


Протянуть образующую по двум направляющим.

Можно с заметаниями поиграться:

https://docs.plm.automation.siemens.com/tdoc/nx/10/nx_help/#uid:index_modeling:xid868388:create_freeform_fff_string

https://docs.plm.automation.siemens.com/tdoc/nx/10/nx_help/#uid:index_modeling:xid868388:id651751:create_freeform_swept_ov:create_freeform_swept_how_to_1_2_guide

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

https://docs.plm.automation.siemens.com/tdoc/nx/10/nx_help/#uid:index_modeling:xid868388:id651691:create_freeform_fff_curve:create_freeform_alignment_option_rt

https://docs.plm.automation.siemens.com/tdoc/nx/10/nx_help/#uid:index_modeling:xid868388:id651691:create_freeform_fff_ruled_over:fff_ruled_options

Только "нижнюю направляющую окружность" разбейте заранее на такое же кол-во сегментов, как у "верхнего напрвляющего прямоугольника" - т.е. если сверху 4 прямых + 4 дуги, то в нижнем сечении тоже должно быть 4+4=8 дуг.

Спасибо огромное, буду изучать)

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

Ёперный театр! Опять @Инкогнитo ранили  :gun_guns:

А я все жду видоса, так как свой станок на машинкодсимулейшн уже в хламину поломал. :sad:

На счёт видоса - есть что показать, но всему своё время...
Изменено пользователем Blurp
Ссылка на сообщение
Поделиться на других сайтах
Ёперный театр! Опять Инкогнитo ранили :gun_guns: А я все жду видоса, так как свой станок на машинкодсимулейшн уже в хламину поломал. :sad:

Сдулся крендель. И мне модель станка не прислал, хотя неделя с лишним прошла уже. Видно, зажал он 50000, которые за рабочий пример обещал. Надо у своего юриста спросить, можно ли товарища за упущенную выгоду привлечь. :bash: Хоть какую неустойку срубить, а то я уже планов на этот полтинник настроил громадьё. :biggrin::drinks_drunk::cool:

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

@vicebear, Эх, мне бы ваш задор. Пока, как новичок, мало смешного нахожу в затронутой теме.

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

И мне модель станка не прислал
что мешает подгрузить похожую модель станка из стандартной базы станков ?

Начал с того, что в папке с примерами нашел этот станок. И стандартные посты при нём.

возьми и ПП из стандартной базы

Вывод: ось стола не подворачивается. :no: 

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

Результат хоть и отрицательный, но, хорошо уже то, что @Инкогнитo заставил почесать репу.

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

Помогите. Станок DF3  У станка 2 револьверные головки. 1 3 5 7 9 11 позиции. 2 4 6 8 10 позиции.
Если после точения (1 револьверная головка) надо что то рассверлить или протачить (2 револьверная головка) то надо что бы 1 револьвераня головка заняла позицию 11( там нет инструмента) иначе возможно столкновение инструментов. 

Как в постпроцессоре это описать? может кто помочь? 

Что то типа: if tool number = 1 3 5 7 9 {какая нибудь переменная = true } else {какая нибудь переменная = false}
if tool number = 2 4 6 8 10 and значение переменной true, when. mom_do_template povorot golovi

а в шаблоне "povorot golovi" будет содержаться следующее. 
T1111 - поворот в 11 позицию 
G04I6 - задержка по времени.

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

У меня есть немного допиленный стандартный 5-ти осевой В-голова С-стол. Ось В у меня поворачивается на +-100 градусов, а ось С сдвинута на столе станка до упора к левому краю, поэтому реально обработать деталь стоящую на поворотном столе со значениями В от +5 до -100 градусов. Я все эти данные забил в пост и он мне совершенно корректно пересчитывает углы с учётом моих ограничений без кинематической модели станка. Чтобы сделать доворот по осям при превышении XY уже нужна модель станка, нужно несколько MCS уже раскидывать, нужна будет процедура, которая лимиты проанализирует и поворотные оси довернёт. Если бы я эту процедуру писал, то вставил бы её, например, в MOM_before_motion. Кстати, вряд ли эта процедура в постах "из коробки" есть.

P.S. Я раньше писал, что NX имеет возможность учитывать кинематику станка, так же как и Спрут. Тут, насколько я понял, разница в принципе работы такая: в Спруте сначала определяется станок и потом вокруг него создаётся всё остальное; в NX вы можете для подавляющего большинства изделий писать обработку детали без привязки к кинематике станка, а для сложных случаев вы можете подгрузить станок и сделать обработку уже с учётом его разрешённых перемещений. Меня больше другой вопрос интересует, я этот вопрос уже здесь поднимал: какой алгоритм обработки перемещений по осям при превышении лимитов используется в Спруте? Составить алгоритм для доворота поворотных осей при превышении лимитов XY не очень сложно, а вот по какому принципу производить отходы-подходы при непрерывной 5-ти осевой обработке при достижении максимального угла поворота осей? В NX я такие перемещения могу в том же PB_CMD_init_rotary прописать, а в Спруте мне что, придётся кинематическую модель станка потрошить?

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

Уже 3 день ломаю голову(сижу с книжкой в обнимку :no: ), как описать что бы при повороте 2ой револьверной головки у токарного станка, 1 головка занимала 11 позицию.(иначе инструменты могут столкнуться )Неужели тут нет программистов? (Хотя бы идеюподскажите, если лень написать программку)

 

global mom_tool_number
global mom_next_tool_number

if {$mom_tool_number==1 || $mom_tool_number==3 || $mom_tool_number==5 || $mom_tool_number==7 || $mom_tool_number==9} 
set mom_tool_number 1
if {$mom_next_tool_number==2 || $mom_next_tool_number==4 || $mom_next_tool_number==6 || $mom_next_tool_number==8 || $mom_next_tool_number==10 }
set mom_next_tool_number 1 else set mom_next_tool_number 0
If {mom_tool_number == mom_next_tool_number}
MOM_do_template smena_11
else
MOM_do_template smena_bez_11

Изменено пользователем Artas28
Ссылка на сообщение
Поделиться на других сайтах
Неужели тут нет программистов? (Хотя бы идеюподскажите, если лень написать программку)

Какой код вам надо в итоге получить на стойке ЧПУ?

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

Какой код вам надо в итоге получить на стойке ЧПУ?

Постпроцессор я уже сделал. мне только это осталось настроить поворот головы в 11 позицию.

Инструмент  там поворачивается командой T0101 где сначал номер инструмента а потом корректор.

Если я работаю только первой револьверной головой. то у меня там всё сделано T0101 T0303 итд.

А если сначала работала 1 голова, а потом мне надо просверлить или расточить отв. нужно что бы было так 

N20T1111-  1 голова поворачивается в 11 позицию где нет инструмента

N25G04I6 - задержка по времени 6 секунд.

N30T0202 - 2 голова поворачивается в нужную позицию.

Вот я хочу сделать 2 шаблона. в одном будет [ T1111 G04I6   T($tool_number) а  второй обычный T($tool_number) 

И написать условия, если  работа идет только с 1 головой ( резцы) то использовать обычный шаблон  T($tool_number) а если   был (1 3 5 7 9- т.е. нечетный инструмент) а потом вызывается инструмент из 2ой головки( сверла и расточка) (2 4 6 8 10) то использовался второй шаблон (T1111 G04i6 T($tool_numbber) 

Надеюсь понятно обьяснил :D

Ссылка на сообщение
Поделиться на других сайтах
Вот я хочу сделать 2 шаблона. в одном будет [ T1111 G04I6 T($tool_number) а второй обычный T($tool_number)

Т.е. каждый раз когда вы берёте чётный инструмент вам нужно повернуть первую голову в 11-ую позицию? Тогда можно номер инструмента на чётность проверить и в случае, если инструмент чётный вывести нужный вам код в виде текста, а не шаблона:

MOM_output_literal "T1111"
MOM_output_literal "G04I6"

а потом уже вызвать обычный шаблон смены инструмента.

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

а как проверить инструмент на четность?

if( $var & 1) {}  нашел в интернете, работать  будет?

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

а как проверить инструмент на четность?

if( $var & 1) {}  нашел в интернете, работать  будет?

Не знаю, если честно, как эта конструкция работать будет. Можно как-то так: if { int ([expr $var/2]) == [expr $var/2] }.

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

Написал программу, логически всё верно, но выскакивает ошибка в "команды пользователя" наверно косяки со скобками. как их правильно расставить? где ошибка?
 

global mom_tool_number mom_next_tool_number
 
if {$mom_tool_number %2==0}{
set t1 0}
else
{set t1 1}{
if {$mom_next_tool_number %2==0}{
set t2 1}
else {
set t2 0}
}
 
if {t1==t2}
MOM_output_literal "T1111"
MOM_output_literal "G04I6"
MOM_do_template snena_t
else
MOM_do_template snena_t
 
 

post-54063-0-76786100-1479915233.png

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

Количество открытых скобок должно быть равно количеству закрытых.

P.S. По скобкам и правильной записи очень длинных выражений - это был мой первый зачёт 27 лет назад в школе на УПК по очень крутой в те времена специальности "оператор ЭВМ". У нас были ПЭВМ "Агат".

Ссылка на сообщение
Поделиться на других сайтах
global mom_tool_number mom_next_tool_number
 
if {$mom_tool_number %2==0} {
    set t1 0
} else {
    set t1 1
}
if {$mom_next_tool_number %2==0} {
    set t2 1
} else {
    set t2 0
}
 
if {"t1"=="t2"} {
    MOM_output_literal "poverni_mne_golovy"
 
} else {
    MOM_output_literal "Ne povorachivai"
}

поправил и упростил. При смене инструмента, при использовании шаблона выдаёт ошибку MOM_first_tool и что то там. 
А так при смене 1 инструмента на 2  выводит 2 строчку, хотя должен выводить 1 =((
Я плакать Т_Т
 
Он что не может понять где текущий tool_number а где next_tool_number?
Изменено пользователем Artas28
Ссылка на сообщение
Поделиться на других сайтах

Может быть вы хотели сравнить $t1==$t2?

Отлично! Теперь заработало! Совместными силами справились)) осталось разобраться с шаблоном. 

Спасибо:) с меня шоколадка )))

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

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

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

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

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

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

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

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

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

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

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

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

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




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