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

С TC8 на TC10


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

День добрый. Для TC8 когда то был разработан плагин. Перешли на TC10, и начались проблемы, связанные с тем, что у некоторых классов стали отсутствовать некторые методы.

Например, AbstractBOMTreeViewPanel. Раньше у него был метод getViewer(), теперь оно нет. И вообще нет никакого намека на замещение. Или есть еще AbstractViewPanel, у которого

исчез метод setComponent(). В техподдержку обращался, говорят, ну да, много воды утекло, но ничего найти по вашему примеру не можем. В сети никаких упоминаний нет. У меня

вообще ощущение, что структура классов изменилась в корне. Плагин для TC8 писал не я, я вообще пишу под TC впервые, поэтому может просто не знаю какую-нибудь банальность.

Буду благодарен за любую зацепку

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


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

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

да, такое бывает, выход - искать замену этим методам.
А может метод стал private. 
 

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

AbstractBOMTreeViewPanel - SOA не поможет

Хреново, ну тада пинать разрабов мол чо за дела

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

вот некий метод "public void UpdateViewer() throws Exception" класса "class XApplicationPanel extends PSEApplicationPanel"

BOMPanel bompanel = (BOMPanel)super.getActivePanel();
	AbstractBOMTreeViewPanel abomtvp = super.getAbstractViewer();

	if(bompanel!=null)
	{
		InterfaceAIFComponent[] sel = bompanel.getSelectedComponents();
		TCComponentBOMLine selected_list[] = bompanel.getTreeTable().getSelectedBOMLines();

		if(bompanel.isTabPanelShown())
		{
			if(selected_list.length > 0)
			{
				if((selobj != selected_list[0]) || (flag != 1))
				{
					selobj = selected_list[0];
					TCComponentItemRevision revision = selected_list[0].getItemRevision();

					if(revision != null)
					{
						if(abomtvp != null)
						{
							String obj_types[] = new String[5];
							obj_types[0] = "...1";
							obj_types[1] = "...2";
							obj_types[2] = "...3";
							obj_types[3] = "...4";
							obj_types[4] = "...5";
							revision.getItem().refresh();
							revision.refresh();

							for(int index=0; index<obj_types.length; index++)
							{
								if(revision.getItem().getType().equals(obj_types[index]))
								{
									AIFComponentContext forms_list[] = revision.getRelated("IMAN_master_form_rev");
									if((forms_list != null) && (forms_list.length == 1))
									{
										TCComponentForm form = (TCComponentForm) forms_list[0].getComponent();
										form.refresh();
										SDB_XOpenFormPanel ofp = new SDB_XOpenFormPanel(form);
										
										abomtvp.getViewer().removeAll();
										abomtvp.getViewer().setViewPanel(ofp);
										abomtvp.getViewer().updateUI();

										flag = 1;
									}
								}
							}
						}
					}
					else
					{
						if(abomtvp != null)
						{
							abomtvp.getViewer().removeAll();
							abomtvp.getViewer().updateUI();
						}
					}
				}
			}			
		}

getViewer() теперь его нет. вроде смысл вроде как обновить панель информацией о компонентах. Но никаких аналогов я найти не смог((  Техподдержка говорит, что помочь не может и отправляет в некий сервис. Но, по-моему, нет у меня туда доступа (в смысле не оплачено это)

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

getCurrentBOMPanel().getBOMViewer().getViewerPanel()
вот так попробуйте


сей код должен вернуть TCViewerPanel extends ViewerPanel

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

Ого. Да, вернул, правда работоспособность пока проверить не могу. Но теперь такая штука

//class SDB_XOpenFormPanel extends OpenFormPanel

SDB_XOpenFormPanel ofp = new SDB_XOpenFormPanel(form);
getCurrentBOMPanel().getBOMViewer().getViewerPanel().setViewPanel(ofp);


то есть setViewPanel ожидает что-то типа ISubViewer. Вроде по иерархи классов это совсем другая штука

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

ну значит вам нужно теперь править ваш SDB_XOpenFormPanel
добавлением ему интерфейса ISubViewer.
Вероятно он у вас наследуется от тимцентровского или копирует его. Найдите его в тимцентре и посмотрите что да как.

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

А можно я еще сразу немного по наглею  :rolleyes:  у меня собственно только два проблемных момента. еще вот такой

private class LoadViewPanelOperation extends Thread
	{

		public void run()
		{
			AbstractViewPanel abstractviewpanel = null;
			abstractviewpanel = m_solver.getViewer(className);
			try
			{
				if(abstractviewpanel == null)
					try
				{
					abstractviewpanel = (AbstractViewPanel)Instancer.newInstance(m_registry.getString(className + ".VIEWPANEL"), viewPanel);
					m_solver.addViewer(className, abstractviewpanel);
				}
				catch(NoClassDefFoundError noclassdeffounderror)
				{
					getViewer().setNoPortalViewerInstalled();
				}

				// в классе "private File file;"
				// abstractviewpanel.setComponent(file);				
			}
			catch(Exception exception)
			{
				viewPanel.setNoViewDataFound();
				ErrorPrint.printStackTrace(exception);
			}
		}
	}

нет метода setComponent(). тут, если честно, я не очень понимаю вообще смысл. то есть в некий ViewPanel "подсовывается" файл. Для чего бы...

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

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

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

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

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

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

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

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

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

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

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




  • Сообщения

    • gudstartup
      обычно эта страница везде есть
    • Александр1979
      Попробуйте параметр 9927 бит 4 установить 1
    • gudstartup
      Здравствуйте! Может кто подсказать тип интерфейса этих датчиков ? Например для линеек хеденхайн  с цифровым интерфейсом это Fanuc 02 Fanuc 05. знаю  только что там последовательный интерфейс но совместим ли он с интерфейсом линеек или нет?
    • maxx2000
      @vanek77777 Человек задал вопрос как ограничить углы, я ответил что ничего ограничивать не надо, надо правильно построить стратегию обработки и озвучил как это должно выглядеть по моему мнению. Как всегда мои слова носят рекомендательный характер, не претендуют на истину в виду отсутствия возможности в функционале в самой лучшей CAM или отсутствия опыта оператора или понимания что и как и необязательны к применению безоговорочно И не надо спорить, вместо тысячи слов достаточно показать мультик как всё круто у тебя получается.  т.е. ты не знаешь как в 5 осях обработать криволинейный участок поверхности? НО при этом пытаешся критиковать. Забавно.   А судьи кто?   Что касательно того кто в какой CAD\CAM работает, то это не меняет тех фундаментальных принципов по которым происходит проектирование деталей и их обработка. Так сложилось что все программы основаны на одних общий принципах, повернул-обработал или обработал в момент поворота. Вопрос лишь в том насколько хорошо ты знаешь свою самую лучшую систему и можешь экстраполировать увиденное у других в неё. Т.е. твою склонность усваивать информацию, уметь её анализировать и применять, а не быть обезьяной кнопконажимателем. Я всегда об этом говорил и буду придерживаться своего мнения.
    • Александр 36
      Добрый.Подскажите как можно вывести отображение машинного времени?
    • vanek77777
      Балабол) Тебе уже говорили как-то выше по ветке, не давай советы по cad/cam системе в которой видимо даже не работаешь) Человек задал конкретный вопрос, как назначить конкретную обработку. Если ты не можешь показать, а ты не можешь, то пройди мимо. Конкретно по вопросу выше, я помочь не могу, т.к. не было необходимости делать такую обработку. Скилл как правило не определяется знанием всего по чуть чуть (как в твоем случае). Если ты занимаешься всем (судя по твоим постам на форуме), то ты ни чем не занимаешься по сути. На этом я больше тратить время на споры с тобой и флуд не буду. 
    • maxx2000
      пробывал поставить птичку "разрешить привязку"? да забей ты на лайки- шмайки, словами ответь. Пробовал или помогло?
    • maxx2000
      охренел что ли, где я ему про 3+2 говорил?  По твоему 5 осевая стратегия всегда подразумевает непрерывное движение всех 5 осей? Что на 4 осевом станке нельзя использовать 5 осевые стратегии?   а спину вареньем не намазать?   Я ещё раз повторюсь,  создаётся  ЛСК (или как там она у вас называется у NXстрадальцев) обрабатываемого элемента, Z этой ЛСК будет автоматически довернута вдоль оси шпинделя(повернётся стол), а поскольку обрабатываемый элемент не плоский (с подвывертом) обработка будет вестись по всем осям (непрерывная 5 осевая), а наклон инструмента будет минимизирован, в зависимости от того как настроена обработка вдоль Z ЛСК элемента,  по нормали к элементу или будет разрешено резать боком. Либо не выёживаться и использовать инструмент для обработки импеллера. Чё тут непонятного? Ах да, нет картинок волшебных. Ну мои картинки тут не приветствуются, без желания понять суть, они бесполезны.   Алаверды Сделай и выложи сюда проект. Покажи на деле. Посмотрим на твою скилуху.  
    • GHEB
      Добрый день Создал некую модель, всё было хорошо, но после перезапуска программы почему то эскиз перестал привязываться к линиям: Выбираю "Эскиз" https://skr.sh/sPckC4oM2Sf Нажимаю на нужную мне плоскость https://skr.sh/sPc7M6DGRDq Выбираю линию https://skr.sh/sPcnw9t9J9u Пытаюсь начать рисовать от центра окружности https://skr.sh/sPc1Kklf8nM Пытаюсь рисовать от некой точки https://skr.sh/sPcECS6vnwL Как видно курсор не привязывается к точкам, из-за чего попасть точно не представляется возможным Тоже самое если я пытаюсь к эскизу например дорисовать линию https://skr.sh/sPcX7Wyj0e6  В настройках эскиза настроено так, пробовал "перетыкивать" не помогло: https://skr.sh/sPc1CoTvYDS Версия https://skr.sh/sPcH4esnnCK Скрин всего окна и настроек, о которых я вычитал тут:  https://skr.sh/sPcHbYP5iB4 Скрин https://skr.sh/sPcHbYP5iB4 всего окна и настроек, о которых я вычитал тут:      Нашёл "быстрые привязки, но они работают не очень хорошо для окружностей и между ними приходиться переключаться, до этого таокго не было, неудобо https://skr.sh/sPcvE3KzS3u
    • Viktor2004
      Вот этот пример работает безотказно Нажатие на F1 включает кипп-реле К50.0, нажатие F2 его выключает O8001 G240 P3 C0 G243 X2 Y0 A1 B0 (TEST PROGRAM) G240 P6 C0 G243 X7 Y[4 + 1] (SECOND SCREEN) G240 P7 C0 G243 X5 Y26 A1 B0 (K50.1) G243 X5 Y27 A1 B0 (ON) G243 X12 Y26 A1 B0 (K50.1) G243 X12 Y27 A1 B0 (OFF) IF [#8549 EQ 249] THEN G310 K50 Q1 ENDIF IF [#8549 EQ 248] THEN G310 K50 Q0 ENDIF M99  
×
×
  • Создать...