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

Подъем от TCComponentDataset до TCComponentItemRevision


Progress

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

Стоя на ревизии item'а, опускаюсь до нужного Dataset'а (код внизу). Это проблем не вызывает. Но как быть, если стоя на Dataset'е необходимо найти ревизию item'а?

AIFComponentContext[] itemRevChild = itemRev.getChildren();
for (AIFComponentContext itrch : itemRevChild) {
	if (itrch.getContext().toString().contains("root_activity")) { //если дочерний объект в нужном отношении
		InterfaceAIFComponent activity = itrch.getComponent();
		TCComponent activityCom = (TCComponent)activity;
		TCComponent[] activityComps = activityCom.getRelatedComponents(); //все объекты в отношениях с TCComponent activityCom
		for (TCComponent activityComp : activityComps) {
			if (activityComp.getTypeComponent().toString().contains("MENCProgram")) { //если объект нужного типа
				TCComponent[] achPrComps = activityComp.getRelatedComponents();		 //все объекты в отношениях с TCComponent activityComp
				for (TCComponent achPrComp : achPrComps) {
					if (achPrComp.getTypeComponent().toString().contains("UGCAMPTP")) { //если объект нужного типа
						TCComponentDataset cam_dataset = (TCComponentDataset)achPrComp;
						TCComponentTcFile tc_files[] = cam_dataset.getTcFiles(); //получаем файлы TCComponentDataset cam_dataset
						for (TCComponentTcFile tc_file : tc_files) {
							tc_file.getFile(sPath);
						}
					}
				}
			}
		}
		break;
	}
}

 

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


От управляющей программы "подняться" до ревизии айтема... Эх, если выясните - напишите, что ли. Тоже интересно :smile:

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

А зачем там куда-то подниматься? есть св-во item_revision - получайте значение и ловите ревизию.

Это не для случая с root_activity,а просто для датасета под ревизией

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

От управляющей программы "подняться" до ревизии айтема... Эх, если выясните - напишите, что ли. Тоже интересно :smile:

Скорей всего только через метод WhereReferenced, т.к MENCProgram  это что-то вроде обычной папки

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

Скорей всего только через метод WhereReferenced, т.к MENCProgram  это что-то вроде обычной папки

Я внутритимцентровской программистской терминологией владею на твердую 2-, но если речь идет об анализе влияния "где ссылается" - то да, оно :)

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

Я внутритимцентровской программистской терминологией владею на твердую 2-, но если речь идет об анализе влияния "где ссылается" - то да, оно :)

я вам ответил на программном языке - есть такой непосредственно метод одноименный. Т.к объект MENCProgram это по сути папка-контейнер то по сему прямых методов через свойства/отношения добраться обратно нет. Так что можно попробовать через WhereReferenced

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

Спасибо за подсказки! Вот что получилось в итоге:

if (comp.getTypeComponent().toString().contains("MENCProgram")) {
	try {
		String itemRevId = "error", itemId = "error";
		AIFComponentContext[] compUsed = comp.whereReferenced(); //где используется компонент MENCProgram
		for (AIFComponentContext compU : compUsed) {
			InterfaceAIFComponent compI = compU.getComponent();
			TCComponent compTC = (TCComponent)compI; //преобразование в TCComponent compTC
			AIFComponentContext[] compTCUsed = compTC.whereReferenced(); //где используется компонент TCComponent compTC
			for (AIFComponentContext compTCU : compTCUsed) {
				InterfaceAIFComponent compTCI = compTCU.getComponent();
				TCComponent compTC2 = (TCComponent)compTCI; //преобразование в TCComponent compTC2
				TCComponentItemRevision itemRev = (TCComponentItemRevision)compTC2; //преобразование в TCComponentItemRevision itemRev
				itemRevId = itemRev.getProperty("item_revision_id"); //получение item_revision_id
				TCComponentItem item = itemRev.getItem(); //получение самого item
				itemId = item.getProperty("item_id"); //получение item_id
				//получены item_id и item_revision_id
			}
		}
		/*...*/
	} catch (TCException e) {
		// TODO Auto-generated catch block
		e.printStackTrace();
	}
}

Будут идеи как улучшить, выслушаю с радостью.

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

Почему вы начинаете с MENCProgram а не с Dataset? Условие же было с Dataset.

И не помешают проверки какие объекты возвращает WhereReferenced

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

Почему вы начинаете с MENCProgram а не с Dataset? Условие же было с Dataset.

Было принято решение что так будет удобнее пользователю. Потому реализация претерпела небольшие изменения.

 

PS. надеюсь окончательное)

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

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

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

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

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

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

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

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

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

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

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




  • Сообщения

    • 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
      Добрый день. Уже несколько дней пытаюсь найти на просторах инета макрос, позволяющий менять материал выделенных деталей в сборке. У меня есть макрос это делающий, но только в открытой детали, заставить его работать в сборке не получается. Может кто поделится ссылкой или часть кода? Спасибо.
    • maxx2000
      @ANT0N1DZE чтобы ответить на этот вопрос надо вспомнить что экранирует СВЧ, а что для него прозрачно.
    • Александр1979
      В параметре 4018 задаётся метод позиционирования. Какой тип выбран у вас?
    • Bot
      АСКОН, российский разработчик инженерного программного обеспечения и ИТ-интегратор, подвел итоги 2023 года. Выручка компании выросла на 47% и достигла 5,6 млрд рублей, штат сотрудников увеличился до 1250 человек. Клиентская база пополнилась тысячью предприятий и сегодня с решениями АСКОН работают почти 16 000 заказчиков из всех отраслей промышленности и строительства. Смотреть полностью
×
×
  • Создать...