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

Еще один вопрос по 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 пользователей

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




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