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.



  • Сообщения

    • RadN
      Большое спасибо за ответ! Все получилось в Autodesk Manufacturing Post Processor Utility 2019! Но, к сожалению, мне нужно это сделать в PostProcessor 6.0 для того, что бы опционный файл был с расширением .pmopt а не .pmoptz Т.к. необходимо что бы работало из-под PowerMill10, а он воспринимает только опционные файлы с расширением .pmopt PostProcessor 6.0 же ругается на строку program.ActiveToolpath.Parameters.Item(per1) , выдает: 
      script error: Требуется объект
      Location:
          script: line 193, col 0
          response: Program Start
          object: Command, function: Engage
          object: Program
          object: ProgramBuilderNC
          record: #8 (2000 / 1079)
          object: CLDATAReader, function: ReadCLDATA
      Команда : Program Start  
    • Vasiliy85
      Мож все таки дела в настройках файлов. запустил Master.swp - настроил - жму настроить шаблоны, застраивается на строчке Name Source18 As strTemp1   ' Rename file не может найти файл, что это такое?   еще 1 замечания, если открыть файл A4-P-1.slddrt через солид то он генерируется его на основе шаблона iso как это исправить ?
    • CADIS
      18.07 | 14:00  Приглашаем на вебинар по частотному анализу в SOLIDWORKS Simulation! подробно расскажем о теоретических основах модального анализа в МКЭ; объясним, что такое массовое участие, суммарная эффективная масса;  расскажем, как определить опасное направление колебаний; а также расскажем, в каких случаях можно ограничиться результатами частотного анализа, не прибегая к трудоемким динамическим расчётам.   Всем участникам вебинара предоставим бесплатную техническую поддержку по SOLIDWORKS Simulation в течение одного года.   Ссылка на регистрацию: https://www.cad-is.ru/event/chastotnyy-analiz-v-solidworks-simulation   
    • shultz81
      Забыл написать что Солид с меню на английском. Может это как-то влияет, язык поменять?  
    • Vasiliy85
      @malvi.dp сработал только на массе, заметил что так же разрядность меняется если через dpor перезагрузить основную надпись, хотя если нажать Исправить оформление чертежа то разрядность в норме. Мое предположение что макрос восстанавливает те настройки которые заложены в самом солиде в стиле гост т.к внизу чертёжного стандарта написано получено из ГОСТ
    • shultz81
      Переустановка солида, ничем не помагла! Какие идеи,? Какие еще варианты?  
    • FrezerAST
      Мне одному кажется что посты от СетевогоПромывочногоИнтеллекта намного осмысленней постов ТСа? И что самое приятное никого в свой чёрный список не пытается запихнуть
    • Круче чем Феррари
      Интересные вы темы на форуме поднимаете, надо не только за своими вопросами сюда заходить))
      ТС, глянь ка метчики для безстружечной накатки резьбы, они же раскатные метчики Вот такие http://fixtrade.ru/shop/instrument-i-oborudovanie/glowdrill/metchiki_dlya_bezstruzhechnoj_nakatki_rezby/ Думаю в эту сторону нужно копать, искать нормативы по этому процессу. Название у тебя теперь есть, интернет тоже)
    • механик
      Видел на выставке такую штуку. На подобии сверла.Ставится в сверлильный станок. При вращении от трения нагревается сама и нагревает металл. В результате получается отверстие с вытянутыми вниз краями. Т.е. весь материал из зоны отверстия "уходит" вниз. И соответственно получается отверстие и длинный бортик.
    • Di-mann
      Авторасстановка позиций распространяется на видимые объекты. Не видно объекта, нет позиции.