当前位置: 首页 > news >正文

HFSS 3维曲线导入

HFSS 3维曲线导入

  • 简介
  • 环境
  • 参考
  • 代码
  • 使用
  • 结果

简介

如图一所示,CST中可以通过导入和到出由任意点组成的曲线,但是HFSS中貌似不能导入(如图二所示),如果我们要将matlab的产生的曲线的点的数据导入特变麻烦,特别是在点特别多的情况。这时可以可以使用脚本导入海量个点所组成的曲线。

在这里插入图片描述
在这里插入图片描述

环境

python 3.11.5
Ansys Electronics Desktop 2022 R1
vscode

参考

【1】MATLAB-HFSS-API入门教程-第1讲参考了HFSS的脚本使用的基本的介绍

代码

脚本代码由【1】的灵感在HFSS录制出的脚本基础上修改得来。


# ----------------------------------------------
# Script Recorded by Ansys Electronics Desktop Version 2022.1.0
# 20:42:37  8? 30, 2023
# ----------------------------------------------
import ScriptEnv
ScriptEnv.Initialize("Ansoft.ElectronicsDesktop")
oDesktop.RestoreWindow()
oProject = oDesktop.SetActiveProject("Project2")
oDesign = oProject.SetActiveDesign("HFSSDesign1")
oEditor = oDesign.SetActiveEditor("3D Modeler")
list1=[	"NAME:Attributes","Name:="		, "Polyline1","Flags:="		, "","Color:="		, "(143 175 143)","Transparency:="	, 0,"PartCoordinateSystem:=", "Global","UDMId:="		, "","MaterialValue:="	, "\"vacuum\"","SurfaceMaterialValue:=", "\"\"","SolveInside:="		, True,"ShellElement:="	, False,"ShellElementThickness:=", "0mm","IsMaterialEditable:="	, True,"UseMaterialAppearance:=", False,"IsLightweight:="	, False]
list2=["NAME:PolylinePoints"]
list3=[		"NAME:PolylineParameters","IsPolylineCovered:="	, True,"IsPolylineClosed:="	, False,]
list4=	[		["NAME:PolylineSegments",["NAME:PLSegment","SegmentType:="		, "Spline","StartIndex:="		, 0,"NoOfPoints:="		, 10000, #根据文件修改对应的点数(也是文件行数)"NoOfSegments:="	, "0"]],["NAME:PolylineXSection","XSectionType:="	, "None","XSectionOrient:="	, "Auto","XSectionWidth:="	, "0mm","XSectionTopWidth:="	, "0mm","XSectionHeight:="	, "0mm","XSectionNumSegments:="	, "0","XSectionBendType:="	, "Corner"]]filename = "D:\study\mass\HfssCurve\script\\formalreadfile.txt"
with open(filename, 'r') as f:lines = f.readlines()
#    print(len(lines))linelen=len(lines)
#可以看到点的数
out=[]
filename = "D:\study\mass\HfssCurve\script\\formalreadfile.txt" #保存点位置的txt文件
with open(filename, 'r') as f:lines = f.readlines()for line in lines:front=line[:line.find(",")]#????????front=front+"mm"
#        print(front)end=line[line.find(",")+2:-2]end=end+"mm"
#        print(end)temp=["NAME:PLPoint"]temp.append("X:=")temp.append(str(front))temp.append("Y:=")temp.append(str(end))temp.append("Z:=")temp.append("0mm")#print(temp)out.append(temp)
sumout=list2+out
#print(sumout)
sumout=[sumout]+list4
#print(sumout)
list3=list3+sumout
print(list3)
oEditor.CreatePolyline(list3,list1)

使用

保存点数文件的格式为坐标由逗号隔开。

 0.00000000000000000,  0.000000000000000000.08071476209794981, -0.000000001413411610.16144074007196085, -0.000000010629037210.24217793799410914, -0.000000033594460550.32292635792965929, -0.000000074249612680.40368599995593835, -0.000000134547690320.48445686218176465, -0.000000214473345750.56523894076671022, -0.000000312061274600.64603222994000231, -0.000000423417759520.72683672202022986, -0.000000542737325300.80765240743457811, -0.000000662323998310.88847927473834076, -0.000000772608984790.96931731063373827, -0.00000086217232820

将上述修改对应的路径和点数后保存为.py文件,注意保存格式为ascii(win11的记事本不行),或在vscode保存为windows1252格式,只有这样才能正常使用。
在这里插入图片描述

在这里插入图片描述
在HFSS中运行脚本,Tools=》Run script=》选择刚刚保存的.py文件。

结果

在这里插入图片描述
在这里插入图片描述
这样就导入了10000个点到HFSS中。

http://www.lryc.cn/news/150986.html

相关文章:

  • 【消息中心】kafka消费失败重试10次的问题
  • 无涯教程-Python机器学习 - Semi-supervised Learning函数
  • 7 | 计算每个键对应的平均值,并按降序排序
  • kafka详解二
  • SAP_ABAP_接口技术_RFC远程函数实践总结
  • 计算机 --> 磁盘 --> 分区
  • 3D视觉测量:形位公差 平面度测量(附源码)
  • vmware虚拟机远程开发
  • Web安全——穷举爆破上篇(仅供学习)
  • POJ 3045 Cow Acrobats 二分+优先队列
  • 手写实现call() apply() bind()函数,附有详细注释,包含this指向、arguments讲解
  • MySQL中日期、时间直接相减的坑
  • 漏洞发现-web应用发现探针类型利用(43)
  • 专门针对开发人员,攻击者利用Rust获取操作系统信息
  • PHP8的箭头函数-PHP8知识详解
  • 初识PHP编程:探索Web开发的起点
  • Git——Windows平台创建gitee私有仓库详解
  • Git基础教程-常用命令整理:学会Git使用方法和错误解决
  • Ops实践 | 国产化KylinOS系统中快速部署企业内部高性能DNS服务器、时间同步服务器 (精选)...
  • stm32之IIC协议
  • 范式 事务 多表查询
  • 基于白鲸算法优化的BP神经网络(预测应用) - 附代码
  • java并发编程 ReentrantLock详解
  • Java获取文件内容IO流
  • Java后端开发面试题——集合篇
  • 如何允许远程访问MySQL
  • 001图机器学习与图神经网络简介
  • 万级数据优化EasyExcel+mybatis流式查询导出封装
  • Unity——脚本序列化
  • es(Elasticsearch)介绍