接上篇关于python与UG的开发配置问题。本篇主要介绍了ug如何调用外部python进行脚本调试。ug本身自带python不具备模块拓展能力,python的强大之处在于有丰富的资源包来支持我们的工作。本篇主要参照以下三篇资料,请详细阅读。
eclipse设置,window>preferences>python interpreter将pydev插件安装目录下pydevd.py所在文件夹添加到PYTHONPATH目录下,
UG启动方式换成bat,或者把相应的环境变量设置一下,说白了就是不用ug里面的python解释器,通过下面的设置换成自己安装的python解释器。
@echo off
set pydev=C:\Users\Administrator\.p2\pool\plugins\org.python.pydev.core_8.1.0.202012051215\pysrc
set UGII_BASE_DIR=H:\Program Files\Siemens\NX 10.0
set UGII_PYTHON_HOME=C:\Python33
set UGII_PYTHON_DLL=python33.dll
set UGII_PYTHON_LIBRARY_DIR=c:\windows\system32 (这里有个坑,python33.dll文件的位置)
set UGII_PYTHONPATH=%UGII_PYTHON_HOME%;C:\Python33\DLLs;C:\Python33\Lib;C:\Python33\Lib\site-packages;%UGII_BASE_DIR%\UGII\python;%pydev%
set TCL_LIBRARY=%UGII_PYTHON_HOME%\tcl\tcl8.5
:: start UGNX
"H:\Program Files\Siemens\NX 10.0\UGII\ugraf.exe" -nx
Python脚本的要求
需要脚本开头加上以下三句
# nx: threaded
import pydevd
pydevd.settrace()
UG界面下脚本调试,这里不赘述了。主要介绍eclipse下的调试方法
首先启动debug server,pydev>>start debug server。
到此,基本完成。
我一开始一直认为,在eclipse开发环境下,调试python脚本,UG的绘图区就会根据脚本内容变化。好像并不是我认为的那样,我用录制的脚本修改以后,在eclipse下单步调试运行,总是或多或少的错误信息,不知道是什么原因。但是修改后脚本在UG脚本回放是完全正常的。我想原因主要两个吧,一是外部python没有引用ug正确模块,二是部分函数属性不支持外部环境。