点击查看详细介绍

如何捕捉使用者刪除行為

ggyybon 15年前 11641 6

购买与咨询 NX 二次开发视频教程,请联系微信号:13890821008  QQ号:85585969  


各位高手,
在下今想開發個功能,主要是透過當使用者刪除part檔案中的某個實體而觸發執行,而又不想一直遍歷part檔案中的實體來檢查是否有減少,請問是否有辦法透過ugopen api來得知使用者目前進行刪除實體的動作?
請問各位是否有看過捕捉使用者操作刪除行為的api?
還是各位是否有些思路可以提供在下實現呢?

0

最新回复 (6)
  • qindongjun88 15年前
    1

    用hook应该可以完成你想要的功能!

  • ggyybon 15年前
    2

    感謝qindongjun88前輩提供的思路。
    但我想HOOK可能是最後手段,難道沒有API可以得知目前使用者正在做刪除動作並得知是刪除哪個物件嗎?
    研究了一下solidworks是有提供

  • qindongjun88 15年前
    3

    我想问一下楼主,你捕捉删除消息的用意是什么呢?看看能否用其它方法达到同样的目的……

  • ggyybon 15年前
    4

    主要是做了一個外部的介面,使用者透過這外部介面對NX做相關操作動作,且會紀錄對NX畫面中哪個特徵做了操作,但這些都是單向性的,都是由此介面對NX下指令,若使用者直接對工作視窗中的特徵作變更或刪除動作,此外部介面所記錄的資訊便會發生錯誤,因此想捕捉若NX中的特徵若有直接被使用者變更或刪除的時候需要重整此外部介面的資訊,因此才想捕捉刪除事件主要是想藉此達到上述功能。由於目前已經啟動了HOOK偵測了其他事件,且常常會出現漏洞所以目前捕捉刪除動作不想藉由HOOK達成。

    目前想透過UF_TAG_register_event_cb()來捕捉tag刪除的事件,但NX有非常大量的tag一直在變動,一直無法確定何者是在刪除目前工作視窗中物件的動作。

    請問是否有人有類似的經驗可以分享,只要是對NX視窗作變更、刪除或是還原動作的事件皆可,還望高人指點一下小弟我



  • qindongjun88 15年前
    5

    ggyybon兄:
    UF_TAG_register_event_cb()的第一个参数传递UF_TAG_EVENT_NORMAL_DELETE不可以捕捉tag刪除的事件吗?

    UF_TAG_event_e
    enum UF_TAG_event_e
    UF_TAG_EVENT_NORMAL_CREATE

  • ggyybon 15年前
    6

    的確我目前是使用UF_TAG_register_event_cb()的参数UF_TAG_EVENT_NORMAL_DELETE來達到我的目的,但如我所說的傳遞的tag非常大量,將傳入的tag依序檢查是否為我要的tag,由於沒什麼其他方法來辨識傳入的tag為何種物件,因此效率無法提高,不過看來似乎是沒其他方法了,也謝謝qindongjun88前輩陪我分憂解勞~

请登录后发表新帖