Sign in to follow this  
Followers 0
aleks1113

Создание элемента типа деталь программно(java)

Программирование под Teamcenter начал изучать недавно. Нашел пример как создать TCComponentItem, с ним вроде все понятно. Вопрос: как создать деталь, чтобы допустим пользователь вводил имя, id, ревизию?

 

public static TCComponentItem createItem(String id, String rev, String type, String name) throws TCException {
     TCComponentItem search = searchItem(id);
     if (search == null) {
       TCComponentItemType typeItem = (TCComponentItemType)session.getTypeComponent("Item");
       search = typeItem.create(id, rev, type, name, "", new TCComponent());
       return search;
     }
     return null;     
   }
   
   public static TCComponentItem searchItem(String id) throws TCException
   {
     TCComponentItemType type = (TCComponentItemType)session.getTypeComponent("Item");
     TCComponentItem item = type.find(id);
     return item;
   }
   
   public static void addToNewStuff(TCComponentItem object) {
     try {
       TCComponentFolder newStuffFolder = session.getUser().getNewStuffFolder();
       addItemToFolder(object, newStuffFolder);
     } catch (TCException e) {
       e.printStackTrace();
     }
   }
   
   public static void addItemToFolder(TCComponentItem createItem, TCComponentFolder folder) {
     if (folder == null) {
       return;
     }
     try {
       folder.add("contents", createItem);
     }
     catch (Exception localException) {}
   }

Share this post


Link to post
Share on other sites


ID: 2   Posted (edited)

сделайте свою форму(диалог) с нужными полями и передавайте параметры в функцию создания Item

Edited by lexx174

Share this post


Link to post
Share on other sites
19 часов назад, aleks1113 сказал:

А тип какой указывать?

 

тип Item-a? Да какой хотите. Какой создан для олицетворения детали такой и используйте

Share this post


Link to post
Share on other sites

А как созданный item добавить допустим в папку новое(NewStuff)?

 

Share this post


Link to post
Share on other sites
13 часа назад, aleks1113 сказал:

А как созданный item добавить допустим в папку новое(NewStuff)?

 

component.add("contents",newstuff_tag);

Share this post


Link to post
Share on other sites

ID: 7   Posted

В 01.12.2017 в 14:19, lexx174 сказал:

сделайте свою форму(диалог) с нужными полями и передавайте параметры в функцию создания Item

в этом случае лицензия для создания ITEM использует тот кто запустит форму кастомную?

 возможно сделать так, форму запускал один пользователь (у которого нет этой лицензии), а    функция создания Item запускалась от имени пользователя у кого это лицензия есть

Share this post


Link to post
Share on other sites

ID: 8   Posted

15 часов назад, nbg сказал:

в этом случае лицензия для создания ITEM использует тот кто запустит форму кастомную?

 возможно сделать так, форму запускал один пользователь (у которого нет этой лицензии), а    функция создания Item запускалась от имени пользователя у кого это лицензия есть

При чем тут лицензия и формы?это никак не связано. Просто вместо стандартного визарда создания айтема вы используете свою форму.

Откуда вы взяли про лицензии на создание айтема?бред

Share this post


Link to post
Share on other sites

ID: 9   Posted

1 час назад, lexx174 сказал:

При чем тут лицензия и формы?это никак не связано. Просто вместо стандартного визарда создания айтема вы используете свою форму.

Откуда вы взяли про лицензии на создание айтема?бред

Разве для создания Item не нужна лицензия автора? в моем случае речь идет не об Item, а о другом объекте для создания которого требуется лицензия.

мне нужно чтобы объект создавался от имени другого пользователя, но данные для создания вводил тот, кто вошел в тимцентр

Share this post


Link to post
Share on other sites
52 минуты назад, nbg сказал:

Разве для создания Item не нужна лицензия автора? в моем случае речь идет не об Item, а о другом объекте для создания которого требуется лицензия.

мне нужно чтобы объект создавался от имени другого пользователя, но данные для создания вводил тот, кто вошел в тимцентр

Так вы сразу и обрисуйте нюансы,это уже другая картина если вам нужен не стандартный айтем и его производные

Авторская лицензия teamcenter_author - это основная лицензия которая и так должна быть у пользователя.

 

Если вы создаете не классические айтемы, а например объекты модуля change_management  - то там да,уже используется другой тип лицензии.

Думаю такое не получится то что вы хотите.

Единственно что - попробовать запускать внешнюю ITK утилиту(если нужно пакетное создание),а это вряд ли удобно будет

Share this post


Link to post
Share on other sites
23 минуты назад, lexx174 сказал:

Так вы сразу и обрисуйте нюансы,это уже другая картина если вам нужен не стандартный айтем и его производные

Авторская лицензия teamcenter_author - это основная лицензия которая и так должна быть у пользователя.

 

Если вы создаете не классические айтемы, а например объекты модуля change_management  - то там да,уже используется другой тип лицензии.

Думаю такое не получится то что вы хотите.

Единственно что - попробовать запускать внешнюю ITK утилиту(если нужно пакетное создание),а это вряд ли удобно будет

внешнюю ITK , т.е. утилиту которая запускается вне тимцентра? напрямую с базой работать?

Share this post


Link to post
Share on other sites
5 минут назад, nbg сказал:

внешнюю ITK , т.е. утилиту которая запускается вне тимцентра? напрямую с базой работать?

верно. внешняя утилита - это уже отдельная сессия тимцентра будет.

Share this post


Link to post
Share on other sites
7 минут назад, lexx174 сказал:

верно. внешняя утилита - это уже отдельная сессия тимцентра будет.

а данные в таком случае заносятся напрямую в базу? просто структура базы у тимцентра такая, что напрямую туда писать рискованно. или я не верно понял вас?

Share this post


Link to post
Share on other sites

ID: 14   Posted (edited)

7 минут назад, nbg сказал:

а данные в таком случае заносятся напрямую в базу? просто структура базы у тимцентра такая, что напрямую туда писать рискованно. или я не верно понял вас?

насколько я понимаю у вас очень слабое понимание архитектуры этой системы.

 

Данные естественно занесутся в базу,куда им деваться

 

с базой тимцентра на уровне СУБД (если вы имеете ввиду писать в таблицы БД) - никто не работает, тимцентр построен так чтобы туда вообще не лазить,вы работаете на более верхнем уровне абстракции, непосредственно все манипуляции с таблицами БД делает сама система.

Единственно когда используют прямой доступ к БД - это для чтения данных, для например формирования больших отчетов, т.к прямой доступ к БД дает существенный выигрыш по времени

 

 

Edited by lexx174

Share this post


Link to post
Share on other sites
3 минуты назад, lexx174 сказал:

насколько я понимаю у вас очень слабое понимание архитектуры этой системы.

 

с базой тимцентра на уровне СУБД (если вы имеете ввиду пиать в таблицы БД) - никто не работает, тимцентр построен так чтобы туда вообще не лазить,вы работаете на более верхнем уровне абстракции, непосредственно все манипуляции в таблицами БД делает сама система.

Единственно когда используют прямой доступ к БД - это для чтения данных, для например больших отчетов, т.к прямое доступ к БД дает существенный выигрыш по времени

то что манипуляции с базой делает система я в курсе, не очень понял про концепцию про отдельную сессию тимцентра, если будет запускаться отдельная утилита вне тимцентра

Share this post


Link to post
Share on other sites
1 минуту назад, nbg сказал:

то что манипуляции с базой делает система я в курсе, не очень понял про концепцию про отдельную сессию тимцентра, если будет запускаться отдельная утилита вне тимцентра

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

просто это немного извращенный вариант, для случая если пользователю нужно создать 1-2 определенных объекта.

Сама утилита ITK запускается обычно через батник, где настроены переменные доступа к базе,и время на логин и взятие лицензии проходит определенное

Share this post


Link to post
Share on other sites
3 минуты назад, lexx174 сказал:

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

просто это немного извращенный вариант, для случая если пользователю нужно создать 1-2 определенных объекта.

Сама утилита ITK запускается обычно через батник, где настроены переменные доступа к базе,и время на логин и взятие лицензии проходит определенное

спасибо! тут еще хотят иметь возможность редактирования ))) сразу сказать нельзя так!

Share this post


Link to post
Share on other sites
1 минуту назад, nbg сказал:

спасибо! тут еще хотят иметь возможность редактирования ))) сразу сказать нельзя так!

вы программируете на Java под TC я так понимаю?

что именно редактировать хотят?

Share this post


Link to post
Share on other sites

ID: 19   Posted (edited)

3 минуты назад, lexx174 сказал:

вы программируете на Java под TC я так понимаю?

что именно редактировать хотят?

да Java.

хотят редактировать свойства этого объекта, который создадут таким образом

 

т.е. хотят редактирование из внешней утилиты, но при этом изменению в тимцентре происходили от имени другого пользователя, у которого есть лицензия

Edited by nbg

Share this post


Link to post
Share on other sites
8 минут назад, nbg сказал:

да Java.

хотят редактировать свойства этого объекта, который создадут таким образом

 

т.е. хотят редактирование из внешней утилиты, но при этом изменению в тимцентре происходили от имени другого пользователя, у которого есть лицензия

есть еще механизм user services - вызов из rich client функций зарегистрированных на сервере в dll. Это более удобный вариант,т .к никаких сторонних утилит и ожиданий нет. Единственно что нужно посмотреть возможно ли создать новую сессию ITK функциями

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now
Sign in to follow this  
Followers 0

  • Recently Browsing   0 members

    No registered users viewing this page.



  • Сообщения

    • Даник
      Если я всё правильно понимаю, то есть такая кнопка: "Преобразовать в NURBS", то есть если создаете объемную букву? Выбираете данную кнопку и наводите и кликаете на букву. Как итог, буква преобразовывается в контур. Ничего обводить или что-то искать дополнительно не нужно.
    • AlexKaz
      Интересный анализ. Вот бы ещё КПД считали через энергоёмкость в Дж - цены бы не было. На счёт A*ч лично у меня пока что лёгкие сомнения - потому как не учитывается изменение напруги. В то время как по нормальному считать энергию через интеграл мощности и времени: E=integrate(U*I,dt,0,t). А ампер*часы дают лишь integrate(I,dt,0,t). По моим прикидкам полная отдаваемая энергия остаётся постоянной для одной температуры, но разных токов. В то время как ампер*часы меняются.     Надо перепроверять. Потому и подрядил школьников, надеюсь не сольются. Вот ещё правильно сомневающийся https://alex-avr2.livejournal.com/152667.html
    • Di-mann
      А если учесть потери Аккумулятора в цикле- заряд разряд то там тоже от паровоза не далеко ушли.
    • AlexKaz
      Да я понял, но у меня нет цифр потерь на всех участках. Если наткнуть на приличный док с нормальными комментариями, а не просто картинку - выложу. Тут ещё есть статейки, где делаются попытки высчитать примерную экономию в долгосрочном периоде с учётом всех затрат. КПД КПДэм, но потребитель всё считает в монете. Пример статьи https://www.researchgate.net/publication/331833082_ECONOMIC_EFFECTS_OF_ELECTRIC_VEHICLES_ON_ROAD_TRANSPORTATION
    • Di-mann
      Я ему про Фому, он про Ерёму... Определи потери в этой системе от начальной точки до конечной, а потом КПД электромобиля умнож на КПД этой системы. Это будет цифра реального КПД электромобиля, которое можно будет сравнивать с КПД авто с ДВС.
    • gv-74
      Она 30 стоит
    • AlexKaz
      Мельком пролистал несколько книг, вот например итоговый КПД от сжигания нефти. В других источниках в принципе аналогичная картина, добавляются детали (потери в батарее, редукторе, инверторе).
    • error1412
      Подскажите пожалста, как сделать чтоб в начале уп выводилось реальное название уп?
    • FrezerAST
      И давно у вас эксклюзивные права на Турту? Это чудо общее) Вы ещё начните по другим форумам его одергивать, чтоб не распылял свой талант незнамо где.
    • error1412
      То что нужно. Спасибо.