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二次开发的实现代码别人是看不见的

 

  

posted @ 2021-08-19 13:39  hustmse0510  阅读(1099)  评论(1编辑  收藏  举报