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

Простой плагин на API


Pavel1990

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

Добрый день!

 

Извиняюсь за вопрос, но я в этом деле новичок.

 

Хочу написать плагин к Teamcenter 10, не знаю с какой стороны подойти к этому делу.

Подскажите как начать писать по шагам. Установил Eclipse, что дальше делать ума не приложу.

 

Заранее спасибо.

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


Добрый день!

 

Извиняюсь за вопрос, но я в этом деле новичок.

 

Хочу написать плагин к Teamcenter 10, не знаю с какой стороны подойти к этому делу.

Подскажите как начать писать по шагам. Установил Eclipse, что дальше делать ума не приложу.

 

Заранее спасибо.

поучиться, например

Ссылка на сообщение
Поделиться на других сайтах
  • 8 месяцев спустя...

Вот вам сайт, там в разделе программирование есть пример и как вообще начать: plm-life.cf

 

У меня почему то не получилось, хотя делал все как сказано на сайте. То есть я сделал проект, экспортировал получившийся jar в папку с плагинами, запустил genregxml.bat, запустил Teamcenter но кнопки не появилось.

Использовад Eclipse Neon, Teamcenter 10.1.5 двухуровневый

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

У меня почему то не получилось, хотя делал все как сказано на сайте. То есть я сделал проект, экспортировал получившийся jar в папку с плагинами, запустил genregxml.bat, запустил Teamcenter но кнопки не появилось.

Использовад Eclipse Neon, Teamcenter 10.1.5 двухуровневый

проверьте plugin.xml на валидность. в первую очередь там ищите

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

проверьте plugin.xml на валидность. в первую очередь там ищите

 

Проверил, на мой взгляд все корректно.

 

Когда запускаю плагин Hello World через сам же Eclipse то все работает, то есть появляется меню в самой программе Eclipse, в котором есть кнопка по нажатию на которую выскакивает MessageBox. Но если я пытаюсь то же самое сделать через Teamcenter, то ест запустиь получившийся jar через Teamcenter, то при компиляции выскакивает 17 ошибок наподобие таких "could not be resolved" - под рукой нет компа чтобы посмотреть точно какая ошибка

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

Проверил, на мой взгляд все корректно.

 

Когда запускаю плагин Hello World через сам же Eclipse то все работает, то есть появляется меню в самой программе Eclipse, в котором есть кнопка по нажатию на которую выскакивает MessageBox. Но если я пытаюсь то же самое сделать через Teamcenter, то ест запустиь получившийся jar через Teamcenter, то при компиляции выскакивает 17 ошибок наподобие таких "could not be resolved" - под рукой нет компа чтобы посмотреть точно какая ошибка

плагин то хоть точно в папке с плагинами лежит?

 

что значит запустить jar через тимцентр и компиляция? какая компиляция еще? 

 

выложьте содержимое файла manifest 

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

У меня получилось таки создать кнопку. Оказывается надо было еще подключить jar от ТС которые лежат в папке Plugins.

 

Плагин сам по себе простой нужен, чтобы по кнопке в Менеджере структуры показывалось окно в котором появлялись некоторые атрибуты объекта выделенного в Менеджере структуры. Окно я сделал, а как мне получить например идентификатор и имя выделенного элемента и вывести их в это окно?

 

может на курсах поучиться....

 

 

Я бы не против поучиться только начальство не отправляет, нам по сути нужно небольшие плагины наподобие этого. Если бы было больше информации в интернете...

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

У меня получилось таки создать кнопку. Оказывается надо было еще подключить jar от ТС которые лежат в папке Plugins.

 

Плагин сам по себе простой нужен, чтобы по кнопке в Менеджере структуры показывалось окно в котором появлялись некоторые атрибуты объекта выделенного в Менеджере структуры. Окно я сделал, а как мне получить например идентификатор и имя выделенного элемента и вывести их в это окно?

 

 

Я бы не против поучиться только начальство не отправляет, нам по сути нужно небольшие плагины наподобие этого. Если бы было больше информации в интернете...

 

1. понять как устроена модель данных TC в целом + ваши особенности, без этого можете не лезть в написание под TC

2. курить API

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

 

 

Плагин сам по себе простой нужен, чтобы по кнопке в Менеджере структуры показывалось окно в котором появлялись некоторые атрибуты объекта выделенного в Менеджере структуры. Окно я сделал, а как мне получить например идентификатор и имя выделенного элемента и вывести их в это окно?

 

 

а стандартная кнопка просмотра свойств вас не устраивает? или нужно окно где нет ничего лишнего?

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

а стандартная кнопка просмотра свойств вас не устраивает? или нужно окно где нет ничего лишнего?

 

Нужно окно где нет ничего лишнего, только атрибуты которые определены приказом на предприятии. Вообще это нужно отделу нормоконтроля, я предложил им смотреть в окне свойств, они категорически отказались, поэтому вся эта эпопея. Может посоветуете что почитать можно кроме client_customization_programmers_guide. может есть примеры какие-то в сети? Я искал но почти ничего не нашел.

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

Да не, думал может важная фишка поиска какая-нибудь, про которую я не знаю.

Не, чистая случайность могло и .be и .it быть , не критично

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

дкмаю что изменить отображение свойств в окне свойства можно простым рендерингом через хмл, без всякой явы. Это все достаточно хорошо описано в хелпах по кастомизации. Надо просто не лениться прочитать.

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

У меня почему то не получилось, хотя делал все как сказано на сайте. То есть я сделал проект, экспортировал получившийся jar в папку с плагинами, запустил genregxml.bat, запустил Teamcenter но кнопки не появилось.

Использовад Eclipse Neon, Teamcenter 10.1.5 двухуровневый

Если бы Вы прочитали уже упоминаемый тут client_customization_programmers_guide то знали бы что плагины для ТС 10 пишутся в Eclipse 3.8, а никак не в 4.6 Neon.

Ну и по существу, в гайде по кастомизации информации действительно не очень много, но простенькие плагины получится сделать даже по гайду. Для более сложного надо декомпилировать плагины ТС и рахбираться как что делает ТС, плюс надо разобраться в разработке плагинов для Eclipse, так как плагин для ТС, это по сути плагин для Eclipse. Тут можно начать например с прочтения статей про OSGi у сурового челябинского программиста, начиная с http://samolisov.blogspot.ru/2009/03/osgi.html

 

 

 

а как мне получить например идентификатор и имя выделенного элемента
import com.teamcenter.rac.aifrcp.AIFUtility;
import com.teamcenter.rac.aif.kernel.AIFComponentContext;
import com.teamcenter.rac.aif.kernel.InterfaceAIFComponent;
import com.teamcenter.rac.kernel.TCComponent;
import com.teamcenter.rac.kernel.TCComponentItem;
import com.teamcenter.rac.kernel.TCComponentItemRevision;

...

// если надо получить несколько выделенных
InterfaceAIFComponent[] c_targets = AIFUtility.getTargetComponents();

//если надо получить один (только первый) выделенный
InterfaceAIFComponent c_target = AIFUtility.getTargetComponent();

// ну и дальше проверяем тип выделенного и работаем с ним как с объектом этого типа
if (c_target instanceof TCComponentItem) {
    TCComponentItem item = (TCComponentItem)c_target;
    TCComponentItemRevision revision = item.getLatestItemRevision();

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

Для получения форм

    TCComponentForm itemForm = (TCComponentForm) data.item.getRelatedComponent("IMAN_master_form");
    TCComponentForm revisionForm = (TCComponentForm) data.item_rev.getRelatedComponent("IMAN_master_form_rev");

ну и свойства есть у всех объектов, получать к ним доступ через getProperty и getTCProperty

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

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

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

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

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

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

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

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

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

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

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




×
×
  • Создать...