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

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

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




  • Сообщения

    • gudstartup
      @Alexey8107 подайте 24 в только на spm и посмотрите будет на нем 30 или нет если будет то для начала смотрите датчики тока на силовой плате   
    • Alexey8107
      Да, здесь я оговорился. Конечно же резисторы на контроль фаз. Тоже об этом думал, т.к. силовуха ну не имеет явных признаков неисправности, да и в принципе даже включается и работает. На данный момент от предыдущих ремонтов остались трансформаторы тока фанук A44L-0001-0165# на 100, 400 и 600 ампер. Причем номер у всех почему то одинаковый, а ампераж разный. Найти документацию на них я даже не пытался, это невозможно. Надо будет снять и проверить. Если кто знает, это обычный трансформатор тока или все таки какое-нибудь чудо на эффекте холла???
    • Kydes
      Пришлите свою почту, отправлю эти файлы 
    • gudstartup
      вот схема кабеля там еще линия esp есть и интерфейс по которому модули сообщают об ошибках сигнальная пара mifa xmifa возможно именно через него ваш psm получает инфу о том что на dc линии кз. возможно что инфа приходит и от spm но вы почему то исключаете замену psm spm целиком а ограничились платой управления
    • kanapello
    • Ветерок
      И что мешает сделать всё это нормальной подсборкой (как это и есть на самом деле)? И будет "одна строка" в спецификации.   Извращаетесь там, где это вообще не нужно. Булками задается то, чего в конструкторской сборке физически нет - ЗИП, краска, упаковка и т.п. И лишь при отсутствии ПДМ.
    • david1920
      Вот и ответ для автора
    • zwg
      УГОЛОК РАСЧЕТ РАЗВЕРТКИ   ДИАПАЗОН КОРРЕКЦИИ мм V А Б расчетный BD развертка развертка CY factor ШУМ ось Х-V 1 8 40 40 1,8 78,2 78,07 0,95 78,15 39,07 1,5 12 40 40 2,8 77,2 79,27 0,95 77,19 38,59 2 12 40 40 3,6 76,4 76,24 0,95 76,4 38,2 2,5 16 40 40 4,2 75,8 75,22 0,85 75,84 37,92 3 20 40 40 5,2 74,8 74,17 0,85 74,9 37,45 4 35 40 40 6,6 73,4 71,90 0,75 73,48 36,74 5 35 40 40 8,9 71,1 70,28 0,8 71,9 35,95 6 50 40 40 10,6 69,4 67,97 0,85 69,42 34,71 8 50 40 40 14,5 65,5 64,69 0,95 65,36 32,68 К сожалению, данные выше пока больше теоретические. Взят реальный результат по развертке УГОЛОК (получено опытным путем) и уже к нему был приведен FACTOR для CYBELEC - CORRECTION FACTOR FOR THE DIN 6935 CALCULUS. Развертка CY - в случае пустого значения - "СТАЛЬБ" окна ПРОДУКТ/ЦИФРОВАЯ ДЕТАЛЬ (для русского перевода CYBELEC). Получилось: - для толщин/матриц V8-12/1-2мм, FACTOR ближе к 0,95 - для толщин/матриц V16-50/2,5-8мм, FACTOR ближе к 0,85.   ШУМ - странный перевод слова РАЗВЕРТКА, т.е. итоговый расчет развертки программой с учетом привязанного FACTOR. Ось X-V - значение координат для оси Х, для гибки полки 40мм.
    • gudstartup
      это не датчики тока а резисторы для контроля входного напряжения. датчики тока у фанук это спец модули с токовым трансформатором и они не отгорают а просто выдают уровень напряжения на схему контроля тока при этом даже при выключенном силовом напряжении будет ошибка
    • gudstartup
      всегда определяли наличие нуль метки введя м19 если ориентируется значит она есть. @mrVladimir можете при вращении шпинделя смотреть на параметр диагностики 445 он показывает число импульсов на оборот вашего шпиндельного датчика после достижения 0 метки счет начинается с нуля
×
×
  • Создать...