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()
- 執行