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

Выгрузка атрибутов 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 пользователей

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



  • Сообщения

    • Snake 60
      Скорее всего исправляли в конкретной сборке, для конкретных тел. Насколько я помню, надо в самом эскизе профиля заполнить свойство Description
    • Snake 60
      Делаете дырку в свае - вставляете в нее трубу и 2 человеко-силы крутят сваю ) Дёшево и сердито и не нужен никакой планетарный редуктор ))
    • gudstartup
      вы всегда ищите свой путь или будете делать то что вам советуют? с самого начала прежде чем приступать к экспериментам вам нужно было вынуть носитель и сделать образ. diskcopy делает копию гибкого диска на другой а вам надо сделать образ жесткого диска или карты памяти. делайте как советует @Viktor2004 иначе еще чего нибудь сломаете или вам станок не нужен и вы его приобрели для экспериментов ? вот а печатной машинке из прошлого нельзя а вот на синумерике можно - удивительные вещи в настоящем происходят!! на 100 % уверен что там не модуль а либо писимиси ай либо жд @mircomax81 хотите работать в дос почитайте помощь по командам 
    • PuKoLLleT
      Доброго дня всем. Поделитесь опытом,раньше такое не доводилось делать. На торце фланца нужно сделать  восемь отверстий ф17H7 на токарно-фрезерном станке с осью Y ,имеется ManualGuide.В моем понимании нужно просверлить,а затем торцевой фрезой расточить нужный диаметр.Получится такой фокус,или надо разверткой доводить нужный размер?  Стойка Fanuc 0i-Tf.
    • Snake 60
      Всё верно, я даже русификатор делал для него (ушло на это где-то около года). Хороший софт был, я всех знакомых на него подсадил в свое время :) У меня даже где-то образ на виртуалке лежит с SW2014+MechSoft, Жаль, что автодеск его поглотил, а не DS :( А по сути вопроса, проектировал двухступенчатый планетарный редуктор в свое время. Что было нужно: Справочник по планетаркам (автора не помню, если надо поищу), из софта MathCAD + GearTeq (софтина идет вместе с GearTrax, только рассчитывает и моделирует несколько зацеплений согласно выбранной схеме, в том числе планетарки) Ой и ошибаетесь. Звездочки - не равно зубчатые колеса в планетарке) Мы намучились с малой точностью изготовления на эл.эрозии, а Вы лазером ))) Был собран опытный образец редуктора с незакаленными деталями, чисто проверить геометрию, отладить сборку. Так потом начальство этот редуктор сказало испытать в бою, как я не противился)) Помер за пару дней интенсивных нагрузок ))) Материал, термообработка и точности изготовления решают )
    • Snake 60
      @Тихоход  Ещё один вариант - изучать программирование и писать свою программу/макрос. Вот пример конфигуратора двери: https://www.youtube.com/watch?v=wv4HryWQBSk
    • mircomax81
      Посредством Diskcopy можно сделать адекватную копию на флоппи диск?
    • Andrey_kzn
      Да, ведь советовали автору вытащить жёсткий диск и сделать образ. Неужели самому не интересно, как устроен этот старый промкомпьютер? Там может стоять как жёсткий диск, так и CF-карта, или же Disc-on-chip или Disc-on-module.  Как-то очень давно, на подобном промышленном оборудовании (большая печатная машина) я не смог перенести  ПО с родной CF - карты на другую, такого же размера но другой фирмы. Была также станочная оболочка под досом.  Образ я делал Нортон гостом, развернул его на другую CF-карту без проблем. Машина загрузилась нормально и работала ровно 2 дня, на неродной CF-карте,  потом зависла, и отказалась загружаться. Пришлось вызывать сервисника. От него мы узнали, что нельзя просто так взять и заменить карту  - носитель системного ПО, на другую. А полезли мы туда, так как руководство захотело печатать отчёты по работе машины. В станочном ПО такая функция была. Вот только принтер надо было купить у фирмы - производителя этой самой машины. В попытках заставить работать другой принтер мы редактировали файл  AUTOEXEС.BAT, на предмет загрузки драйвера принтера, ничего не получилось, зато перестали открываться некоторые страницы станочного ПО.  Образ у нас был давно снят, и мы развернули его на другую карту памяти. Родную карту я трогать не стал (как чувствовал, что нельзя ). Сервисник восстановил ПО с архивной дискеты на родную карту памяти, и всё заработало. Дискеты с архивами ПО шли вместе с документацией к машине.  Там были дискеты с Досом, станочной оболочкой, параметрами приводов, программой ПЛК. Он же и предупредил нас о предельно аккуратном обращении с родной картой памяти, и посоветовал немедленно сделать образы с архивных дискет, что мы сразу и проделали.. Вот такой сюрприз от машины эпохи Дос.
    • Борман
    • gudstartup
      а ведь все работало...
×
×
  • Создать...