Siemens-NXUG二次开发-新建与保存prt文件[Python UF][20231204]

1.python uf函数

1.1 NXOpen.UF.Part.New

# 内部和外部模式可用
"""
官方文档翻译:在当前任务中创建一个新的NX零件,并使其成为工作零件。
part_name(str)新部件的名称。此部件名称对于会话必须是唯一的。同一会话中两个部分的叶名称不能相同。
units(int)指定英制或公制单位。1=公制2=英制
"""
def NXOpen.UF.Part.New(self, part_name, units)

1.2 NXOpen.UF.Part.Save

# 内部和外部模式可用
"""
官方文档翻译:将当前工作零件及其所有修改的子零件(如果是部件)保存到磁盘。
"""
def NXOpen.UF.Part.Save(self)

1.3 NXOpen.UF.Ui.OpenListingWindow

# 内部和外部模式可用
"""
官方文档翻译:如果处于内部打开API模式,则打开并管理(显示)主题样式的信息窗口。第一次打开此窗口时,它将是空的。进一步的调用将显示先前在窗口中显示的信息。
如果处于外部打开API模式,则将列表窗口标志设置为打开。
"""
def NXOpen.UF.Ui.OpenListingWindow(self)

1.4 NXOpen.UF.Ui.IsListingWindowOpen

# 内部和外部模式可用
"""
官方文档翻译:查询“信息”窗口是打开还是关闭。如果“信息”窗口从未打开,已通过“文件-->退出”、“文件-->关闭”关闭,或已通过调用UF_UI_Close_listing_window或选择“信息”按钮关闭,则此函数返回值FALSE。
"""
def NXOpen.UF.Ui.IsListingWindowOpen(self)

1.5 NXOpen.UF.Ui.WriteListingWindow

# 内部和外部模式可用
"""
官方文档翻译:将字符串写入“信息”窗口。您应该在放置字符串后添加自己的新行。
如果在内部Open API中,文本将显示在信息窗口中。如果在外部Open API中,文本将打印为标准输出。
必须先打开“信息”窗口,然后才能对其进行写入。
一旦在外部程序中完成UF_terminate,就不能再向控制台窗口写入。必须使用系统调用对其进行重新初始化。
注意:当运行内部Open API程序(例如带有预定义入口点的dll,而不是主可执行文件)时,代码不知道启动用户功能程序的应用程序或进程。
因此,所有内部API都被视为内部NX程序,并将标准输出设置为列表窗口。任何对UF_UI_write_listing_window的调用都将尝试写入列表窗口。
因此,如果GRIP批处理程序调用使用UF_UI_write_listing_window的内部Open应用程序,它将无法找到列表窗口,并将引发错误。
如果GRIP批处理将调用内部程序,请使用UF_print_syslog将输出写入系统日志。
"""
def NXOpen.UF.Ui.WriteListingWindow(self, string)

1.6 NXOpen.UF.Ui.SaveListingWindow

# 内部和外部模式可用
"""
官方文档翻译:将“信息”窗口的内容保存到参数指定的文件中。
注意:保存的列表窗口信息限制为每行256个字符。如果一行的长度超过256个字符,它将被换行到保存文件中的多行。
"""
def NXOpen.UF.Ui.SaveListingWindow(self, filename)

1.7 NXOpen.UF.Ui.ExitListingWindow

# 内部和外部模式可用
"""
官方文档翻译:关闭并清除列表窗口。如果在内部Open API中,则窗口将关闭并清除。如果在外部Open API中,则设备设置为关闭
"""
def NXOpen.UF.Ui.ExitListingWindow(self)

2.示例代码

import NXOpen.UF as UF

def get_uf_session():
    # 获取当前UF会话
    return UF.UFSession.GetUFSession()

def pyuf_new_prt(the_pyuf_session, new_prt_file_name, units = 1):
    """
    功能:创建一个指定文件路径和文件名的.prt文件,默认单位制是米(m)
    """
    
    # 由于要对Part进行操作,因此需要获取Part实例对象
    pyuf_part_instance = the_pyuf_session.Part

    # New方法位于Part类对象中
    new_prt_file_tag = pyuf_part_instance.New(new_prt_file_name, units)

def pyuf_save_prt(the_pyuf_session):
    """
    功能:保存当前工作part
    """
    # 由于要对Part进行操作,因此需要获取Part实例对象
    pyuf_part_instance = the_pyuf_session.Part

    # Save方法位于Part类对象中
    return pyuf_part_instance.Save()

if __name__ == '__main__':
    # 获取uf session
    the_pyuf_session = get_uf_session()

    # 新prt文件路径与名称
    new_prt_file_name = 'D:\\pyuf_new_prt_test.prt'
    
    # 在D盘根目录下创建一个示例.prt文件,并成为工作prt(work part)
    # 如果是在内部模式运行,则会在NX/UG界面创建一个名为pyuf_new_prt_test.prt的文件窗口
    # 如果是外部模式运行,则运行过后不会有任何文件存在,因为没有执行保存操作
    new_prt_file_tag = pyuf_new_prt(the_pyuf_session, new_prt_file_name)

    # 保存当前工作part
    pyuf_save_prt(the_pyuf_session)

    # 外部模式或内部模式运行标识
    flag = 'internal'

    # 外部模式运行,会在命令行中打印,但内部模式运行则无反应,因在UF.UI类中操作,才可在NX/UG界面显示数据
    if flag == 'external':
        print('\nnew_prt_file_tag type is:{}, new_prt_file_tag value is:{}'.format(type(new_prt_file_tag), new_prt_file_tag))
    elif flag == 'internal':
        # 由于与NX/UG界面UI操作的方法都在UI类中,因此先获取UF.UI示例对象
        pyuf_ui_instance = the_pyuf_session.Ui

        # 判断信息窗口是否打开
        if pyuf_ui_instance.IsListingWindowOpen() == False:
            # 信息窗口未打开,先要将其打开
            # 打开信息窗口
            pyuf_ui_instance.OpenListingWindow()

        # 向信息窗口写入内容
        pyuf_ui_instance.WriteListingWindow('\nnew_prt_file_name is:{}'.format(new_prt_file_name))
        pyuf_ui_instance.WriteListingWindow('\nnew_prt_file_tag type is:{}'.format(type(new_prt_file_tag)))
        pyuf_ui_instance.WriteListingWindow('\nnew_prt_file_tag type is:{}'.format(new_prt_file_tag))

        # 将信息窗口的内容保存到指定文件中
        pyuf_ui_instance.SaveListingWindow('D:\\pyuf_listingwindow_content_test.txt')

        # 关闭信息窗口
        #pyuf_ui_instance.ExitListingWindow()

3.运行结果

3.1 内部模式

选中要运行的.py文件后,点击“管道通路”即可。
在这里插入图片描述
运行结果含两个文件:
在这里插入图片描述
在这里插入图片描述

3.2 外部模式

cmd命令:“D:\Siemens\NX 12.0\NXBIN\run_journal.exe” pyuf_new_prt.py
powershell命令:&“D:\Siemens\NX 12.0\NXBIN\run_journal.exe” pyuf_new_prt.py

运行结果:
在这里插入图片描述

  • 8
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
### 回答1: UG NX API文档是指用于Siemens公司的UG NX软件的应用程序接口的文档。UG NX是一款功能强大的计算机辅助设计(CAD)和计算机辅助制造(CAM)软件,它提供了丰富的功能和工具,用于设计、建模和制造各种产品。 UG NX API文档详细描述了开发者可以使用的各种接口、函数和类,以及它们的用法和参数。这些API允许开发者使用编程语言来扩展UG NX功能,根据自己的需求开发自定义的工具和插件。 通过使用UG NX API,开发者可以自动化重复的任务,提高设计和制造效率。他们可以开发定制工具来自动创建和修改模型、执行分析、生成报告、获取和修改特定的设计参数等等。此外,UG NX API还提供了与其他软件和系统的集成能力,使得开发者可以在不同的环境中进行数据传输和协作。 UG NX API文档通常包括API的概述、具体的使用方法和示例代码,以及其他相关的说明和参考资料。开发者可以根据自己的需求查找和使用特定的API来实现自己的设计和制造目标。 总之,UG NX API文档是一份重要的开发指南,为开发者提供了使用UG NX软件的灵活性和定制性。通过使用这些API,开发者能够在UG NX软件中实现各种自定义功能和应用,从而提升工作效率和创造力。 ### 回答2: UG NX API文档是Siemens NX软件提供的一份开发文档,用于帮助开发者了解和使用UG NX软件的应用程序接口(API)。UG NX是一款用于设计、制造和工程分析的三维建模软件,它提供了一套丰富的API,使开发者能够定制和扩展UG NX的功能。 UG NX API文档详细列出了UG NX软件中可用的API函数和方法的说明、语法和参数要求。开发者可以通过研究这些文档了解UG NX API的各个方面,包括对象模型、数据结构、类和函数等。文档中还提供了示例代码和实用工具,帮助开发者更好地理解和应用API。 UG NX API文档可帮助开发者实现许多定制化的功能,例如创建自定义工具、自动化模型创建和编辑、自动执行分析和计算等。通过API文档,开发者可以了解如何访问和操作UG NX软件中的对象、属性和方法,以及如何使用UG NX软件的各种功能和功能扩展。 UG NX API文档还提供了开发环境、编程语言要求和其他开发资源的信息,使开发者能够开始编写和调试自己的应用程序。文档中还包含了一些推荐的开发实践和技巧,帮助开发者提高开发效率和应用程序的性能。 总而言之,UG NX API文档是一份非常有价值的文档,可以帮助开发者深入了解和使用UG NX软件的API,从而添加定制的功能,提高工作效率。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值