NXOpen 12.0 代理模块

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


搜索引擎看过来(NXOpen Python API Pycharm Eclipse Anaconda Spyder 安装 配置 设置 代理)

NXOpen 12.0 Python 代理模块

NXOpen 12.0 代理模块的截图如下,下载地址
NXOpen 12.0 代理模块
实际使用效果如下:
在这里插入图片描述

代理模块的生成方法

需要用2个脚本文件处理:

  1. checkNXOpenInfo.py,此脚本文件需要在NX12中运行(Alt+F11, 菜单–>工具–>操作记录–>编辑–>打开–>运行),在 dataDir 参数指定的目录生成 journal1_xxxx.txt
  2. 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
### 回答1: NXOpen是一种用于开发Siemens NX软件的编程接口,可以通过它来扩展和自定义NX软件的功能。它是一种强大的工具,可用于创建自定义的插件、宏和工具,提高工作效率和自动化任务。 NXOpen 12.0是最新版本的NXOpen,它包含了许多新的功能和改进。其中一些功能包括增强的API文档和示例、改进的功能库和命令集,以及更好的性能和稳定性。 NXOpen 12.0的官方帮助是一个详细而全面的参考手册,可以帮助开发人员快速了解和使用NXOpen的各个方面。它提供了详细的说明、示例代码和操作步骤,涵盖了NXOpen的各个模块和功能,包括几何建模、组件管理、装配、绘图、表达式、曲面设计等。 通过官方帮助,开发人员可以学习如何创建自定义命令、操作对象、进行几何操作等。它还提供了其他有用的信息,如常见问题解答、最佳实践和调试技巧。 总之,NXOpen 12.0的官方帮助是一个重要的资源,帮助开发人员充分利用NXOpen的功能,提高他们的工作效率和灵活性。无论是初学者还是经验丰富的开发人员,都可以从官方帮助中获得有价值的信息和指导。 ### 回答2: nxopen 12.0是Siemens PLM Software公司推出的一款功能强大的产品开发平台。它提供了各种工具和API,使用户能够自定义和扩展NX软件的功能。 官方帮助是指由Siemens PLM Software官方提供的关于nxopen 12.0的详细文档和教程资源。这些官方帮助包含了大量的示例代码、使用说明和解决方案,帮助用户更好地理解和使用nxopen 12.0。 官方帮助的主要内容包括以下几个方面: 1. 入门指南:介绍了nxopen 12.0的基本概念、工作流程和常用功能,适合初学者快速上手。 2. API文档:提供了完整的API参考手册,包括类、方法和属性的详细说明,帮助用户了解nxopen 12.0提供的各种功能和接口。 3. 示例代码:提供了一系列实用的示例代码,覆盖了不同领域和应用场景,用户可以通过学习和修改这些示例代码,快速实现自己的需求。 4. 教程和案例:通过实际案例和教程,向用户展示了nxopen 12.0在实际工程项目中的应用,帮助用户更好地理解和掌握nxopen 12.0的使用技巧。 总而言之,nxopen 12.0官方帮助是学习和使用nxopen 12.0不可或缺的重要资源,它为用户提供了详细的文档、教程和示例代码,帮助用户更好地使用和扩展nxopen 12.0的功能。通过官方帮助,用户可以更高效地开发和使用nxopen 12.0,提升工作效率和产品质量。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值