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

Еще один вопрос по Nxopen


Santiago

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

Добрый день!

Написал простенькую DLL для реализации собственной стратегии обработки...

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

Вот например участок сода, где запрашиваются точки при настройке параметров операции:

....

if (purpose == UF_UDOP_USER_PARAMS)

{

uc1601("Настройка параметров операции",1);

uc1616("Укажите верхнюю точку", defalt, 0, Start_point);

uc1616("Укажите нижнюю точку", defalt, 0, End_point);

.....

}

Но при генерации этот участок не вызывается, а запрашиваемые переменные (Start_point и End_point) оказываются пустыми.

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

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


Записывал в атрибуты операции

// проверяем ести ли записанные значения в атрибутах
if (UF_CALL(UF_ATTR_find_attribute (tag_oper, UF_ATTR_integer, "type_cut", &title_type))) return -1;
if (title_type != 0)
{
  rez = read_init_data(); // есть, то считываем
  real_par[0] = <var>; // передаем в диалог
  ...
}

int read_init_data(void)
{
  rez = Read_Param_to_Attr_oper ("step_cut", &my_troch.step_cut, tag_oper);
  rez = Read_Param_to_Attr_oper ("type_cut", &my_troch.sign_rotate, tag_oper);
  rez = Read_Param_to_Attr_oper ("compress_troch", &my_troch.compress, tag_oper);
...
  return 0;
}

// считывание переменных операции из атрибутов операции
int Read_Param_to_Attr_oper (char name_param[uF_ATTR_MAX_STRING_LEN], int *value_param,  tag_t tag_oper)
{
  UF_ATTR_value_t value;
  if (UF_CALL(UF_ATTR_read_value (tag_oper, name_param, UF_ATTR_integer, &value))) return -1;
  *value_param = value.value.integer;
  return 0;
}

Есть свои минусы, самый оптимальный, но и самый геморойный через UDO. По началу можно и в атрибуты операции записать и считывать.

Функция Read_Param_to_Attr_oper была перегружина для всех типов переменной value_param, чтобы для считывания использовать одну функцию

Удачи

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

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

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

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

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

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

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

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

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

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

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




  • Сообщения

    • Jesse
      ну задача Кирша то описывает единственный случай - отверстие в бесконечной тонкой пластине. У меня же объёмное тело.. Так что Питерсон тут реально выручает дайте картинку. Ни черта не понятно
    • Mihanoid
      Не хотелось бы. Итерации, вещь полезная, иногда выручают. Да и не думаю, что проблема в этом. В библиотеку в принципе не должно ничего сохраняться. 
    • Annaker
      Добрый день. Можно ли с вам как-то лично связаться? 
    • kinovari
      Исходный проект есть, открыть его без тулбокса не получается.  https://prnt.sc/ZtPH--Acn6Do . А в каком мануале инфа по работе с $A_IN? Просто с сименс наши закупают крайне редко... 
    • Клиент
      Это какая то секретная версия для секретных работ: https://en.wikipedia.org/wiki/Mastercam
    • Борман
      Максимально абстрактная формулировка...   Есть нагрузка в виде переменного воздействия "Э" (условно переменное напряжение), есть исследуемая механическая система ("МС"), которая восприимчива к обычному механическому воздействию. Между "Э" и "МС" есть электро-механическая система "ЭМС", на которую можно воздействовать напряжением и которая будет откликаться перемещением.   Ну т.е. логика такова: Э -> ЭМС -> МС. Это было для примера, а теперь просто представляем некую степень свободы Э, которая не может воздействовать на МС, но может это делать только через ЭМС.   У ЭМС есть собственные частоты и формы, которые связывают "Э" и "М" степени свободы. Если такая же частота будет присутствовать в МС - системе, то это будет опасно, и "Э" - воздействие будет вызывать резонанс в МС-системе. С этим вроде как понятно.   Но если я буду рассматривать единую "ЭМС+МС" - систему. У этой системы есть собственные частоты, формы будут связывать Э и М степени свободы, и ничего особенного я не увижу.. НО как понять, что нагружать эту систему нагрузкой Э опасно ?
    • gudstartup
      а 319 контроллеров у вас нигде более нет чтобы попробовать? может попробовать обычным step7 выгрузить 317 добавив туда какой нить аддон поновее версии? вы побольше выливайте все впитаем а с чего вообще взяли что аддон синумерик 1 предназначен только для тиа портала? для этого в степ 7 были аппаратные апдейты и я уверен что в тиа они тоже есть только нам сейчас недоступны
    • Andrey.V
      Совсем нет, у меня есть х8. 2016 совсем другой 
    • hlibhlib
      Нашел в инете запись про мастеркам 2016 = Оказывается, это Мастеркам 8 
    • Andrey.V
      2016 версия  Выше ответил. Оригинал файла не могу выслать, поищу что-то похожее и обязательно вышлю 
×
×
  • Создать...