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()
      
相关推荐
深度学习lover39 分钟前
<项目代码>YOLOv8 苹果腐烂识别<目标检测>
人工智能·python·yolo·目标检测·计算机视觉·苹果腐烂识别
API快乐传递者2 小时前
淘宝反爬虫机制的主要手段有哪些?
爬虫·python
阡之尘埃4 小时前
Python数据分析案例61——信贷风控评分卡模型(A卡)(scorecardpy 全面解析)
人工智能·python·机器学习·数据分析·智能风控·信贷风控
丕羽7 小时前
【Pytorch】基本语法
人工智能·pytorch·python
bryant_meng7 小时前
【python】Distribution
开发语言·python·分布函数·常用分布
m0_594526308 小时前
Python批量合并多个PDF
java·python·pdf
工业互联网专业9 小时前
Python毕业设计选题:基于Hadoop的租房数据分析系统的设计与实现
vue.js·hadoop·python·flask·毕业设计·源码·课程设计
钱钱钱端9 小时前
【压力测试】如何确定系统最大并发用户数?
自动化测试·软件测试·python·职场和发展·压力测试·postman
慕卿扬9 小时前
基于python的机器学习(二)—— 使用Scikit-learn库
笔记·python·学习·机器学习·scikit-learn
Json____9 小时前
python的安装环境Miniconda(Conda 命令管理依赖配置)
开发语言·python·conda·miniconda