HFSS 3维曲线导入

2023-10-29 14:00
文章标签 导入 曲线 hfss

本文主要是介绍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]#逗号后面有空格的话是2,没有是1end=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中。

这篇关于HFSS 3维曲线导入的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

python: 多模块(.py)中全局变量的导入

文章目录 global关键字可变类型和不可变类型数据的内存地址单模块(单个py文件)的全局变量示例总结 多模块(多个py文件)的全局变量from x import x导入全局变量示例 import x导入全局变量示例 总结 global关键字 global 的作用范围是模块(.py)级别: 当你在一个模块(文件)中使用 global 声明变量时,这个变量只在该模块的全局命名空

PR曲线——一个更敏感的性能评估工具

在不均衡数据集的情况下,精确率-召回率(Precision-Recall, PR)曲线是一种非常有用的工具,因为它提供了比传统的ROC曲线更准确的性能评估。以下是PR曲线在不均衡数据情况下的一些作用: 关注少数类:在不均衡数据集中,少数类的样本数量远少于多数类。PR曲线通过关注少数类(通常是正类)的性能来弥补这一点,因为它直接评估模型在识别正类方面的能力。 精确率与召回率的平衡:精确率(Pr

如何导入sun.misc.BASE64Encoder和sum.misc.BASE64Decoder

右击项目名--->Build Path--->Configure Build Path...--->java Build Path--->Access rules:1 rule defined,added to all librar...   --->Edit --->Add...

mysql中导入txt文件数据的操作指令

1 表tt的格式:    CREATE TABLE `tt` (   `ind` int NOT NULL auto_increment,   `name` char(100) default NULL,   PRIMARY KEY  (`ind`)  )   2 文件d.txt的内容示例:  1,a  2,b  3,c

分享MSSQL、MySql、Oracle的大数据批量导入方法及编程手法细节

1:MSSQL SQL语法篇: BULK INSERT      [ database_name . [ schema_name ] . | schema_name . ] [ table_name | view_name ]         FROM 'data_file'        [ WITH       (      [ [ , ] BATCHSIZE = batch_siz

插件maven-search:Maven导入依赖时,使用插件maven-search拷贝需要的依赖的GAV

然后粘贴: <dependency>    <groupId>mysql</groupId>    <artifactId>mysql-connector-java</artifactId>    <version>8.0.26</version> </dependency>

Pr 入门系列之二:导入与管理素材(下)

◆  ◆  ◆ 管理素材 导入素材后,项目面板中每一个媒体都只是原始素材的“链接”。 所以,视频编辑过程中一般情况下都不会破坏原始素材。 1、在不同视图模式下组织素材 项目面板提供了三大视图 View供选用:列表视图、图标视图以及自由格式视图。 A. 锁定 B. 列表视图 C. 图标视图 D. 自由格式视图 E. 缩放滑块 F. 排序图标 G. 自动匹配序列 H. 查找 I. 新建素材箱 J.

win10不用anaconda安装tensorflow-cpu并导入pycharm

记录一下防止忘了 一、前提:已经安装了python3.6.4,想用tensorflow的包 二、在pycharm中File-Settings-Project Interpreter点“+”号导入很慢,所以直接在cmd中使用 pip install -i https://mirrors.aliyun.com/pypi/simple tensorflow-cpu下载好,默认下载的tensorflow

java工程的导入jar包

由于现在学习java web,java工程导入jar包都忘记了。 在此想记录一下:工程项目名:右击 -- Build Path --add External Archives 点击会弹出一个框 ,选择你要导入的jar路径就可以了。

Python导入问题详解

websites/ ├── apps/ │ ├── user/ │ │ ├── __init__.py │ │ ├── views/ │ │ │ ├── __init__.py │ │ │ ├── user.py │ │ │ ├── depart.py │ │ ├── utils/ │ │ │ ├── __init__.py │ │ │ └── pagination.py │