Jump to content

Отследить действия Windchill


Ivan Yakovlev

Recommended Posts

Ivan Yakovlev

Возможно ли отследить действие клика на открытие и загрузки документа в Windchill (подчеркнуто краснымна картинке)?

P.S.  Имеется свое самописное приложение для документов(WTDocument), при помощи ContentHelper.getDownloadURLполучаю ссылку на скачивание документа, данное скачивание регистрируется при помощи ContentServiceEvent, при нажатии на ссылку документа в windchill тоже происходит скачивание документа но ContentServiceEvent данное событие уже не регистрирует.

5a0a4db129f2d9df6966e9a2007e6c8e.png

Link to post
Share on other sites


UnPinned posts

В принципе в Windchill можно что угодно сделать, не вопросс).

В вашем случае, нужно создать дополнительный слушатель "Registering a Custom Event Listener", в мануале Customization Guide, есть пример. 

Если коротко, то нужно написать свой сервис и в нем подписаться на события.

getManagerService().addEventListener(
new ServiceEventListenerAdapter(this.getConceptualClassname())
{
public void notifyVetoableEvent(Object event) throws WTException
{
if (event instanceof VersionControlServiceEvent)
{
VersionControlServiceEvent vcsEvent = (VersionControlServiceEvent) event;
System.out.println("******** Listen hears notifyVetoableEvent on: " + vcsEvent.getEventKey() + "********" + event.getClass().getCanonicalName());
Object eventTarget = vcsEvent.getEventTarget();

if (eventTarget instanceof WTPart)
{
final WTPart part = (WTPart) vcsEvent.getEventTarget();
if (VersionControlHelper.service.allVersionsOf(part.getMaster()).size() == 1)
{
System.out.println("WTPart has been created: " + part.toString());
}
}
}
}
}, wt.vc.VersionControlServiceEvent.generateEventKey(wt.vc.VersionControlServiceEvent.NEW_VERSION)
);

 

 

Из событий вам подойдут READ_CONTENT или POST_DOWNLOAD

Windchill 10.2, нужно срочно апгрейдить там все безнадежно устарело, аргумент для руководства (улучшенный функционал и множество секюрити обновлений )

 

Link to post
Share on other sites
Ivan Yakovlev

READ_CONTENT помог)  
this.getManagerService().addEventListener(new ServiceEventListenerAdapter(this.getConceptualClassname()) {
            public void notifyVetoableEvent(Object event) throws Exception 
                if(event instanceof ContentServiceEvent) {
                    ContentServiceEvent contentEvent = (ContentServiceEvent)event;
                    Object eventTarget = contentEvent.getEventTarget();
                    WTDocument wtDoc = (WTDocument)eventTarget;
                    System.out.println("wtDoc: "+wtDoc.getNumber()+ " READ_CONTENT ");
                }   
            }
           
        }, ContentServiceEvent.generateEventKey(ContentServiceEvent.READ_CONTENT));

Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recently Browsing   0 members

    No registered users viewing this page.



  • Сообщения

    • Александр_22948
      огромное спасибо! помогло!
    • Александр20
      Увидел эту закарючную букву в интернете и решил попробовать свои силы в моделировании)
    • grOOmi
      NX всегда всё наоборот делает. Попробуй поставить отрицательное значение в диаметре фрезы, или выбрать в другом направлении, или ещё что-нибудь
    • Чингачгук
      точно, в медведях полно всякого полезного вещества имеется! а @Fedor даже из грязи может пользу извлечь... а тут цельный медведь!
    • CJIABUK
      Доброго времени суток Ситуация следующая. Купили станок LVD Parma 1225 б/у, к нему, в комплекте, шёл 31 пробивной инструмент. Получилось быстро внедрить и начать эксплуатировать. Дальше стал вопрос о развитии и было предложено 2 варианта: 1) купить роликовый инструмент (провёл тесты без инструмента и листа, получил эффект прижатия и движения лап, вроде бы всё ок, можно покупать) 2) купить гравёр (тесты в холостую провести не успел, но купили именно этот инструмент) Итак вопрос, как добавить в список инструментов (а соответственно и в револьвер) инструмент для гравировки??? Я уже перерыл весь интернет, на всех уроках все очень легко гравируют, но ответа на вопрос: "Как добавить гравирующий инструмент?" - нет. Подскажите, где взять/как создать этот инструмент в программе? Инструмент покупали новый, но продавцы - обычные продажники и ничего не знают.
    • Kir95
      Да, запутался во флексовской терминологии. Но в солидовской ветке "тело по пути" как-то уж очень экзотично звучит ))
    • BSV1
      Съел. Дядя Федя съел медведя. 
    • BSV1
      Да, сильно разогнался. Зато поверхности достаточно плавненько перетекают.    Ну нет. Ни каких параметров.
    • Kir95
      Заказали логотип Филадельфии? )))   как логотип Перми )  
    • psp911
      Так просто вставить не получится, наверно. У нас есть надстройка, которая при перетаскивании мышкой из этого окна в сборку вставляет не саму эту деталь (сборку), а, видимо, отлавливает это событие, копирует исходник в некую папка, переименовывает и уже эту переименованную деталь вставляет в сцену. Я хотел сделать выделение этой детали, чтобы осталось сделать последнее движение - вручную затащить деталь в открытую сборку. Программное сымитировать такое действие не представляю возможным. Из VBA, по крайней мере.        
×
×
  • Create New...