UG 2406 python 二次开发环境配置
项目地址
https://gitee.com/unm001/nx2406.git
安装python
-
安装 python 3.10.11
D:\prog\python\python310
-
新建 python 项目文件夹
- 在
E:\work\UG
下拉取
git clone https://gitee.com/unm001/nx2406.git
- 把
E:\work\UG\nx2406
改名为E:\work\UG\PROG
- 在
-
安装 vscode 并打开文件夹
E:\work\UG\PROG
-
更新 pip源
找到
pip_config.py
执行并选择源。推荐清华大学
-
测试pip
pip install numpy
联动UG
-
安装 UG 2406
D:\prog\UG2406
-
把UG的python 路径添加
-
系统环境变量
PYTHONPATH
-
内容
D:\prog\UG2406\NXBIN\python
-
作用是找到
NXOpen
,可以import
-
找到
text_sys_path.py
执行
结果是:e:\WORK\UG\PROG D:\prog\UG2406\NXBIN\python D:\prog\python\python310\python310.zip D:\prog\python\python310\DLLs D:\prog\python\python310\lib D:\prog\python\python310 D:\prog\python\python310\lib\site-packages ------------------------------
-
-
把系统路径模块复制到ug python 的目录
- 复制
E:\WORK\UG\PROG\ug_path.py
到D:\prog\UG2406\NXBIN\python\ug_path.py
- 复制
-
新建._pth 文件
-
位置
D:\prog\UG2406\NXBIN\python\python310._pth
-
内容
python310.zip . # Uncomment to run site.main() automatically import site
-
作用是让ug内执行py程序时,可以引用pip的模块
-
-
在UG里新建一个用户命令
-
执行
ug_sys_test.py
-
文件要点:
-
先要
from ug_path import ug_path_init # add python path to sys.path ug_path_init()
这是把UG外面的
python pip包
的路径添加到系统里,可以找到并import
, 并且设置程序运行的当前目录
. -
引用的dlx文件在
./dlg/
目录下,系统生成的 BLOCK UI 的 .py 文件,引用的 dlx 文件路径要改一下。
/dlg/sys_test_main.py
文件里 原文self.theDlxFileName = "sys_test_main.dlx"
更改为
# self.theDlxFileName = "sys_test_main.dlx" self.theDlxFileName = "dlg/sys_test_main.dlx"
-
新建类,并重写响应的函数。
-
重写 main 函数。
-
-
如果引用外部包,文件头最好加上
#nx: threaded
- 引用 numpy 等包时,不卡
- 如果文件更改了,要重启UG才行
-
如果程序执行不了。可能的错误点:
- sys.path 设置不正确,没有包括所需要的路径,可以手动添加。
- 当前目录不正确。os.getcwd 和 os.chcwd 可以改变当前目录。
#nx: threaded
的问题
NXOpen 如何代码提示
-
执行 make_pyi.py ,生成
/NXOpen
(约63.5M)。 -
把生成的
/NXOpen
移动到 UG里的/NXBIN/python
下。 -
这个生成的提示不一定准确,以官方的帮助文件为准。
-
如果函数的返回值 vscode 识别不了类型,可以手动指定类型。例如
ss:NXOpen.Session = NXOpen.Session.GetSession()
-