自从NX10.0以来,NXOpen增加了对Python的支持,Python有多强大不用解释,本来UG自带操作记录编辑器(如下图)可以用来录制操作记录,也能编辑和运行python程序,但我想没人会用那个来进行二次开发
为了能更方便的利用Python对UG进行二次开发,最好是设置使用外部Python版本运行NX中的Python脚本,这样不仅可以使用强大的Python第三方库,而且结合IDE的使用,可以让写代码变得稍微轻松点,至少有代码提示。根据NX文档,NX12.0使用的Python版本为3.6.1,所以得在电脑中安装python3.6.1。设置如下:
打开G:\Program Files\Siemens\NX 12.0\UGII\ugii_env.dat,增加两行,其中,注意根据python3.6.1及NX的实际安装位置进行相应修改
UGII_PYTHON_LIBRARY_DIR="D:\Program Files\Python36" UGII_PYTHONPATH="D:\Program Files\Python36;D:\Program Files\Python36\DLLs;D:\Program Files\Python36\Lib;D:\Program Files\Python36\Lib\site-packages;D:\Program Files\Python36\libs;G:\Program Files\Siemens\NX 12.0\NXBIN\python"
为了验证设置是否有效,新建一个文本,后缀名改为.py,写入代码如下:
import NXOpen session=NXOpen.Session.GetSession() lw=session.ListingWindow lw.Open() lw.WriteLine('Hello World')
打开NX12.0,Alt+F8,选择刚才的文件,运行,结果如下:
这就说明设置成功,下面利用python自带的IDLE来测试下代码提示,新建一个文本文档,文件名改为nxopen.pth,打开文件,输入:
G:\Program Files\Siemens\NX 12.0\NXBIN\python(按NX实际安装路径更改)
然后将nxopen.pth放入D:\Program Files\Python36\Lib\site-packages文件夹中(按python实际安装路径更改),打开IDLE,首先import NXOpen,然后就可以正常提示了
当然,一般不使用IDLE进行开发,pydev是个不错的选择,关于如何在pydev中配置NXOpen-Python,在这里就不再赘述了,西门子官方有相关资料,网上也有很多,下图是UF函数的提示及文档
唯一让我纠结的是,利用pydev调试NXOpen-python程序始终没有弄好,按照官方文档怎么试都不行,郁闷
官方给出的Eclipse+pydev 配置说明如下,需要的自取:
https://files.cnblogs.com/files/blogs/686940/Debug_NXOpen_Python_with_NX12_and_Eclipse_PyDev.zip