UG二次開發NXOpen-Python(八) 代碼保護


  有人說python是腳本語言,在進行NX的二次開發時,不能像C++、.Net、Java那樣能編譯成dll文件,也就是說自己的代碼實現完全暴露在外面,所以NXOpen-python沒有什么價值,僅能用於學習及愛好

  其實也不完全是這樣,用python進行NXOpen二次開發一是為了學習,二是python用起來確實方便,而且掌握NXOpen二次開發的關鍵不在於語言,而在於對NX軟件的使用熟練度,至於一定的源碼保護,python也可以實現,NX中也能使用,需要用到的模塊:easycython,舉個簡單的例子

import NXOpen

def testPYD():
    #打印“testPYD”,你可以實現其它任意不想給別人看見的功能
    theSession: NXOpen.Session = NXOpen.Session.GetSession()
    lw: NXOpen.ListingWindow = theSession.ListingWindow
    lw.Open()
    lw.WriteLine("testPYD!!")

  比如說我們想實現一個功能,具體的實現不想給別人看見,我們將以上代碼保存為pydtest.pyx,然后直接在命令行輸入:easycython pydtest.pyx,得到pydtest.cp36-win_amd64.pyd文件,將“cp36-win_amd64”去掉,文件名變成pydtest.pyd,為了驗證效果,我們再新建一個runTestPyd.py文件,文件內容如下:

from pydtest import testPYD

def main():
    testPYD()

if __name__ == "__main__":
    main()

  將該文件與上面的pydtest.pyd放到同一文件夾,然后在NX中ALT+F8,運行runTestPyd.py

 

  可以看到,NX中能正常運行,pyd文件是不好進行反編譯的,也就是說你NX二次開發的實現代碼別人是看不見的

 

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM