hustmse0510 发表于 2024-2-1 16:52:54

python二次开发NX环境搭建

NX10.0以后,NXOpen增加了对Python的支持,Python有多强大不用解释,本来UG自带操作记录编辑器(如下图)可以用来录制操作记录,也能编辑和运行python程序,但没人会用那个编辑器来进行二次开发,为了能更方便的利用Python对UG进行二次开发,最好是设置使用外部Python版本运行NX中的Python脚本,这样不仅可以使用强大的Python第三方库,而且结合IDE的使用,可以让写代码变得稍微轻松点,至少有代码提示。根据NX文档,NX12.0使用的Python版本为3.6.1,所以得在电脑中安装python3.6,小版本无所谓。设置如下:打开G:\Program Files\Siemens\NX 12.0\UGII\ugii_env.dat,增加两行,其中,注意根据python3.6及NX的实际安装位置进行相应修改:<font face="宋体" size="3">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"</font>为了验证设置是否有效,新建一个文本,后缀名改为.py,写入代码如下:<font face="宋体" size="3">import NXOpen

session=NXOpen.Session.GetSession()
lw=session.ListingWindow
lw.Open()
lw.WriteLine('Hello World')</font>打开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进行开发,官方推荐是Eclipse+pydev,其实pycharm也是可以的,vscode试了试代码提示出不来,不知道什么原因,pydev代码提示如下:<font face="宋体" size="3">#nx: threaded
import pydevd
pydevd.settrace()

import NXOpen_UF
import NXOpen
theUfSession: NXOpen_UF.UFSession = NXOpen_UF.UFSession.GetUFSession()
modl: NXOpen_UF.ModlFeatures = theUfSession.ModlFeatures
ui: NXOpen_UF.Ui = theUfSession.Ui
ui.OpenListingWindow()


block_t = modl.CreateBlock(NXOpen_UF.ModlFeatureSigns.NULLSIGN, 0, ,
                           ["100", "50", "30"])

block_t1 = modl.CreateBlock1(NXOpen_UF.ModlFeatureSigns.NULLSIGN, [
                           100.0, 0.0, 0.0], ["100", "50", "30"])
block_o = NXOpen.TaggedObjectManager.GetTaggedObject(block_t)
block_o1 = NXOpen.TaggedObjectManager.GetTaggedObject(block_t1)


ui.WriteListingWindow(f"{block_t}:{block_o}\n")
ui.WriteListingWindow(f"{block_t1}:{block_o1}\n")</font>代码前三行是为了调试用的,调试界面如下:

随风飘~e族 发表于 2024-2-2 10:06:40

大佬666

puter 发表于 2024-4-7 07:22:34

未来可期

Rez 发表于 昨天 11:51

6666漂亮
页: [1]
查看完整版本: python二次开发NX环境搭建