UG 2406 python 二次开发环境配置

UG 2406 python 二次开发环境配置

项目地址

https://gitee.com/unm001/nx2406.git

安装python

  1. 安装 python 3.10.11
    D:\prog\python\python310

  2. 新建 python 项目文件夹

    • E:\work\UG 下拉取
      git clone https://gitee.com/unm001/nx2406.git
    • E:\work\UG\nx2406 改名为 E:\work\UG\PROG
  3. 安装 vscode 并打开文件夹 E:\work\UG\PROG

  4. 更新 pip源

    找到 pip_config.py 执行并选择源。推荐 清华大学

  5. 测试pip
    pip install numpy

联动UG

  1. 安装 UG 2406
    D:\prog\UG2406

  2. 把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
      ------------------------------
  3. 把系统路径模块复制到ug python 的目录

    • 复制 E:\WORK\UG\PROG\ug_path.pyD:\prog\UG2406\NXBIN\python\ug_path.py
  4. 新建._pth 文件

    • 位置 D:\prog\UG2406\NXBIN\python\python310._pth

    • 内容

      复制代码
      python310.zip
      .
      # Uncomment to run site.main() automatically
      import site
    • 作用是让ug内执行py程序时,可以引用pip的模块

  5. 在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

      1. 引用 numpy 等包时,不卡
      2. 如果文件更改了,要重启UG才行
    • 如果程序执行不了。可能的错误点:

      1. sys.path 设置不正确,没有包括所需要的路径,可以手动添加。
      2. 当前目录不正确。os.getcwd 和 os.chcwd 可以改变当前目录。
      3. #nx: threaded 的问题

    NXOpen 如何代码提示

    • 执行 make_pyi.py ,生成/NXOpen (约63.5M)。

    • 把生成的/NXOpen 移动到 UG里的 /NXBIN/python 下。

    • 这个生成的提示不一定准确,以官方的帮助文件为准。

    • 如果函数的返回值 vscode 识别不了类型,可以手动指定类型。例如

      复制代码
      ss:NXOpen.Session = NXOpen.Session.GetSession()
相关推荐
zone77395 小时前
001:简单 RAG 入门
后端·python·面试
F_Quant5 小时前
🚀 Python打包踩坑指南:彻底解决 Nuitka --onefile 配置文件丢失与重启报错问题
python·操作系统
允许部分打工人先富起来6 小时前
在node项目中执行python脚本
前端·python·node.js
IVEN_6 小时前
Python OpenCV: RGB三色识别的最佳工程实践
python·opencv
haosend7 小时前
AI时代,传统网络运维人员的转型指南
python·数据网络·网络自动化
曲幽7 小时前
不止于JWT:用FastAPI的Depends实现细粒度权限控制
python·fastapi·web·jwt·rbac·permission·depends·abac
IVEN_1 天前
只会Python皮毛?深入理解这几点,轻松进阶全栈开发
python·全栈
Ray Liang1 天前
用六边形架构与整洁架构对比是伪命题?
java·python·c#·架构设计
AI攻城狮1 天前
如何给 AI Agent 做"断舍离":OpenClaw Session 自动清理实践
python
千寻girling1 天前
一份不可多得的 《 Python 》语言教程
人工智能·后端·python