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

Доработка постпроцессора!


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

а если FEDRAT не сразу после?

насколько я помню (это в доке расписано), для поиска конкретной команды 

лучше использовать Функцию <FindCld>

N = FindCld({<StartIndex>, }<CmdName>, <Data>)

Ну т.е в Вашем случае:

  b = FindCld("FEDRAT", V)

  if b>0 then begin

    Feed = V[1]                  ! и.е возьмет только значени, без учета единиц измерения (мм/об или мм/мин), за это V[3] отвечает.. добавить надо будет разбор если надо конечно

  end

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


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

 

 

     

aa: Array of Real                        ! объявляем массив

IndF = FindCld("FedRat", aa)    ! записываем в массив параметры будущей подачи т.е. все параметры из строки  
                                                   !CLData FEDRAT, при этом, если впереди по тексту есть вывод подачи то IndF=1 ,

                                                  !  а IndF=-1 если ниже нет вывода подачи.

if IndF>0 then Feed_=Str(aa[1])  ! Если в CLD файле операции имеется задание подачи то они присваивается

                                                    !  регистру Feed_ и выводится в текущем кадре, в следующем перемещении

                                                    ! оно не будет выведено поскольку параметр модальный.

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

У нас есть древний станочек, у которого стойка  о том, что такое лук э хед понятия не имеет. Хочу сделать в постпроцессоре автоматическое регулирование скорости в углах траектории в зависимости от величины этого самого угла.
1. Есть ли в генераторе какие то переменные где хранится значение этого угла? 
2. Имеются ли какая то переменная где хранится текущий признак условия сопряжения соседних элементов контура, типа тангенциально, перпендикулярно, под углом итд ?

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

! оно не будет выведено поскольку параметр модальный.

А если в нескольких кадрах  надо? как-то сброс модальности можно осуществить? или указать, чтобы выводилось в каждом кадре ? 

 

 

Feed = V[1]                  ! возьмет только значение, без учета единиц измерения (мм/об или мм/мин), за это V[3] отвечает..

 

Добрый вечер, подскажите, а как узнать в каких единицах эта подача (в CLData выдается 315/316 - это в чем)? и как сделать пересчет? 

Ссылка на сообщение
Поделиться на других сайтах
А если в нескольких кадрах  надо? как-то сброс модальности можно осуществить? или указать, чтобы выводилось в каждом кадре ? 

 

Feed = V[1] ;    Feed@ = maxreal  !   Символ @ обозначает что это "старое значение"   Такая конструкция позволяет отключить модальность и выводить одинаковые параметры в каждом кадре
Feed = V[1] ;    Feed@ = Feed  !   А такая конструкция позволяет невыводить параметр даже если они отличаются

 

Добрый вечер, подскажите, а как узнать в каких единицах эта подача (в CLData выдается 315/316 - это в чем)? и как сделать пересчет? 

 MMPM(315) – мм/мин,

MMPR(316) – мм/об

Например, в токарной обработке,  если значение 315 то выводим G94, если 316 то G95

У нас есть древний станочек, у которого стойка  о том, что такое лук э хед понятия не имеет. Хочу сделать в постпроцессоре автоматическое регулирование скорости в углах траектории в зависимости от величины этого самого угла.

1. Есть ли в генераторе какие то переменные где хранится значение этого угла? 

2. Имеются ли какая то переменная где хранится текущий признак условия сопряжения соседних элементов контура, типа тангенциально, перпендикулярно, под углом итд ?

<FlagIn> возвращает:
1 – если происходит внутренний обход следующего пересечения;
0 – если внешний обход;
-1 – если тип обхода невозможно определить (например, совпадение направлений соседних кадров при линейной интерполяции).
<Cross> – возвращает значение 0, если текущий элемент сопрягается с последующим, и 1 если пересекаются. В общем случае две прямые всегда пересекаются, прямая и окружность могут сопрягаться, либо пересекаются. Эта переменная может быть использована для реализации коррекции.
 
А вот величины угла нету, поэтому этих функций, не достаточно для решения вашей задачи.
Если есть желание разобраться могу выслать постпроцессор на робот Fanuc. Там эта задача решена в общем виде (без использования этих функций) т.е для пространственных углов. Поскольку плоская траектория - частный случай пространственной, то этот код можно попытаться встроить в ваш постпроцессор.
Изменено пользователем SNick
Ссылка на сообщение
Поделиться на других сайтах

Спасибо.Отредактировал.

У меня предложение, делаем отдельную тему, например, "Поспроцессор Fanuc c нуля". Если получится,можно будет продолжить Heidenhein c нуля, потом замахнуться на наших...Sinumerik,Ocuma...

Как вам такое предложение?  

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

Спасибо.Отредактировал.

У меня предложение, делаем отдельную тему, например, "Поспроцессор Fanuc c нуля". Если получится,можно будет продолжить Heidenhein c нуля, потом замахнуться на наших...Sinumerik,Ocuma...

Как вам такое предложение?  

Хорошее предложение. Только сейчас сезон отпусков. Давайте вернемся к этой теме в октябре

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

Подскажите а как в PB отредактировать пост чтобы он вместо i j писал G2 G3?
А в токарке С и R (фаска и скругление)

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

Подскажите а как в PB отредактировать пост чтобы он вместо i j писал G2 G3?

А в токарке С и R (фаска и скругление)

Я, конечно, могу написать как это делается в генераторе построцессоров SprutCAM, но вам же нужно в NX?

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

Совершенно верно
Но если  в спруте через создание нового значения и если вдруг не сложно, то напишите, а я попробую
Спасибо

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

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

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

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

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

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

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

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

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

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

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




  • Сообщения

    • Shoker
    • 4Zzz
      Всем хорошего здоровья и отличного настроения! Попросили меня посчитать толщину полипропиленового листа для наливной ёмкости. Вроде все условия задал, все перепроверил, но на выходе получаю, что для ёмкости Ø 3 м и высотой 1,5 м хватает листа толщиной 1 мм. По факту на таких ёмкостях ставят 5-8 мм.   При расчете применял материал полипропилен из Солида. Он сначала ругнулся, что отсутствует предел текучести. Погуглил, взял этот предел текучести 27 600 000 Н/м2 (с пробелами, чтобы легче воспринимать цифры). И вот мне кажется, здесь у меня и ошибка. Прошу посмотреть, какой у вас указан предел текучести полипропилена?  
    • Onizuka
      Только генерация экземпляров в кол-ве 13667 штук заняло 6 часов! Еще бы 4 дуги в сечении заменить, например на эллипс. Меньше ограничений в сечении - быстрее пересчет. Но это уже, скорее всего, излишне. Главная проблема вложенные таблицы и огромное кол-во экземпляров.
    • ak762
      я не очень знаком с современными терминами в среде молодежи, что такое дискорд в вашем понимании? если речь идет про файл то нет проблемм присоединяю к тексту СВ версия 2023 если про то как включить встроенный калькулятор то поставте галочки как обведено красным и в меню tools->toolbox   PS: ошибся с обведением должно быть Solidworks toolbox utilities Ibeam.SLDPRT      
    • sloter
      А в чём есть (может быть) проблема? Понятно, что в такую старую версию файлы новых версий АИ ассоциативно затягиваться не будут. А без связи - через нейтральный формат sat, stp, igs (как обычно) или dwg. Главное - версию формата понизить при экспорте до необходимой принимающей стороне. На сколько помню, МТД stp читал. А для этого формата вообще ни чего не нужно.
    • maxx2000
    • Мрачный
      Серва наверное. Ибо мотор-редуктор либо торчать будет вбок либо несуразно чтото выйдет. Сервы есть и под IP65/67, это мне вроде годится. Они вроде как в габаритах NEMA и будут, как шаговики. Буду смотреть типа Leadshine, маслостойкие. Спасибо за консультацию, коллеги.  Благодарю всех.
    • ДОБРЯК
      Это понимаете только Вы, что если величина сила скаляр, то и сила это скаляр. Что только не напишет великий математик на страницах форума. Только на литературном форуме это понимают и считают вас великим математиком... :=)
    • Stanislav
      Думается при таких партиях от 100 тыс за деталь на последнем чертеже.  Начертить 3д модель, разобраться с допусками, прикинуть технологию, написать программу. Около недели работы (5 рабочих дней) по последней детали например, может еще и не уложишься. Неделя работы инженера-конструктора-программиста ЧПУ  25тыс. руб.  Далее наладчик первую деталь налаживать будет не быстро, скорее всего за неделю 3-4 штуки сделает, набрать весь инструмент (а он тут не такой уж и простой), привязать, сделать первую деталь наверняка где нибудь провалит размер одним словом еще неделя + 25 тыс рублей. Есть начальник или еще кто то с кем надо поделиться +25 тыс рублей (Или просто компания должна заработать, а это уже не 25 а 50 т.р.).  Итого 75-100 тыс рублей грубыми прикидками за штуку при штучной партии. При следующих заказах уже -25 т.р. так как работа инженера уже выполнена.   
    • ДОБРЯК
      Хоть это поняли. Для какой матрицы делается численная факторизация для матрицы масс или матрицы жесткости? Забавно читать ваши сообщения. Чтобы найти первые собственные числа и вектора для матриц любой размерности не нужно решать СЛАУ.      
×
×
  • Создать...