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

Простой плагин на 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 пользователей

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




  • Сообщения

    • Fedor
      https://www.litres.ru/book/v-n-faddeeva/vychislitelnye-metody-lineynoy-algebry-65999878/  Ну и классику жанра :) 
    • Jesse
      4000 об/мин при наружном диаметре колеса 380 мм. Думаете, на больших оборотах вилка всё равно может разойтись и могут появиться гироскопические эффекты? Даже несмотря на вышеприведенные массово-инерционные оценки и расположение опор?   да я влияние престресс (вращение) особо не увидел... Думал обычным модальником прогнать, Ланцошом (он пошустрее).   Ещё мои раздумья направлены в сторону присоединённой массы воды, что по идее должно занижать частоты. Хотя для такого массивного вала как у меня даже на это дело можно забить, наверно...
    • Handrusik
      Maxx2000 - благодарю Павлуха - это не фриланс Утомлённый солнцем - приятно, что меня помнят
    • Борман
      Я так понимаю, что обороты не особо большие. ДК - это чисто высокооборотистая тема.   Просто мысли вслух... Если вилка будет сильно расходится, то всегда будет точка пересечения любого луча с кривой BW. Причем точка будет на меньших оборотах по сравнению с обычным престресс-модальником. Какие дальше действия ? С чем тут нужно дополнительно бороться по сравнению с тем, с чем нужно было бы бороться по результатам обычного престресс-модальника Если вилка не сильно расходится (от кривой обычного престресс-мобальника), то смысла стоить строгую ДК большого нет.    
    • boomeeeer
      На сименсе параметрами настраивается многое, что связано с менеджером иснструмента. Вызов возможен как по номерам, так и по именам инструментов. Через равно вроде как по имени вызывается (Т="имя"), а по номеру можно было, например, Т1 M6, а первый корректор подтянулся бы автоматически. И не всегда М6 на смену. Производитель мог нагородить чего угодно. Параметры надо смотреть
    • Den4ik85
      P.S этой ошибки не было при запуске,она возникла при выполнении команды смены инструмента "T=.." d1m6. (так учили на курсах) возможно,не тот номер ввел или не соответствовало название инструмента его номеру?
    • boomeeeer
      @Den4ik85 Подключаться к контроллеру и искать цепочку формирования сигнала ошибки DB2.DBX183.0. Возможно один из индуктивных датчиков на подсчёт ячеек магазина вышел из строя
    • boomeeeer
      G108 C0 - Включить шпиндель №0 в режим оси C G90 C180 - Переместить ось С в позицию 180 градусов
    • Den4ik85
      благодарю! ничего не понял, ну хоть что-то) учусь только) попробую разобраться
    • куркуль
      В системе управления неправильно настроено максимальное количество инструментов (должно быть установлено на 4 или 6).Информация о ПЛК Адрес ПЛК: DB1600.DBX3.0подпрограмма: ОСНОВНОЕ (OB1)исправление Проверьте правильность настройки MD14510[20] (максимальное количество инструментов). Каждый производитель прописывает по своему. на своего монстра ищи документацию.  
×
×
  • Создать...