Siemens-NXUG二次开发-创建平面(无界非关联)、固定基准面[Python UF][20240614]

Siemens-NXUG二次开发-创建平面(无界非关联)、固定基准面[Python UF][20240614]

  • 1.python uf函数
    • 1.1 NXOpen.UF.Modeling.CreatePlane
    • 1.2 NXOpen.UF.ModlFeatures.CreateFixedDplane
  • 2.示例代码
    • 2.1 pyuf_plane.py
  • 3.运行结果
    • 3.1 内部模式
      • 3.1.1 NXOpen.UF.Modeling.CreatePlane在NXUG界面上等价对话框
      • 3.1.2 NXOpen.UF.ModlFeatures.CreateFixedDplane在NXUG界面上等价对话框
    • 3.2 外部模式

1.python uf函数

1.1 NXOpen.UF.Modeling.CreatePlane

# 内部和外部模式可用
"""
返回值:一个元组,元素类型为python的int类型,块特征的feature tag标识。
"""             
def NXOpen.UF.Modeling.CreatePlane(self, origin_point, plane_normal)
	'''
	origin_point-float list[x,y,z]:平面上某点坐标,plane_normal-float list[x,y,z]:平面法向向量
    返回值:平面特征tag标识
	'''

1.2 NXOpen.UF.ModlFeatures.CreateFixedDplane

# 内部和外部模式可用
"""
返回值:一个tag,倒斜角特征tag。
"""             
def NXOpen.UF.ModlFeatures.CreateFixedDplane(self, point, direction)
	'''
    point-float list[x,y,z]:平面上的一个点,direction-float list[x,y,z]:平面法线向量
    返回值:一个整数:固定基准平面特征tag标识
	'''

2.示例代码

2.1 pyuf_plane.py

import NXOpen
import NXOpen.UF as UF


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

def get_py_session():
    # 获取当前python会话
    return NXOpen.Session.GetSession()

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)
    return new_prt_file_tag

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

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

def pyuf_close_prt(the_pyuf_session, part_tag, scope, mode):
    """
    功能:关闭当前工作part
    """
    # 由于要对Part进行操作,因此需要获取Part实例对象
    pyuf_part_instance = the_pyuf_session.Part

    # Close方法位于Part类对象中
    return pyuf_part_instance.Close(part_tag, scope, mode)


def createPlane(the_pyuf_session, origin_point, plane_normal):
    """
    功能:python uf创建平面(无界面、非关联)
    origin_point-float list[x,y,z]:平面上某点坐标,plane_normal-float list[x,y,z]:平面法向向量
    返回值:平面特征tag标识
    """
    uf_modeling_instance = the_pyuf_session.Modeling
    return uf_modeling_instance.CreatePlane(origin_point, plane_normal)

def createFixedDplane(the_pyuf_session, point, direction):
    """
    功能:python uf创建固定基准平面
    point-float list[x,y,z]:平面上的一个点,direction-float list[x,y,z]:平面法线向量
    返回值:一个整数:固定基准平面特征tag标识
    """

    uf_modlfeatures_instance = the_pyuf_session.ModlFeatures
    return uf_modlfeatures_instance.CreateFixedDplane(point, direction)


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

    # 获取python session
    the_py_session = get_py_session()

    # 新建prt文件路径与名称
    new_prt_file_name = 'D:\\pyuf_plane.prt'
    new_prt_file_tag = pyuf_new_prt(the_pyuf_session, new_prt_file_name)
	
	# 创建无界、非关联平面
    plane_feature_tag = createPlane(the_pyuf_session, [10.0, 10.0, 10.0], [0.5, 1.0, 0.0])
	# 创建固定基准面
    fixed_plane_feature_tag = createFixedDplane(the_pyuf_session, [0.0, 10.0, 10.0], [1.0, 1.0, 0.0])

    # 保存.prt
    pyuf_save_prt(the_pyuf_session)
    # 关闭.prt
    pyuf_close_prt(the_pyuf_session, new_prt_file_tag, 0, 1)

3.运行结果

3.1 内部模式

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

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

3.1.1 NXOpen.UF.Modeling.CreatePlane在NXUG界面上等价对话框

“菜单”->“插入”->“平面”
在这里插入图片描述
对话框界面
在这里插入图片描述

3.1.2 NXOpen.UF.ModlFeatures.CreateFixedDplane在NXUG界面上等价对话框

“主页”->“特征”->“基准平面”,下拉选择“点和方向”、非关联,若是勾选了“关联”则创建出来的“基准平面”不是“固定基准平面”
在这里插入图片描述

3.2 外部模式

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

运行结果:同上

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/707039.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

DTU为何应用如此广泛?

1.DTU是什么 DTU(数据传输单元)是一种无线终端设备,它的核心功能是将串口数据转换为IP数据或将IP数据转换为串口数据,并通过无线通信网络进行传送。DTU通常内置GPRS模块,能够实现远程数据的实时传输,广泛应用于工业自动化、远程监…

【MySQL】日志详解

本文使用的MySQL版本是8 日志概览 它们记录了数据库系统中的不同操作和事件,以便于故障排除、性能优化和数据恢复。本文将介绍MySQL中常见的几种日志,同时也会介绍一点常用的选项。 官方文档:MySQL :: MySQL 8.0 Reference Manual :: 7.4 M…

Golang | Leetcode Golang题解之第149题直线上最多的点数

题目&#xff1a; 题解&#xff1a; func maxPoints(points [][]int) (ans int) {n : len(points)if n < 2 {return n}for i, p : range points {if ans > n-i || ans > n/2 {break}cnt : map[int]int{}for _, q : range points[i1:] {x, y : p[0]-q[0], p[1]-q[1]if…

字符串的复杂操作(字符串的下标和切片、以及字符串的相关操作函数方法)

如果使用不符合标准的标识符,将会报错 SyntaxError: incalid syntax(无效语法) 文章目录 一、字符串的复杂操作1.1 下标&#xff08;也叫索引&#xff09;1.2 切片 一、字符串的复杂操作 1.1 下标&#xff08;也叫索引&#xff09; 下标代表着第几个数据&#xff0c;从0开始计…

C语言 | Leetcode C语言题解之第150题逆波兰表达式求值

题目&#xff1a; 题解&#xff1a; int evalRPN(char** tokens, int tokensSize) {int n tokensSize;int stk[(n 1) / 2];memset(stk, 0, sizeof(stk));int index -1;for (int i 0; i < n; i) {char* token tokens[i];if (strlen(token) > 1 || isdigit(token[0])…

生命在于学习——Python人工智能原理(3.4)

三、深度学习 7、过拟合与欠拟合 过拟合和欠拟合是所有机器学习算法都要考虑的问题。 &#xff08;1&#xff09;基本定义 a、欠拟合 欠拟合是指机器学习模型无法完全捕获数据集中的复杂模式&#xff0c;导致模型在新数据上的表现不佳&#xff0c;这通常是由于模型过于简单…

SemanticKITTI 拼接语义点云帧

文章目录 KITTISemanticKITTISemantic Segmentation and Panoptic SegmentationSemantic Scene Completion 数据转换语义标签和点云拼接 KITTI The odometry benchmark consists of 22 stereo sequences, saved in loss less png format: We provide 11 sequences (00-10) wit…

群体优化算法----多乌鸦搜寻算法介绍,找多目标函数组解,Pareto前沿

介绍 乌鸦搜寻算法&#xff08;Crow Search Algorithm&#xff0c;CSA&#xff09;是一种新型的群体智能优化算法&#xff0c;其灵感来源于乌鸦的行为特性&#xff0c;尤其是乌鸦在食物搜寻和藏匿过程中的智能行为。乌鸦是一种高度聪明的鸟类&#xff0c;它们展示出复杂的社会…

对补码的理解:两种求法

课本的结论是&#xff1a;二进制数的最高位是符号位。符号位为 0 表示正数和 零 &#xff0c;符号位为 1 表示负数。 正数是原码反码补码都是一样的。负数的反码是&#xff1a;符号位不变&#xff0c;剩下位取反。 负数的补码是&#xff1a;符号位不变&#xff0c;剩下位取反&a…

eclipse创建maven项目

第一步&#xff1a;打开eclipse 我们选择java项目即可 点击finish即可 它会自动下载插件 然后在控制台上输入Y即可

ChatGPT:自然语言处理的新纪元与OpenAI的深度融合

随着人工智能技术的蓬勃发展&#xff0c;自然语言处理&#xff08;NLP&#xff09;领域取得了显著的进步。OpenAI作为这一领域的领军者&#xff0c;以其卓越的技术实力和创新能力&#xff0c;不断推动着NLP领域向前发展。其中ChatGPT作为OpenAI的重要成果更是在全球范围内引起了…

HAL库--内存保护(MPU)实验

MPU是内核外设&#xff0c;想获取相关资料只能从内核手册查找 MPU功能仅F7/H7系列具备 内存保护单元(MPU介绍) MPU基本介绍 说白了MPU用来管理内存和外设存储区的访问权限 MPU可配置保护8/16个内存区域(看芯片型号)&#xff0c;每个区域最小要求256字节&#xff0c;且每个区…

C++ | Leetcode C++题解之第149题直线上最多的点数

题目&#xff1a; 题解&#xff1a; class Solution { public:int gcd(int a, int b) {return b ? gcd(b, a % b) : a;}int maxPoints(vector<vector<int>>& points) {int n points.size();if (n < 2) {return n;}int ret 0;for (int i 0; i < n; i…

阿里云运维第一步(监控):开箱即用的监控

作者&#xff1a;仲阳 这是云的时代&#xff0c;现在云计算已经在各行各业广泛的应用。但是上云对于大多数客户来说&#xff0c;依然有很大的学习成本&#xff0c;如下图仅是阿里云都有几百款产品&#xff0c;怎么选择&#xff1f;怎么用&#xff1f;对于客户来说都是问题。“…

高温车间降温通风方案

高温车间降温&#xff0c;解决厂房高温闷热必须做到以下两点才能实现&#xff0c;否则即使安装中央空调也没用&#xff1a;一、解决厂房内部热量 通过通排风负压风机、环保空调、工业大风扇等常用排热降温设备&#xff0c;降低室内温度&#xff1b;二、屏蔽外部太阳热源 …

5.0 Python 函数简介

1.函数 1.1 基本定义 定义: 将一组语句的集合通过函数进行封装, 简单来说是具有一定功能的代码容器, 想要执行这些语句, 只需要调用函数的名称即可. 特性: * 1. 可重复使用, 减少代码冗余. * 2. 组织结构清晰, 可读性增强. * 3. 可扩展性提高, 便于维护. 1.2 使用规则 函…

OpenCV学习(4.13) 霍夫变换

1.霍夫变换 霍夫变换&#xff08;Hough Transform&#xff09;是图像处理中的一种技术&#xff0c;主要用于检测图像中的直线、圆或其他形状。它通过将图像空间中的点映射到参数空间来实现&#xff0c;这样&#xff0c;图像空间中在同一直线上的点在参数空间中会形成一条曲线&…

CentOS系统自带Python2无法使用pip命令

Linux运维工具-ywtool 目录 一. 系统环境二.解决三.验证四.备注(1)输入"yum install -y python-pip",提示没有可用 python-pip包(2)安装完pip后进行升级 一. 系统环境 centos7系统自带的python2.7无法使用pip命令 二.解决 yum install python-pip -y三.验证 pip…

用PlayCanvas打造一个3D模型

本文由ScriptEcho平台提供技术支持 项目地址&#xff1a;传送门 基于 PlayCanvas 的 3D 物理场景开发 应用场景介绍 PlayCanvas 是一款功能强大的 3D 引擎&#xff0c;可用于创建各种类型的 3D 体验&#xff0c;包括游戏、模拟和交互式可视化。本技术博客将介绍如何使用 Pl…

【ARM Cache 及 MMU 系列文章 6.2 -- ARMv8/v9 如何读取 Cache 内部数据并对其进行解析?】

请阅读【ARM Cache 及 MMU/MPU 系列文章专栏导读】 及【嵌入式开发学习必备专栏】 文章目录 Direct access to internal memoryL1 cache encodingsL1 Cache Data 寄存器Cache 数据读取代码实现测试结果Direct access to internal memory 在ARMv8架构中,缓存(Cache)是用来加…