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

2023-12-04 07:52

本文主要是介绍Siemens-NXUG二次开发-新建与保存prt文件[Python UF][20231204],希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

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

  • 1.python uf函数
    • 1.1 NXOpen.UF.Part.New
    • 1.2 NXOpen.UF.Part.Save
    • 1.3 NXOpen.UF.Ui.OpenListingWindow
    • 1.4 NXOpen.UF.Ui.IsListingWindowOpen
    • 1.5 NXOpen.UF.Ui.WriteListingWindow
    • 1.6 NXOpen.UF.Ui.SaveListingWindow
    • 1.7 NXOpen.UF.Ui.ExitListingWindow
  • 2.示例代码
  • 3.运行结果
    • 3.1 内部模式
    • 3.2 外部模式

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 UFdef 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 sessionthe_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)# 保存当前工作partpyuf_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

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

这篇关于Siemens-NXUG二次开发-新建与保存prt文件[Python UF][20231204]的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/452718

相关文章

python panda库从基础到高级操作分析

《pythonpanda库从基础到高级操作分析》本文介绍了Pandas库的核心功能,包括处理结构化数据的Series和DataFrame数据结构,数据读取、清洗、分组聚合、合并、时间序列分析及大数据... 目录1. Pandas 概述2. 基本操作:数据读取与查看3. 索引操作:精准定位数据4. Group

Python pandas库自学超详细教程

《Pythonpandas库自学超详细教程》文章介绍了Pandas库的基本功能、安装方法及核心操作,涵盖数据导入(CSV/Excel等)、数据结构(Series、DataFrame)、数据清洗、转换... 目录一、什么是Pandas库(1)、Pandas 应用(2)、Pandas 功能(3)、数据结构二、安

Python使用Tenacity一行代码实现自动重试详解

《Python使用Tenacity一行代码实现自动重试详解》tenacity是一个专为Python设计的通用重试库,它的核心理念就是用简单、清晰的方式,为任何可能失败的操作添加重试能力,下面我们就来看... 目录一切始于一个简单的 API 调用Tenacity 入门:一行代码实现优雅重试精细控制:让重试按我

Python安装Pandas库的两种方法

《Python安装Pandas库的两种方法》本文介绍了三种安装PythonPandas库的方法,通过cmd命令行安装并解决版本冲突,手动下载whl文件安装,更换国内镜像源加速下载,最后建议用pipli... 目录方法一:cmd命令行执行pip install pandas方法二:找到pandas下载库,然后

Python实现网格交易策略的过程

《Python实现网格交易策略的过程》本文讲解Python网格交易策略,利用ccxt获取加密货币数据及backtrader回测,通过设定网格节点,低买高卖获利,适合震荡行情,下面跟我一起看看我们的第一... 网格交易是一种经典的量化交易策略,其核心思想是在价格上下预设多个“网格”,当价格触发特定网格时执行买

Python标准库之数据压缩和存档的应用详解

《Python标准库之数据压缩和存档的应用详解》在数据处理与存储领域,压缩和存档是提升效率的关键技术,Python标准库提供了一套完整的工具链,下面小编就来和大家简单介绍一下吧... 目录一、核心模块架构与设计哲学二、关键模块深度解析1.tarfile:专业级归档工具2.zipfile:跨平台归档首选3.

使用Python构建智能BAT文件生成器的完美解决方案

《使用Python构建智能BAT文件生成器的完美解决方案》这篇文章主要为大家详细介绍了如何使用wxPython构建一个智能的BAT文件生成器,它不仅能够为Python脚本生成启动脚本,还提供了完整的文... 目录引言运行效果图项目背景与需求分析核心需求技术选型核心功能实现1. 数据库设计2. 界面布局设计3

Python进行JSON和Excel文件转换处理指南

《Python进行JSON和Excel文件转换处理指南》在数据交换与系统集成中,JSON与Excel是两种极为常见的数据格式,本文将介绍如何使用Python实现将JSON转换为格式化的Excel文件,... 目录将 jsON 导入为格式化 Excel将 Excel 导出为结构化 JSON处理嵌套 JSON:

Python操作PDF文档的主流库使用指南

《Python操作PDF文档的主流库使用指南》PDF因其跨平台、格式固定的特性成为文档交换的标准,然而,由于其复杂的内部结构,程序化操作PDF一直是个挑战,本文主要为大家整理了Python操作PD... 目录一、 基础操作1.PyPDF2 (及其继任者 pypdf)2.PyMuPDF / fitz3.Fre

python设置环境变量路径实现过程

《python设置环境变量路径实现过程》本文介绍设置Python路径的多种方法:临时设置(Windows用`set`,Linux/macOS用`export`)、永久设置(系统属性或shell配置文件... 目录设置python路径的方法临时设置环境变量(适用于当前会话)永久设置环境变量(Windows系统