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

User Defined Object как правильно его зарегистрировать?


bazelboday

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

           добрый день. мне необходимо заменить Nx-скую функцию на свою. порылся в инете, там есть описание как это сделать, и сказано что придется создавать UDO. Т.е. для того чтобы функция была доступна с самого запуска NX на всем протяжении работы программы.

          вопрос:  Как правильно зарегистрировать UDO? 

таким образом?:

 

 

extern DllExport void ufsta( char *param, int *returnCode, int rlen )//DllExport
{
    /* Initialize the API environment */
    UF_initialize();
 
 .    
UF_UDOBJ_create_class (.....) ;
 
 
 
UF_terminate();
}
 
extern UFUNEXPORT int UF_UDOBJ_create_class (
char * class_name ,/* <I>
                   The class name for the particular type of User
                   Defined Object.
                   */
char * friendly_name ,/* <I>
                      A user-friendly name that appears in the class
                      selection dialog (if enabled) and in other
                      locations where a name is useful.
                      */
UF_UDOBJ_class_t * class_id  /* <O>
                             The class identifier. This identifier is not
                             persistent across NX sessions nor is it stored in
                             NX part files.
                             */
 
 
 
 
 
не могли бы вы немножко подробнее описать как это сделать, что где как?Т.е. регистрируем класс как UDO, в самом классе создаем нужный нам метод, по необходимости регистрируем callback функции и все? Посмотрю еще пример который есть в NXOPEN, но если есть какие-то дополнительные нюансы был бы рад услышать. Спасибо  
 
 
 
 
 
 
Ссылка на сообщение
Поделиться на других сайтах


мне необходимо заменить Nx-скую функцию по импорту сборки в тимцентр (Autotranslate). она переименовывает файлы деталей(.prt) в Teamcentr из NX. как это сделать указано здесь http://plmdojo.com/datamig/automate-nx-migrations-autotranslate/#.U7vSEJR_uxo но сказано что необходимо чтобы dll грузилась сразу при запуске NX и для этого необходимо сделать UDO и dll закинуть в UDO папку

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

А где вы там UDO нашли??? 


The basic template for your autotranslate function is something like this:

extern "C" DllExport // export for unit tests
int plmdojo_autotranslate( const char input[MAX_FSPEC_SIZE + 1],
char output[MAX_FSPEC_SIZE + 1])
{
    if ( input[0] == '@')
    {
     // export
     return tc_to_native(input, output);
    }
    else
    {
     // import
     return native_to_tc(input, output);
    }
}

Вот основной шаблон транслятора. Допиливайте и используйте его.

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

далее в статье идет 

 

Registering a custom Autotranslate Function

You instruct NX to use your autotranslate function instead of the default with theUF_UGMGR_set_clone_auto_trans() function. Loading a DLL at NX start up that contains this function would do the trick:

extern "C" DllExport
void ufsta( char *param, int *returnCode, int rlen )
{
UF_initialize();
UF_UGMGR_set_clone_auto_trans(plmdojo_autotranslate);
UF_terminate();
}

Search the NX documentation for Automatic Loading At NX Start-up for information on loading shared libraries at start up.


Search the NX documentation for Automatic Loading At NX Start-up for information on loading shared libraries at start up.

 

смотрю в справочнике NX и там как раз говорится что нужно делать UDO

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

вообще мог бы кто-нибудь рассказать вкраце про концепцию UDO и про библиотеку функций для работы с ними

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

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

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

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

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

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

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

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

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

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

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




  • Сообщения

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