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

Получить свойства POM api


butulec

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

Здравствуйте!

Подскажите, как получить свойства POM и их свойства.

Я получаю объект TCComponentItemRevision,у него есть свойство с отсутствующей второй ссылкой (нет набора данных).

Пробовал getRelated() и getReferenceProperty(), но они есть только на тех объектах, у кого есть этот набор данных, а мне нужно найти именно отсутствующую (пустую) ссылку без НД. 

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


По возможности хотелось бы все свойства взять, просто каким методом у объекта TCComponentItemRevision можно взять свойства которые справа на скриншоте

3.png

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

через getTCProperty разве никак?

Через getTCProperty можно посмотреть все свойства, которые есть у объекта. Но мне нужно посмотреть именно ссылки для объекта, которые есть в ПОМ-свойствах.

Это свойство вообще может быть пустое, но в нашем случае оно пустое по ошибке, так как нет набора данных. Вот валидность проверить можно при анализе свойства, которое на скриншоте выше (Свойства (POM))

ТО есть если есть ссылка, но нет набора данных - ошибка

А если нет ссылки, свойство все равно будет (пустое) - не ошибка

 

4.png

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

В вашей модели данных для отношения тех.требования значение массив объектов или только один объект?

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

В вашей модели данных для отношения тех.требования значение массив объектов или только один объект?

Один объект, MSWord

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

TCProperty.getReferenceValue() пробовали?

Оказалось это отношение принимает массив объектов (выдал стек ошибок), я поправил как нужно.

Ситуация старая, если объект есть - он выводится

Если есть ссылка на объект, но набора данных нет - то массив пустой.

Но как определить есть ли сама ссылка ?

5.png

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

ссылка - это объект Relation, в вашем случае именуемый Тех.требования, верно?

Верно, на первом скриншоте на выделенной ревизии, в вкладке Анализ влияния, при выборе Свойства (POM) есть перечень ссылок. Там есть ссылка на структуру, карточку-форму, а также на объекты наборов данных которые находятся в ревизии (модели или тех.требования)

Для того чтобы корректно оценить правильная ссылка или мы заходим в карточку ссылки (чтобы посмотреть свойства) и там есть первичный, вторичный объекты и их связь.

У нас бывает что вторичного объекта нет, то есть не был передан, но ссылка на ревизии весит. Вот нам необходимо анализировать такие ситуации, я так понимаю с помощью анализа этих ссылок. 

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

Тогда чтоб получить и перебрать Relation-объекты используйте функции whereReferenced()/whereReferenced(boolean )

 

в вашем случае нужен 2й вариант функции с параметром

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

Тогда чтоб получить и перебрать Relation-объекты используйте функции whereReferenced()/whereReferenced(boolean )

 

в вашем случае нужен 2й вариант функции с параметром

Мы приближаемся к истине)

1. Могли вы пояснить в чем между ними разница (whereReferenced(true) и whereReferenced(false)), у меня результаты разные, во 2 варианте перечень полный.

2. Так как результаты во 2 варианте правильные (нужные, там есть ссылка на тех.требования). Там вывод с UID, перебор ImanRelation. Как их правильно обработать могли бы подсказать? Выяснить наименование этого отношения как можно?

6.png

 

Нашел, whereReferenced.getComponent().getType(), так можно посмотреть тип отношения, но теперь вопрос, как найти вторичный объект по этому отношению?

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

true или false означает варианты просто ссылается или ссылается_POM, что не трудно догадаться (об этом написано в ява доке)

 

 

дальше просто проверяется на if( comp instanceof TCComponentTcRelation)

 

Если класса TCComponentTcRelation нет (я не помню за такой), возможно объекты Relation тогда будут просто TCComponent

чурез "object_name" можно потом отфильтровать нужное отношение

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

true или false означает варианты просто ссылается или ссылается_POM, что не трудно догадаться (об этом написано в ява доке)

 

 

дальше просто проверяется на if( comp instanceof TCComponentTcRelation)

 

Если класса TCComponentTcRelation нет (я не помню за такой), возможно объекты Relation тогда будут просто TCComponent

чурез "object_name" можно потом отфильтровать нужное отношение

Спасибо, искал сегодня очень долго!!! 

Остался последний момент, как найдя нужное отношение, найти по нему вторичный объект, и если его нет, соответственно, то это тот случай который нам нужен)  

Можно конечно извратиться и зайди в TCProperty и проверить значение, но возможно есть вариант по этому пути, имея компонент Relation, или по нему нельзя выйти на вторичный объект?

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

да скорее всего дальше просто через свойства primary_object/secondary_object

 

TCComponentTcRelation есть такой класс? У меня просто eclipse не перед глазами я не могу проверить

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

да скорее всего дальше просто через свойства primary_object/secondary_object

 

TCComponentTcRelation есть такой класс? У меня просто eclipse не перед глазами я не могу проверить

Да есть такой класс, но все компоненты попали в этот if при проверке, а мне нужен был конкретный по имени)

Сделал через TCProperty при наличии отношения нужного.

А свойства primary_object/secondary_object смотреть у ревизии вы имеете ввиду? 

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

Да есть такой класс, но все компоненты попали в этот if при проверке, а мне нужен был конкретный по имени)

Сделал через TCProperty при наличии отношения нужного.

А свойства primary_object/secondary_object смотреть у ревизии вы имеете ввиду? 

у самого отношения тех.требования

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

у самого отношения тех.требования

Что то я запутался.

AIFComponentContext[] whereReferenced = itemRevision.whereReferenced(false);
            for (int i = 0; i < whereReferenced.length; i++) {
                TCComponent comp = (TCComponent) whereReferenced.getComponent();
            
            
                AIFComponentContext[] whereReferenced_pr = comp.getPrimary();
                AIFComponentContext[] whereReferenced_sec = comp.getSecondary();

}

Оба массивы пустые.

 

Вот что в модели данных написано 

     <TcProperty propName="IL2_TechnicalSpec_Relation" propTypeName="Relation" propValueType="PROP_untyped_relation"
         propMaxStringLength="0" isArray="true" arrayLength="-1" description="" referencedTypeConstant=""
         referencedType=""/>

Получается тип массив, но когда я беру значение этого свойства TCProperty, то он говорит неправильный тип, как правильно взять верный тип для этого свойства?

 

org.eclipse.core.runtime.AssertionFailedException: assertion failed: Неправильный тип свойства

Можно просто вывести с помощью prop.getDisplayValue(), мне этого достаточно, но интересно, какой тип ему все таки нужен?

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

Берите TCProperty у Relation(тех. требования)

два свойства - secondary_object и primary_object

 

то что вы привели в xml - это касатеся самого Relation а не свойств его

думаю дальше справитесь. и проверьте ЛС

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

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

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

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

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

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

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

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

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

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

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




  • Сообщения

    • mactepnew
      Вот я тоже так думал, пока не столкнулся с обратным) Как еще столкнусь, пришлю скриншот. Хаос еще в том, что порядок в дереве построения весьма условный. операция, которая стоит перед групой, имеет бОльший timestamp(пардон, не знаю как это в переводе), чем эта группа, и выполняется позже. При этом все операции в группе имеют timestamp на пару сотен меньше и выполняются раньше, чем две группы, стоящие перед ней. Логика?  Если в эскизе все элементы определены, то можно поставить еще один размер (хочешь переопределить эскиз - да пожалста!), изменить его - и NX самостоятельно выберет, какой размер или ограничение отпустить и весь эскиз летит к чертям. Это ли не хаос?   Назовете хоть один CAD, которым можно пользоваться так? Любой из встреченных мной имеет много неочевидных нюансов, которые конечно не проявляются при выполнении университетского или базового курса. В Creo я на протяжении 5 лет находил всё новые фишки, которые не прописаны в документации. Огромная благодарность Ruslan за пояснения тонкостей. Даже Компас и Solidworks, которые считаются самыми дружественными, оказалось непросто обуздать, когда проходил собеседования и делал тестовые. А ведь университетский курс знал на отлично!   Возвращаясь к NX - вот сегодняшний пример. Утром деталь была оранжевая, единая. Изменил пару уклонов и толщин, стала желтая с элементами оранжевого и частично твердотельной, частично листовой. Я даже не знаю, как сформулировать вопрос в поддержку. 
    • Mikhail_Podgornyj
      Добрый день, кто может поделиться SKF Bearing V1.6 (ANSYS App)? Заранее благодарен!
    • kkk
      Короче, как сделать автоматом не нашел. Раскрасил нужные грани нужными цветами. Затем на вкладке с цветом модели можно выбирать нужный цвет, тогда в модели выбираются грани, покрашенные этим цветом. Можно еще сохранить выбор этих граней, но смысла не вижу, т.к. все легко выбирается по цвету. Затем либо в инструменте Измерить смотрим площадь и как-то ее используем, либо можно макросом (что выкладывал Kir95 ) внести площадь в свойства (на вкладку Конфигурации). Можно еще внести выбранные грани в датчики, но как использовать их в свойствах не нашел.    Макрос прикрепляю.     Площадь выбранных граней в свойства.swp
    • IgnatvKudrin
      Для нашего производства требуются постоянно инструментальные пружины для штампов. Сейчас заказы обрабатываются довольно долго - до 2-х месяцев. А у нас сроки на штампы 1-2 месяца с испытанием, доработкой и т.п. Хотелось бы найти поставщика, у которого уже есть склад с данными пружинами или кто может доставить за 1 месяц.   Пружины стандартные по ISO, но на всякий случай приложил каталог. Вот список пружин, которые нужны очень срочно:   LR 32 x 44 - 1 шт. LR 25 x 51 - 2 шт. LB 63 x 89 - 7 шт. LB 32 x 102 - 10 шт. LB 32 x 89 - 20 шт. LB 32 x 76 - 12 шт. LB 32 x 51 - 6 шт. LB 25 x 127 - 9 шт.   Готов выслушать все предложения. Возможно даже есть те, кто сможет изготовить подобные пружины с такими же параметрами. 20231101.pdf
    • bubblyk
      Знатоки форума, подскажите, как смоделировать простую (на первый взгляд) задачу термомеханики в упругой постановке.   Есть брусок правильный формы ака кирпич, в котором генерируется НЕРАВНОМЕРНОЕ удельное тепловыделение (HGEN). Задняя и передняя поверхности конвективно охлаждаются с известными (но различными) коэффициентами теплоотдачи и температурами жидкости/газа. Свойства кирпича (теплофизика + механика) принимаются зависящими от температуры. Постановка - стационарная Собственно вопрос : как грамотно смоделировать температурное поле в кирпиче с учетом температурного расширения?   Исходный код приложил.     Надеюсь на коллективный разум и опыт! EPTH2D.mac p.s.   Если есть опыт решения этой задачи в Ansys WB, тоже можно сюда приложить командные вставки.
    • OutXL
      Это было давно использовал NC-Link  и данную инструкцию. The Maho.docx
    • Mikhail_Podgornyj
      Добрый день, кто может поделиться SKF Bearing V1.6 (ANSYS App)? Заранее благодарен!
    • alexqwq10
      В данных корпусах ничего лишнего быть не должно. Максимум шпильки заземления, в количестве предусмотренном для конкретного корпуса. Рассматривал очень много подобных корпусов разных производителей и данная проблема актуальна для подавляющего большинства.
    • MFS
      Коллеги, приветствую, нужно штамповать на горячую из алюминиевого сплава (АК6 или около того) заготовки размером 280*180*12. Подскажите, пожалуйста, параметры пресса для такой заготовки - размеры, усилия. А есл дадите пример такой марки и модели, более менее подходящей для этой работы (нашего или импортного), то будет и еще лучше. Заранее спасибо!
    • Elbaro
      Добрый день. Уже несколько дней пытаюсь найти на просторах инета макрос, позволяющий менять материал выделенных деталей в сборке. У меня есть макрос это делающий, но только в открытой детали, заставить его работать в сборке не получается. Может кто поделится ссылкой или часть кода? Спасибо.
×
×
  • Создать...