Siemens-NXUG二次开发-创建倒斜角特征、边倒圆角特征、设置对象颜色、获取面信息[Python UF][20240605]

Siemens-NXUG二次开发-创建倒斜角特征、边倒圆角特征、设置对象颜色、获取面信息[Python UF][20240605]

  • 1.python uf函数
    • 1.1 NXOpen.UF.Modeling.AskFaceData
    • 1.2 NXOpen.UF.Modeling.CreateChamfer
    • 1.3 NXOpen.UF.ModlFeatures.CreateBlend
    • 1.4 NXOpen.UF.Obj.SetColor
  • 2.实体目标面边识别
    • 2.1 识别平行于Z轴的竖直边(倒圆角)
    • 2.1 识别垂直于Z轴的平面(倒斜角)
  • 3.示例代码
    • 3.1 pyuf_chamfer_blend.py
  • 4.运行结果
    • 4.1 内部模式
    • 4.2 外部模式

1.python uf函数

1.1 NXOpen.UF.Modeling.AskFaceData

# 内部和外部模式可用
"""
返回值:一个元组,元素类型为python的int类型,块特征的feature tag标识。
"""             
def NXOpen.UF.Modeling.AskFaceData(self, face_tag)'''face_tag:面的tag标识[返回值]一个元组 (type-int, face point-list of float, dir-list of float, Face boundary-list of float, Face major radius-float, Face minor radius-float, Face normal direction-int)其中元组0位置:cylinder-16、cone-17 、sphere-18 、revolved (toroidal)-19extruded-20 、bounded plane-22 、fillet (blend)-23 、b-surface-43offset surface-65 、foreign surface-66、Convergent surface-67'''

1.2 NXOpen.UF.Modeling.CreateChamfer

# 内部和外部模式可用
"""
返回值:一个tag,倒斜角特征tag。
"""             
def NXOpen.UF.Modeling.CreateChamfer(self, subtype, offset1, offset2, theta, edges)'''subtype-int:1-单向偏置、2-双向偏置、3-偏置和角度、4-自由单向偏置、5-自由双向偏置,offset1-str:偏置值1,offset2-str:偏置值2,theta-str:倒斜角角度值,edges-int list:要倒斜角实体边的tag列表[返回值]一个整数,倒角特征tag标识'''

1.3 NXOpen.UF.ModlFeatures.CreateBlend

# 内部和外部模式可用
"""
返回值:一个tag,倒圆角特征tag。
"""             
def NXOpen.UF.ModlFeatures.CreateBlend(self, radius, edge_list, smooth_overflow, cliff_overflow, notch_overflow, vrb_tool)'''radius-str:倒圆角半径,edge_list-int list:要倒圆角实体边的tag列表,smooth_overflow-int:倒圆角平滑溢出值、0-允许这种类型倒圆、1-防止这种类型倒圆,cliff_overflow-int:倒圆角峭壁溢出值、0-允许这种类型倒圆、1-防止这种类型倒圆,notch_overflow-int:倒圆角凹槽溢出值、0-允许这种类型倒圆、1-防止这种类型倒圆,vrb_tool-float:倒圆角公差[返回值]一个整数,倒圆角特征tag标识'''

1.4 NXOpen.UF.Obj.SetColor

# 内部和外部模式可用
"""
返回值:一个整数,0-成功执行,非零正整数-错误大代码。
"""             
def NXOpen.UF.Obj.SetColor(self, object_tag, color_id)'''object_tag:正整数,对象tag标识color_id:正整数-颜色号'''

2.实体目标面边识别

2.1 识别平行于Z轴的竖直边(倒圆角)

  • 从块特征tag获取该特征所属的实体tag
  • 从实体tag获取所有的边tag
  • 循环边tag,判断其所在向量是否平行于Z轴,即找到Z竖直边

识别开始时,当前3D实体状态:
在这里插入图片描述
识别完成后,倒圆角操作后,当前3D实体状态:
在这里插入图片描述

2.1 识别垂直于Z轴的平面(倒斜角)

  • 从块特征tag获取该特征所属的实体tag
  • 从实体tag获取所有的面tag
  • 循环面tag,判断是否是平面且法线平行于Z轴,即平面垂直于Z轴,找到竖直边倒圆角后实体的上下两个平面

识别开始时,当前3D实体状态:
在这里插入图片描述

识别完成后,倒斜角操作后,当前3D实体状态:
在这里插入图片描述

3.示例代码

3.1 pyuf_chamfer_blend.py

import NXOpen
import NXOpen.UF as UFimport mathdef 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_tagdef 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 get_solid_body_edge_tags(the_pyuf_session, solid_body_tag):"""获取一个solidbody实体中的所有边的tag标识"""uf_modling_instance = the_pyuf_session.ModelingedgeTagList = uf_modling_instance.AskBodyEdges(solid_body_tag)return edgeTagListdef get_solid_body_face_tags(the_pyuf_session, solid_body_tag):"""功能:获取一个solidbody实体中的所有面的tag标识"""uf_modling_instance = the_pyuf_session.Modelingface_tag_list = uf_modling_instance.AskBodyFaces(solid_body_tag)return face_tag_listdef get_solid_body_face_edge_tags(the_pyuf_session, solid_body_face_tag):"""功能:获取一个实体面中的所有实体边的tag标识"""uf_modling_instance = the_pyuf_session.Modelingedge_tag_list = uf_modling_instance.AskFaceEdges(solid_body_face_tag)return edge_tag_listdef get_solid_body_edge_type(the_pyuf_session, solid_body_edge_tag):"""功能:获取一个实体边的类型"""uf_modling_instance = the_pyuf_session.Modelingedge_type = uf_modling_instance.AskEdgeType(solid_body_edge_tag)return edge_typedef get_solid_body_face_edge_points(the_pyuf_session, solid_body_face_egde_tag):"""功能:获取一个边中的所有点的坐标"""uf_modling_instance = the_pyuf_session.Modelingedge_type = get_solid_body_edge_type(the_pyuf_session, solid_body_face_egde_tag)edge_data = uf_modling_instance.AskEdgeVerts(solid_body_face_egde_tag)edgeTypeString = get_uf_modl_edge_string(edge_type)return [edge_type, edgeTypeString, edge_data[2], edge_data[0], edge_data[1]]def get_feature_body(the_pyuf_session, feature_tag):"""查询特征所属body的tag"""uf_modeling_instance = the_pyuf_session.Modelingreturn uf_modeling_instance.AskFeatBody(feature_tag)def get_uf_modl_edge_string(uf_modl_edge_type):"""功能:根据类型标识,获取UG MODL Edge对象的字符串形式描述,UF_MODL_LINEAR_EDGE             3001UF_MODL_CIRCULAR_EDGE           3002UF_MODL_ELLIPTICAL_EDGE         3003UF_MODL_INTERSECTION_EDGE       3004UF_MODL_SPLINE_EDGE             3005UF_MODL_SP_CURVE_EDGE           3006UF_MODL_FOREIGN_EDGE            3007UF_MODL_CONST_PARAMETER_EDGE    3008UF_MODL_TRIMMED_CURVE_EDGE      3009UF_MODL_CONVERGENT_EDGE         100007"""if type(uf_modl_edge_type) != type(0):return ""if uf_modl_edge_type == UF.UFConstants.UF_MODL_LINEAR_EDGE:return "3001-UF_MODL_LINEAR_EDGE-Type"elif uf_modl_edge_type == UF.UFConstants.UF_MODL_CIRCULAR_EDGE:return "3002-UF_MODL_CIRCULAR_EDGE-Type"elif uf_modl_edge_type == UF.UFConstants.UF_MODL_ELLIPTICAL_EDGE:return "3003-UF_MODL_ELLIPTICAL_EDGE-Type"elif uf_modl_edge_type == UF.UFConstants.UF_MODL_INTERSECTION_EDGE:return "3004-UF_MODL_INTERSECTION_EDGE-Type"elif uf_modl_edge_type == UF.UFConstants.UF_MODL_SPLINE_EDGE:return "3005-UF_MODL_SPLINE_EDGE-Type"elif uf_modl_edge_type == UF.UFConstants.UF_MODL_SP_CURVE_EDGE:return "3006-UF_MODL_SP_CURVE_EDGE-Type"elif uf_modl_edge_type == UF.UFConstants.UF_MODL_FOREIGN_EDGE:return "3007-UF_MODL_FOREIGN_EDGE-Type"elif uf_modl_edge_type == UF.UFConstants.UF_MODL_CONST_PARAMETER_EDGE:return "3008-UF_MODL_CONST_PARAMETER_EDGE-Type"elif uf_modl_edge_type == UF.UFConstants.UF_MODL_TRIMMED_CURVE_EDGE:return "3009-UF_MODL_TRIMMED_CURVE_EDGE-Type"elif uf_modl_edge_type == UF.UFConstants.UF_MODL_CONVERGENT_EDGE:return "100007-UF_MODL_CONVERGENT_EDGE-Type"return "00-unknow-ModlEdgeType"def get_face_data(the_pyuf_session, face_tag):"""查询面的数据[返回值]一个元组 (type-int, face point-list of float, dir-list of float, Face boundary-list of float, Face major radius-float, Face minor radius-float, Face normal direction-int)其中元组0位置:cylinder-16、cone-17 、sphere-18 、revolved (toroidal)-19extruded-20 、bounded plane-22 、fillet (blend)-23 、b-surface-43offset surface-65 、foreign surface-66、Convergent surface-67"""uf_modeling_instance = the_pyuf_session.Modelingreturn uf_modeling_instance.AskFaceData(face_tag)def createBlock(the_pyuf_session, corner_point, size, signs = 0):"""python uf创建块(长方体)corner_point-float list[x,y,z]:长方体角点坐标,size-str list[x_size, y_size,z_size]:块长宽高尺寸返回值是一个整数:块的feature tag标识signs意义:UF_NULLSIGN = 0create new target solidUF_POSITIVE = 1add to target solidUF_NEGATIVE = 2subtract from target solidUF_UNSIGNED = 3intersect with target solidUF_NO_BOOLEAN = 4feature has not been booleanedUF_TOP_TARGET = 5feature is the "top target" feature, it has no"parent" features but does have tool featuresUF_UNITE = 6feature has been united to target solidUF_SUBTRACT = 7feature has been subtracted from target solidUF_INTERSECT = 8feature has been intersected with target solidUF_DEFORM_POSITIVE = 9feature used to deform the positive sideof the target sheetUF_DEFORM_NEGATIVE = 10feature used to deform the negative sideof the target sheet"""uf_modlFeatures_instance = the_pyuf_session.ModlFeaturesuf_modl_instance = the_pyuf_session.Modlmodl_feature_signs = UF.Modl.FeatureSigns.ValueOf(signs)return uf_modlFeatures_instance.CreateBlock1(modl_feature_signs, corner_point, size)def setCorlor(the_pyuf_session, object_tag, color_id = 0):"""给UG对象设置颜色(面、特征、体等)"""uf_obj_instance = the_pyuf_session.Objreturn uf_obj_instance.SetColor(object_tag, color_id)def createChafmer(the_pyuf_session, subtype, offset1, offset2, theta, edges):"""python uf创建边的倒斜角subtype-int:1-单向偏置、2-双向偏置、3-偏置和角度、4-自由单向偏置、5-自由双向偏置,offset1-str:偏置值1,offset2-str:偏置值2,theta-str:倒斜角角度值,edges-int list:要倒斜角实体边的tag列表返回:倒斜角feature tag标识"""uf_modeling_instance = the_pyuf_session.Modelingreturn uf_modeling_instance.CreateChamfer(subtype, offset1, offset2, theta, edges)def createBlend(the_pyuf_session, radius, edge_list, smooth_overflow = 1, cliff_overflow = 1, notch_overflow = 1, vrb_tool = 0.0001):"""python uf创建边的倒圆角radius-str:倒圆角半径,edge_list-int list:要倒圆角实体边的tag列表,smooth_overflow-int:倒圆角平滑溢出值、0-允许这种类型倒圆、1-防止这种类型倒圆,cliff_overflow-int:倒圆角峭壁溢出值、0-允许这种类型倒圆、1-防止这种类型倒圆,notch_overflow-int:倒圆角凹槽溢出值、0-允许这种类型倒圆、1-防止这种类型倒圆,vrb_tool-float:倒圆角公差返回:倒圆角feature tag标识"""uf_modlFeatures_instance = the_pyuf_session.ModlFeaturesreturn uf_modlFeatures_instance.CreateBlend(radius, edge_list, smooth_overflow, cliff_overflow, notch_overflow, vrb_tool)if __name__ == '__main__':# 获取uf sessionthe_pyuf_session = get_uf_session()# 获取python sessionthe_py_session = get_py_session()# 新建prt文件路径与名称new_prt_file_name = 'D:\\pyuf_chamfer_blend.prt'new_prt_file_tag = pyuf_new_prt(the_pyuf_session, new_prt_file_name)# 创建长方体block_feature_tag = createBlock(the_pyuf_session, [100.0, 100.0, 100.0], ['250.0', '450.0', '80.0'])"""1.当前的3D模型是一个简单的长方体"""# 从某个特征上查询该特征所属的实体block_body_tag = get_feature_body(the_pyuf_session, block_feature_tag)# 获取实体上所有边tagblock_body_edge_tag_list = get_solid_body_edge_tags(the_pyuf_session, block_body_tag)# 平行于Z轴的竖直边tagparallel_z_edge_tag_list = []# [edge_type, edgeTypeString, edge_data[2], edge_data[0], edge_data[1]]# 长方体上下两个平面外轮廓边倒斜角 2mm 45°for item_edge in block_body_edge_tag_list:item_edge_point_info_list = get_solid_body_face_edge_points(the_pyuf_session, item_edge)item_edge_dir = [item_edge_point_info_list[3][0] - item_edge_point_info_list[4][0], item_edge_point_info_list[3][1] - item_edge_point_info_list[4][1],item_edge_point_info_list[3][2] - item_edge_point_info_list[4][2],]#print("item_edge_dir:", item_edge_dir)if math.fabs(item_edge_dir[0] - 0.000000) <= 1e-6 \and math.fabs(item_edge_dir[1] - 0.000000) <= 1e-6 \and item_edge_dir[2] != 0.000000:# item_edge_dir平行于Z轴parallel_z_edge_tag_list.append(item_edge)print("parallel_z_edge_tag_list:", parallel_z_edge_tag_list)# 垂平行于Z轴的竖直边倒圆角半径20mmparallel_z_edge_blend_feature_tag = createBlend(the_pyuf_session, "20.0", parallel_z_edge_tag_list)# 找到当前3D实体的tag(从特征上查询该特征所属的实体)"""2.当前的3D模型是一个4条平行于Z轴竖直边倒圆角半径20mm的长方体"""# 从某个特征上查询该特征所属的实体block_body_tag = get_feature_body(the_pyuf_session, parallel_z_edge_blend_feature_tag)# 获取实体上所有面tagblock_body_face_tag_list = get_solid_body_face_tags(the_pyuf_session, block_body_tag)print("block_body_face_tag_list:", block_body_face_tag_list)# 垂直于Z轴的平面tagvertical_z_face_tag_list = []for item_face in block_body_face_tag_list:item_face_data_tuple = get_face_data(the_pyuf_session, item_face)print("item_face_data_tuple:", item_face_data_tuple)if item_face_data_tuple[0] == 22:# 是平面类型if math.fabs(math.fabs(item_face_data_tuple[2][0]) - 0.000000) <= 1e-6 \and math.fabs(math.fabs(item_face_data_tuple[2][1]) - 0.000000) <= 1e-6 \and math.fabs(item_face_data_tuple[2][2]) != 0.000000:# 面的法线平行于Z轴即平面垂直于Z轴vertical_z_face_tag_list.append(item_face)print("vertical_z_face_tag_list:", vertical_z_face_tag_list)vertical_z_face_edge_chafmer_feature_tag = 0for item_face in vertical_z_face_tag_list:item_face_edge_tag_list = get_solid_body_face_edge_tags(the_pyuf_session, item_face)vertical_z_face_edge_chafmer_feature_tag = createChafmer(the_pyuf_session, 1, "2.000000", "2.000000", "45", item_face_edge_tag_list)# 从某个特征上查询该特征所属的实体block_body_tag = get_feature_body(the_pyuf_session, vertical_z_face_edge_chafmer_feature_tag)setCorlor(the_pyuf_session, block_body_tag, 166)# 保存.prtpyuf_save_prt(the_pyuf_session)# 关闭.prtpyuf_close_prt(the_pyuf_session, new_prt_file_tag, 0, 1)

4.运行结果

4.1 内部模式

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

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

4.2 外部模式

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

运行结果:
在这里插入图片描述
同上
其中,检查输出内容:
在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

lib库和dll库的介绍和使用

lib&#xff08;静态库&#xff09; 静态库定义&#xff1a;.lib文件是静态库文件&#xff0c;包含了在编译时被链接到目标程序的代码。使用静态库时&#xff0c;库的代码会被复制到最终生成的可执行文件中。优点&#xff1a; 性能&#xff1a;由于库代码在编译时就被集成到可…

分布式架构与分布式理论

文章目录 分布式架构什么是分布式系统分布式系统特性分布式系统面临的问题 分布式理论数据一致性CAP理论BASE理论 分布式架构 什么是分布式系统 分布式系统是一个硬件或软件组件分布在不同的网络计算机上&#xff0c;彼此之间仅仅通过消息传递进行通信和协调的系统。 所谓分…

Vue的APP实现下载文件功能,并将文件保存到手机中

Vue的APP实现下载文件功能&#xff0c;并将文件保存到手机中 文字说明后台核心代码前台核心代码运行截图项目链接 文字说明 本文介绍Vue实现的APP&#xff0c;将文件下载并保存到手机中&#xff0c;为系统提供导出功能&#xff1b;同时支持导入&#xff0c;即选择本地的文件后&…

Ubuntu18.04 文件管理器无法打开的解决方法

问题&#xff1a;打开Ubuntu虚拟机发现文件管理器无法打开,一直在转圈圈 在终端中输入 nautilus 显示如下信息 nautilus: symbol lookup error: /usr/lib/x86_64-linux-gnu/tracker-2.0/libtracker-data.so.0: undefined symbol: sqlite3_bind_pointer 解决措施&#xff1a…

LabVIEW 反向工程的实现与法律地位

什么是LabVIEW反向工程&#xff1f; 反向工程是指从现有的应用程序或软件中推导出其设计、架构、代码等信息的过程。对于LabVIEW而言&#xff0c;反向工程涉及从现有的VI&#xff08;虚拟仪器&#xff09;文件、项目或应用程序中提取出设计思路、功能模块、算法实现等。 LabV…

Spring Boot整合Jasypt 库实现配置文件和数据库字段敏感数据的加解密

&#x1f604; 19年之后由于某些原因断更了三年&#xff0c;23年重新扬帆起航&#xff0c;推出更多优质博文&#xff0c;希望大家多多支持&#xff5e; &#x1f337; 古之立大事者&#xff0c;不惟有超世之才&#xff0c;亦必有坚忍不拔之志 &#x1f390; 个人CSND主页——Mi…

大数据学习问题记录

问题记录 node1突然无法连接finalshell node1突然无法连接finalshell 今天我打开虚拟机和finalshell的时候&#xff0c;发现我的node1连接不上finalshell,但是node2、node3依旧可以链接&#xff0c;我在网上找了很多方法&#xff0c;但是是关于全部虚拟机连接不上finalshell&a…

大模型时代,是 Infra 的春天还是冬天?

Highlights 大模型时代元年感悟 Scaling Laws 是大模型时代的摩尔定律,是最值得研究的方向 LLM 发展的三个阶段: 算法瓶颈 -> 数据瓶颈 -> Infra 瓶颈 为什么 GPT 一枝独秀, BERT、T5 日落西山? 大模型时代,是大部分 Infra 人的冬天,少部分 Infra 人的春天(算法研…

算法金 | 一文读懂K均值(K-Means)聚类算法

​大侠幸会&#xff0c;在下全网同名[算法金] 0 基础转 AI 上岸&#xff0c;多个算法赛 Top [日更万日&#xff0c;让更多人享受智能乐趣] 1. 引言 数据分析中聚类算法的作用 在数据分析中&#xff0c;聚类算法用于发现数据集中的固有分组&#xff0c;通过将相似对象聚集在一…

统一响应,自定义校验器,自定义异常,统一异常处理器

文章目录 1.基本准备&#xff08;构建一个SpringBoot模块&#xff09;1.在A_universal_solution模块下创建新的子模块unified-processing2.pom.xml引入基本依赖3.编写springboot启动类4.启动测试 2.统一响应处理1.首先定义一个响应枚举类 RespBeanEnum.java 每个枚举对象都有co…

信息学奥赛初赛天天练-20-完善程序-vector数组参数引用传递、二分中值与二分边界应用的深度解析

PDF文档公众号回复关键字:20240605 1 2023 CSP-J 完善程序1 完善程序&#xff08;单选题&#xff0c;每小题 3 分&#xff0c;共计 30 分&#xff09; 原有长度为 n1,公差为1等升数列&#xff0c;将数列输到程序的数组时移除了一个元素&#xff0c;导致长度为 n 的开序数组…

云原生架构案例分析_5.某体育用品公司云原生架构的业务中台构建

1.背景和挑战 某体育用品公司作为中国领先的体育用品企业之一&#xff0c;在2016年&#xff0c;某体育用品公司启动集团第三次战略升级&#xff0c;打造以消费者体验为核心的“3”&#xff08;“互联网”、“体育”和“产品”&#xff09;的战略目标&#xff0c;积极拥抱云计算…

NeuralForecast TokenEmbedding 一维卷积 (Conv1d) 与矩阵乘法

NeuralForecast TokenEmbedding 一维卷积 (Conv1d) 与矩阵乘法 flyfish TokenEmbedding中使用了一维卷积 (Conv1d) TokenEmbedding 源码分析 在源码的基础上增加调用示例 下面会分析这段代码 import torch import torch.nn as nn class TokenEmbedding(nn.Module):def __i…

SEO 与 PPC 之间的区别

按点击付费 &#xff08;PPC&#xff09;&#xff1a; PPC 是一种网络营销技术&#xff0c;广告商在每次点击广告时向网站支付一定金额&#xff0c;广告商只为符合条件的点击付费。Google 广告、Bing 和 Yahoo 广告基于按点击付费的概念。PPC是用于在搜索引擎首页上列出的最快方…

鸿蒙开发接口安全:【@system.cipher (加密算法)】

加密算法 说明&#xff1a; 本模块首批接口从API version 3开始支持。后续版本的新增接口&#xff0c;采用上角标单独标记接口的起始版本。 导入模块 import cipher from system.ciphercipher.rsa rsa(Object): void RSA 算法加解密。 系统能力&#xff1a; SystemCapabil…

K8S==ingress配置自签名证书

安装openssl Win32/Win64 OpenSSL Installer for Windows - Shining Light Productions 生成证书 openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout example.local.key -out example.local.crt -subj "/CNexample.local/Oexample.local"创建K8S secr…

【简单讲解TalkingData的数据统计】

&#x1f3a5;博主&#xff1a;程序员不想YY啊 &#x1f4ab;CSDN优质创作者&#xff0c;CSDN实力新星&#xff0c;CSDN博客专家 &#x1f917;点赞&#x1f388;收藏⭐再看&#x1f4ab;养成习惯 ✨希望本文对您有所裨益&#xff0c;如有不足之处&#xff0c;欢迎在评论区提出…

Vue3中的常见组件通信之mitt

Vue3中的常见组件通信之mitt 概述 ​ 在vue3中常见的组件通信有props、mitt、v-model、 r e f s 、 refs、 refs、parent、provide、inject、pinia、slot等。不同的组件关系用不同的传递方式。常见的撘配形式如下表所示。 组件关系传递方式父传子1. props2. v-model3. $refs…

用例篇03

正交表 因素&#xff1a;存在的条件 水平&#xff1a;因素的取值 最简单的正交表&#xff1a;L4(2) 应用 allpairs 来实现正交表。 步骤&#xff1a; 1.根据需求找出因素和水平 2.将因素和水平写入到excel表格中&#xff08;表格不需要保存&#xff09;&#xff08;推荐用…

SpaceX 首席火箭着陆工程师 MIT论文详解:非凸软着陆最优控制问题的控制边界和指向约束的无损凸化

上一篇blog翻译了 Lars Blackmore(Lars Blackmore is principal rocket landing engineer at SpaceX)的文章&#xff0c;SpaceX 使用 CVXGEN 生成定制飞行代码,实现超高速机载凸优化。利用地形相对导航实现了数十米量级的导航精度,着陆器在着陆过程中成像行星表面并将特征与机载…