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

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 пользователей

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




  • Сообщения

    • Amiandar
      Народ, а подскажите, почему не получается редактировать (1 раз только получилось спустя 100500 попыток, поэтому я не уловил причину) вот эти значения в момент нанесения линии в эскизе?   
    • Alex1986
      Коллеги, подскажите, пожалуйста, как в имеющемся Компас 3D v20 в как-то сопряженных деталях сделать в одной детали отверстие, а во второй детали отверстие завязать на центр отверстия первой детали, чтоб при перемещении первого и перестроении, автоматически перестраивалось отверстие во второй?
    • Cas
      Это поможет в изготовлении? Вы в этом уверены? Я думаю, что Вы сильно ошибаетесь. Я бы с Вами согласился - если бы Вы мне написали - что вот - фирма по производству отличных мелкомодульных шестеренок. Но Ваши чертежи они понять не могут. Ладно, даже могут, но им дико неприятно (прям фу), потому что там действительно есть некорректная простановка базы, неправильные геометрические допуски и т.д. НО... ситуация то не такая. Чертеж поправить - не сложно, но от этого производитель не найдется, к сожалению.  
    • Shoker
      Конструктора поменяйте на нормального, может будет делаться то, что надо
    • Liga
      Разобрался, реакции можно вытянуть и из МКЭ расчета, но только после правильного закрепления. Сверху - снизу Спс за наводку    
    • Cas
      Вот это дельное предложение. Спасибо. Боюсь, что так и придется делать. Т.к. найти изготовителей мелкомодульных шестерней - прям проблема оказалась. Насчет терпеливого оператора - то точно нет. Не на мелкосерийке. Насчет таблицы - не понял. Ее на чертеже специально нет - она отдельная, что указано в требованиях. Насчет прогресса - то откуда ему взяться то?
    • roiman
      Переделайте конструкцию валов-шестерен, раз проблема с изготовлением. Сделайте шестерни съёмными, на шпонках, хоть с прессовой посадкой. После этого шестерни можно будет изготовить в любой конторе с проволочником. Или тем же проволочником при помощи такой-то матери и терпеливого оператора - с перестановом, с технологическим шестигранником на конце вала для закрепления в тисах, к примеру. Шестигранник после прожига обрезается. Ну или хоть прошивной электроэрозией, если содержимое кошелька позволяет. Но нужна приспособа с поворотом, которая не у каждого есть.   Конструктора найдите другого. Это весёлые картинки, а не чертежи. Хоть бы таблицу с параметрами зацепления привели. Может и дело  было не в разбитом станке, а в способностях конструктора... И кто-то мне говорит, что всё нормально и прогресс. Ни чертежи уже не можем сделать, ни изготовить наипростейшее прямозубое цилиндрическое зацепление...
    • Chuvak
      Я не занимаюсь изготовлением) Но конструктор должен сразу делать нормальные чертежи изделий и знать как их будут изготавливать
    • mmaag
      Допуски на размеры толщины зуба s, w, M имеют допуски в два минуса, т.е. задают гарантированный боковой зазор. Это противоречит требованию об отсуствии люфта. Требование об отсутствии люфта в свою очередь противоречит работоспособности. Оформление сырое. Правильно оформленный чертёж поможет более адекватно оценить трудозатраты и риски и, следовательно, может помочь найти изготовителя. Совет: если у вас есть функциональные требования, то оформляйте их. Это может упростить требования к точности.
    • Cas
      Ну лично я не оформлял.  Соглашусь, что перпендикулярность некорректно поставлена.  Может еще что-то.  Но мне детали нужны для нашего изделия, а не чертежи идеально правильные.  Я себе слабо представляю технолога, который не поймет по этому чертежу, что от него хотят. Я согласен с Вами полностью, что надо оформлять все правильно по ЕСКД. Если Вы мне поможете в изготовлении детали, то заставлю я своего конструктора поставить правильно Базу и перпендикулярность на биение заменить.
×
×
  • Создать...