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

Выгрузка атрибутов NX через ITK TС


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

Всем доброе.

Начал пробовать выгружать объекты из TC 

Возник такой вопрос.

У нас в базе множество свойств лежит в атрибутике NX файлов, для того чтобы их посмотреть необходимо каждый раз открывать его.

Вопрос

Как и с помощью чего можно выгрузить всю атрибутику из NX не открывая его 

а обратится через ITK  к свойствам объекта который находится в TC

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


4 минуты назад, Whale сказал:

Из NX маппить в объект и из объекта забирать...

это частный случай и у них возможно не так,вообще без маппинга

 

Цитата

Начал пробовать выгружать объекты из TC 

Возник такой вопрос.

У нас в базе множество свойств лежит в атрибутике NX файлов, для того чтобы их посмотреть необходимо каждый раз открывать его.

Вопрос

Как и с помощью чего можно выгрузить всю атрибутику из NX не открывая его 

а обратится через ITK  к свойствам объекта который находится в TC

 

 

как вы храните атрибуты в NX - что-то через маппинг, либо напрямую в PRT файле?

 

Если через маппинг у вас хранится часть свойств из тимцентра - то обращайтесь непосредственно к свойствам - ревизий,форм,это будет то же самое.

 

Если атрибуты созданы программно например и хранятся напрямую в PRT, то в тимцентре они будут лежать в именованных ссылках в форме UgPartAttributesForm.

Получаете через ITK эту форму и оттуда берете атрибуты, они там обычно в виде пар ключ=значение представлены. Одно поле - массив имен атрибутов, второе поле - массив значений для этих атрибутов

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

Как и с помощью чего можно выгрузить всю атрибутику из NX не открывая его 

а обратится через ITK  к свойствам объекта который находится в TC

С самого начала, а это не менее 20 лет назад, функции NX (тогда UNIGRAPHICS) имели

режимы работы: external и internal.

Все функции UGopen по работе с атрибутами файла имеют режим external.

В режиме external сам NX(UG) не запускается.

При(после) компиляции, в режиме external, создаётся исполняемый файл с расширением *.exe.

С файлами на диске всё работало ещё тогда.

Вот только как это сделать в ТС не подскажу - опыта нет.

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

UGOpen
UF_ATTR_ask_part_attrs_in_file (view source)
 

Defined in: uf_attr.h
 
Overview
Reads all the part attributes from a part file without requiring that the 
part be opened. The values returned are always those stored on disk 
even if the part is currently loaded in memory (use 
UF_ATTR_ask_part_attrs for such a part). This routine is normally 
considerably more efficient than opening the part and finding the part 
attribute. 
 
Ссылка на сообщение
Поделиться на других сайтах

Я читал про маппинг.

Но еще полностью не разобрался.

Я читал есть стандартные утилиты от UG, на вход которой подается файл *.prt  И она выгружает всю атрибутику

Идея отличная, но все получается чтобы получить атрибуты нужно сначала выгрузить все *prt.  И только потом уже забирать атрибуты, но так не хочется пока.

Хочется программно это сделать

 

Ссылка на сообщение
Поделиться на других сайтах
Только что, IgP сказал:

С самого начала, а это не менее 20 лет назад, функции NX (тогда UNIGRAPHICS) имели

режимы работы: external и internal.

Все функции UGopen по работе с атрибутами файла имеют режим external.

В режиме external сам NX(UG) не запускается.

При(после) компиляции, в режиме external, создаётся исполняемый файл с расширением *.exe.

С файлами на диске всё работало ещё тогда.

Вот только как это сделать в ТС не подскажу - опыта нет.

человек же сказал - он работает с ITK, а не в NXOpen

Ссылка на сообщение
Поделиться на других сайтах
Только что, koner сказал:

UGOpen
UF_ATTR_ask_part_attrs_in_file (view source)
 

Defined in: uf_attr.h
 
Overview
Reads all the part attributes from a part file without requiring that the 
part be opened. The values returned are always those stored on disk 
even if the part is currently loaded in memory (use 
UF_ATTR_ask_part_attrs for such a part). This routine is normally 
considerably more efficient than opening the part and finding the part 
attribute. 
 

Спасибо. Буду пробовать

Ссылка на сообщение
Поделиться на других сайтах
1 минуту назад, IgP сказал:

С самого начала, а это не менее 20 лет назад, функции NX (тогда UNIGRAPHICS) имели

режимы работы: external и internal.

Все функции UGopen по работе с атрибутами файла имеют режим external.

В режиме external сам NX(UG) не запускается.

При(после) компиляции, в режиме external, создаётся исполняемый файл с расширением *.exe.

С файлами на диске всё работало ещё тогда.

Вот только как это сделать в ТС не подскажу - опыта нет.

Не совсем так.
В режими external не загружается графика, а вот сам файл в оперативке открывается и создается сессия NX как если б internal

Ссылка на сообщение
Поделиться на других сайтах
4 часа назад, sequeld сказал:

Спасибо. Буду пробовать

Спасибо за подсказку.

Но при комплияции программы, выдается ошибка 

запуск программы невозможен т.к. на пк отсутствует

libufun.dll.

Я проверил она есть я ее даже добавил к проекту.

Прошу помочь!

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

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

Ссылка на сообщение
Поделиться на других сайтах
В 20.07.2018 в 16:26, sequeld сказал:

При запуске!

Компиляция без ошибок

Без TC_ROOT, TC_DATA, FMS_HOME, UGII_BASE_DIR, UGII_ROOT_DIR ничего и не будет работать. Ну и запускайте из UGII_ROOT

Эти переменные указали?

 

 

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

Эти переменные я указал в bat файле при запуске MSVS. Так же я указал в переменных доп. каталоги бибилиотек.

Подскажите а что значить запустить из UGII_ROOT?  Я же не хочу запустить NX.

MSVS_lib.PNG

MSVS_lib_files.PNG

Ссылка на сообщение
Поделиться на других сайтах
1 час назад, sequeld сказал:

Подскажите а что значить запустить из UGII_ROOT?  Я же не хочу запустить NX

 

Запускать NX вас не заставляют.

Киньте собранный exe-шник и батник запуска в UGII_ROOT и оттуда запускайте. В таком случае точно не должно ругаться на dll

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

Да немного сдвинулось с места.

Но теперь он ругается на библиотеку libsyss.dll

 

"Точка входа в процедуру ***" не найдена в библиотеке DLL libsyss.dll

Может это из за того что я указал несколько путей к библиотекам и в них лежат одинаковые dll  и он не понимает какую вызвать

Error libsyss.PNG

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

Самое интересное это происходит при попытке в коде вызывать  любую функцию UF_ATTR**

из библиотеки uf_attr.h ((

Подскажите что нет так у меня? ((

 

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

компилируете под одну версию NX а запускаете  в другой

в 7.5 нет TEXT_from_user_locale в libsyss.dll 
в более старших есть

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

А как это определить?

Да у меня установлена оба NX 7.5 и 10

Но везде я прописал ссылки под 10 

Или я как то вызываю NX 11.2  а внутри него прописан NX 7.5?

Или что, честно ни как не могу разобраться

Я уже копировал exe в папку UGII 10.

 

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

Почитал информацию с других разделов 

Про раздел в реестре. 

[HKEY_CLASSES_ROOT\ugmportalfile\Shell\Open\Command]
@="БлабЛаБлаБЛаБЛБа\\start_nxmanager.bat"

 

У меня там прописана просто переменная которую я потом вызываю в каждом батнике.

Значит ошибка где то в другом месте

Я как раз и хочу кодить под 10 версию

 

 

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

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

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

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

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

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

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

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

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

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

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




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