NXOpen 12.0 代理模块
搜索引擎看过来(NXOpen Python API Pycharm Eclipse Anaconda Spyder 安装 配置 设置 代理)
NXOpen 12.0 Python 代理模块
NXOpen 12.0 代理模块的截图如下,下载地址

实际使用效果如下:

代理模块的生成方法
需要用2个脚本文件处理:
- checkNXOpenInfo.py,此脚本文件需要在NX12中运行(Alt+F11, 菜单–>工具–>操作记录–>编辑–>打开–>运行),在 dataDir 参数指定的目录生成 journal1_xxxx.txt
- genNXOpenAgent.py ,此脚本文件在任意python解释器下运行,读取 journal1_xxxx.txt文件,在agent子目录下创建代理文件。
checkNXOpenInfo.py
# -*- coding:UTF-8 -*-
import NXOpen
import sys,os,logging,re
logging.basicConfig(
level=logging.DEBUG,
filename=r'c:\temp.py',
filemode='w',
format='%(message)s'
)
dataDir = r'E:\win7admin\desktop\NXOpen_examples\develop'
attrs = []
infos = []
def recursivePrint(object, depth=1, maxdepth=5):
global attrs
global infos
chars = ' '*depth
if depth <= maxdepth:
for name in dir(object):
if name.startswith('_'): continue
try:
attr = getattr(object, name)
if attr not in attrs:
attrs.append(attr)
# logging.info('%s%s %s' % (chars,name,type(attr)))
infos.append('%s%s %s' % (chars,name,type(attr)))
if type(attr) not in (int, float, str, list, tuple, dict, set):
if name != 'Null': # 与上级相同
recursivePrint(attr, depth+1)
except:
pass
def writeNXOpenInfo1():
"""
探索步骤1:
help(NXOpen)
结论1:
NXOpen 有详细的说明文档
"""
out = sys.stdout
with open(os.path.join(dataDir,'journal1_NXOpen.txt'), 'w') as fp:
sys.stdout = fp
help(NXOpen)
for name in dir(NXOpen):
if name.startswith('_'): continue
attr = getattr(NXOpen, name)
if str(type(attr)).split("'")[1] == 'module':
with open(os.path.join(dataDir,'journal1_%s.txt' % name), 'w') as fp:
sys.stdout = fp
help(attr)
sys.stdout = out
def writeNXOpenInfo2():
"""
探索步骤2:
dir(NXOpen) 检查所有属性的类型,
attr = getattr(NXOpen, name)
type(attr) 均为 <class 'type'>
结论1:
所有非_开头的属性均为类,都可以用类代理
"""
out = sys.stdout
with open(os.path.join(dataDir,'journal2.txt'), 'w') as fp:
sys.stdout = fp
for name in dir(NXOpen):
if name.startswith('_'): continue
attr = getattr(NXOpen, name)
print('**%-60s\t%s\t%s' % (name, type(attr), attr.__doc__))
sys.stdout = out
def writeNXOpenInfo3():
"""
探索步骤3:
检查所有属性的属性 _ 开头除外
结论3:
类型较多,有重复
"""
recursivePrint(NXOpen,0,5)
with open(os.path.join(dataDir,'journal3.txt'), 'w') as fp:
fp.write('\n'.join(infos))
def main():
theSession = NXOpen.Session.GetSession()
# theUI = NXOpen.UI.GetUI()
# Insert code here
workPart = theSession.Parts.Work
info = theSession.ListingWindow
info.CloseWindow()
info.Open()
writeNXOpenInfo1()
# writeNXOpenInfo2()
# writeNXOpenInfo3()
# info.WriteLine("%s" % (NXOpen.Session.GetSession.__doc__))
info.WriteLine("Done!")
if

本文详细介绍了如何使用两个Python脚本来生成NXOpen12.0的Python代理模块,包括checkNXOpenInfo.py和genNXOpenAgent.py的使用方法,以及在不同环境下(如Pycharm、Eclipse等)的安装配置步骤。
最低0.47元/天 解锁文章
458

被折叠的 条评论
为什么被折叠?



