请选择 进入手机版 | 继续访问电脑版

唐康林NX二次开发论坛

 找回密码
 立即注册
查看: 2677|回复: 6

[技术分享] 基于Python进行NX二次开发的环境配置方法!

[复制链接]

555

主题

740

帖子

3342

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
3342
发表于 2018-2-4 17:27:52 | 显示全部楼层 |阅读模式
文/唐康林 独家原创 QQ125317589
       从NX10开始,NX支持用python进行二次开发,但是在官方的帮助里面,从来没有看到到底该怎么来用,只是给了一个帮助可以查询相关的类及方法。这个一出来,我就研究过,在我不会用C/C++做NX二次开发之前,我就曾研究过python语言,但最终也没有学会。
       python语言本身的书写,你用记事本都可以写代码,当然这种牛人估计全中国也找不出几个吧!因为你要能正确的书写,就必须记住所有的单词,每个类下面的方法,转入参数等等。
       所以,比较期望的方式,是有一款编译器,能像VS这种,输入单词的前几个字母,就智能感应出来了,类及相应的方法了,代码书写效率就高很多了。其实早期的VS软件也没有这样的功能的,我印象中大概是到了VS2012才自带这个功能,以前都是要安装一个“番茄助手”。
       python的IDE很多,有兴趣的可以网上找,貌似就Pycharm与eclipse及VS+VCcode相对出名一点。如果用eclipse要装一个插件(装插件方法)。
       我后来看到西门子官方给出的一个关于如何配置ptyhon来做二次开发的文档(Setup of NX Open Python environment for Eclipse) 大概是这样说的:
       1、安装Eclipse
           如果不会,可以点击贴子查看方法。
       2、安装Python
           这个进入www.python.org就可以找到下载,要对应NX要求的版本,要求对应的版本见贴子http://www.nxopen.cn/thread-1245-1-1.html
       3、在eclipse添加相应的库,不会操作的可以看下图;
eclipse_python_nx.png
      4、设置环境变量,官方的教程是先做了3步,再设置环境变量的,我认为其实应该先设环境变量的,主要设置了以下这些:
  1. ::Set NX Variables
  2. SET UGII_BASE_DIR="D:\Program Files\Siemens\NX 10.0"
  3. SET UGII_ROOT_DIR="D:\Program Files\Siemens\NX 10.0\UGII"
  4. SET UGII_LIB_DIR=%UGII_ROOT_DIR%
  5. SET PATH=%UGII_ROOT_DIR%;%PATH%

  6. ::Set the PythonPath
  7. SET PYTHONPATH=%UGII_ROOT_DIR%\python

  8. ::Start Eclipse
  9. F:\software\eclipse\eclipse.exe
复制代码
      官方的意思是将上面这些设置成一个批处理文件,然后直接通过批处理来启动eclipse;(注意批处理中,其实路径为空格是不行的,上面只是我写的一个例子,由于我的电脑NX安装有空格路径,所以我没有测试这个批处理,而是直接加了环境变量。)
       理论上,按上述操作,就可以在eclipse里面,写代码的时候,有智能提示代码书写的,官方还给了一个图如下:
eclipse_python_ganying.png
      我以前测试过,这个至少我电脑上是不行,我只是手动加了环境变量,没有去测试过批处理,有兴趣的可以测试一下批处理方法。
      也有老外在pycharm中做成功过,如下图:(默认的pycharm应该也不可以,还要自己去做配置的。)
nxopen_pycharm.png
      有兴趣的可以向这个方向去研究,我本人现在没有多大兴趣搞这些了。
      PS:有些人确实太没有节操了,抄袭也就抄袭,可是,如果连前辈也在做这些事的时候,感觉这个行业无望,所以本人的重心也不在NX的二次开发了,以后主要teamcenter的实施与二次开发,现在想想,这些年还是不应该花这么多精力做这些教程。   
回复

使用道具 举报

555

主题

740

帖子

3342

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
3342
 楼主| 发表于 2018-3-22 09:22:26 | 显示全部楼层
a284808220 发表于 2018-3-21 23:14
每天都来论坛看一遍这个帖子,希望可以看的有人在这里分享如何用Pycharm或VS配置开发环境. ...

这个不会有很多人去研究的,因为python是脚本的,写好的东西,别人都能看到,相当于开源了,所以没有几个专门搞二次开发的,会用python写核心的算法。
并且python从NX10才有,有部分功能,官方还没有封装,还是得用C++去做。
C++才是官方封的最全的类,毕竟官方也是用C++的。
回复 支持 1 反对 0

使用道具 举报

2

主题

40

帖子

367

积分

终日乾乾

Rank: 3Rank: 3

积分
367
发表于 2018-2-5 08:20:32 | 显示全部楼层
谢谢分享唐工  NX
回复 支持 反对

使用道具 举报

0

主题

10

帖子

49

积分

潜龙勿用

Rank: 1

积分
49
发表于 2018-2-8 14:38:39 | 显示全部楼层
附件是唐工提到的西门子官方资料,大家分享

Setup_Eclipse_for_NXOpenPythonScripting.pdf

276.53 KB, 下载次数: 435

回复 支持 反对

使用道具 举报

555

主题

740

帖子

3342

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
3342
 楼主| 发表于 2018-2-9 07:42:10 | 显示全部楼层
yuan1478951 发表于 2018-2-8 14:38
附件是唐工提到的西门子官方资料,大家分享

看来你不是在甲方大公司上班就是软件代理商公司上班。
你能拿到这样的资料,要嘛是官方给的,要嘛是有WebKey的账号,去官方论坛下载的。
这个方法,你试过?
反正我是很早以前就试过,没成功。
西门子内部其实不是用eclipse来进行python代码书写的,他们是直接在VS上搞的,官方告诉我的方法,我也试过,也不行的。
我一直怀疑无论用哪个IDE,都还要自己去处理一下,因为这些IDE无法识别出来官方写的.pyd模块里面的函数。
无论在VS还是eclipse,默认都只能识别出这些模块,而不能识别出模块里面的函数。
回复 支持 反对

使用道具 举报

0

主题

10

帖子

49

积分

潜龙勿用

Rank: 1

积分
49
发表于 2018-2-10 13:16:13 | 显示全部楼层
唐康林 发表于 2018-2-9 07:42
看来你不是在甲方大公司上班就是软件代理商公司上班。
你能拿到这样的资料,要嘛是官方给的,要嘛是有WebK ...

做点项目刚好遇到关于ug二次开发的东西,以后还要好好向唐工学习,那个python刚好遇到就下载了传到论坛,自己没有亲自测试过
回复 支持 反对

使用道具 举报

0

主题

10

帖子

79

积分

见龙在田

Rank: 2

积分
79
发表于 2018-3-21 23:14:29 | 显示全部楼层
每天都来论坛看一遍这个帖子,希望可以看的有人在这里分享如何用Pycharm或VS配置开发环境.
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋| ( 蜀ICP备16014681号

GMT+8, 2018-9-24 21:27 , Processed in 0.092569 second(s), 29 queries .

Powered by www.nxopen.cn

© 2001-2013 nxopen.cn

快速回复 返回顶部 返回列表