PCB(AD)转HFSS进行电磁仿真

文章详细描述了如何从PCB设计软件AD导出Gerber和NCdrill文件,然后在HFSS中进行3D布局和电磁仿真。过程中提到了设置叠层、导入模型以及导出ACIS模型到HFSS进行进一步分析。最后,文章强调了材料赋值和端口仿真的重要性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


PCB文件来源于DigiPCBA的DEMO

AD输出Geber文件

此处不介绍geber文件及各层的含义
直接导出top、bottom层的geber文件及NC drill(孔相关)文件,NC dirll需要单独导出

先来导出Gerber Files

选择需要的层,我只要top、bottom、和两个信号层,gbr还是gtl…名字无所谓,都能识别的
在这里插入图片描述
导出的位置就在这个工程文件的路径里面,自己找一下就好,比如我的在project_Output…里面
在这里插入图片描述

导出NC drill文件

!!!此处的单位和Format以及Leading/Trailing Zeroes要注意!!!
单位和Geber保持一致,Format和Leading/Trailing Zeroes导入HFSS时要保持一致!!!
文件输出也在工程目录中
在这里插入图片描述

打包压缩包

以上产生的文件一股脑压缩成压缩包即可,然后进入HFSS了

HFSS 3D layout

导入geber文件

在这里插入图片描述
注意format用 . 间隔 不是 : **
在这里插入图片描述
刚导入是这样的,是平面结构,
二向箔攻击**
在这里插入图片描述

设置版的叠层

在这里插入图片描述
按照工艺结构插入介质…全弄FR4了 懒哈哈哈哈哈
在这里插入图片描述
点这个可以预览!
在这里插入图片描述

结束之后可以看到恢复三维的结构了,确定一下via什么的位置是对的,否则检查nc drill和输入时候的是否保持一致!

在这里插入图片描述

可以保存为.aedt文件了,也可以仿真了…

我选择再玩会 导出模型文件

导出模型

在这里插入图片描述
Export–>ACIS–>名字自己起,后缀我选择…无所谓咯sb,啊不sab,狗头保命嘿嘿
可以插入HFSS里面了,就不是3D layout这样式儿了…

HFSS

新打开一个HFSS窗口,从modeler插入模型
在这里插入图片描述
熟悉的界面回来咯!!!还是这个界面好看啊!

在这里插入图片描述
所有都没有材料,直接选中所有的给个铜,后续加端口仿真(直接在3d layout那就可以仿真的其实)

完结撒花!

### 如何在HFSS中将S参数导出为CSV格式 为了实现这一目标,在HFFF软件环境中,操作者需遵循特定的功能路径来完成数据换与保存的任务。当涉及到具体的操作流程时,可以通过图形界面执行一系列命令以达到目的。 #### 使用图形用户界面导出S参数到CSV文件 通过导航至`Report Setup`选项卡创建一个新的报告用于展示所需的S参数结果[^1]。在此过程中,定义好关注的频率范围和其他必要条件之后,点击`File`菜单下的`Export Data...`选项,这一步骤允许选择要导出的数据以及指定其格式为逗号分隔值(CSV)[^2]。 ```matlab % 这里提供的是概念性的MATLAB脚本示意而非实际可运行于HFSS内的代码, % 实际上HFSS内部并不支持直接编写此类脚本来控制GUI交互。 fprintf('此部分意在说明逻辑过程,并非真实可用代码'); ``` #### 利用Python Script自动化导出过程 对于更高级别的需求或是频繁重复的工作流来说,采用编程方式可以极大提高效率。Ansys HFSS 支持通过PyAEDT库来进行API级别的访问和操控,从而能够编写自定义脚本来批量处理多个设计中的数据提取工作。 安装并配置好环境后,下面给出了一段简单的Python代码片段作为示例: ```python from pyaedt import Hfss # 初始化hfss实例并与现有项目建立连接 app = Hfss() # 获取当前激活的设计名称 design_name = app.design_name # 创建新的解决方案设置或加载已有设置 setup_name = "MySetup" if not setup_name in app.setups: setup = app.create_setup(setup_name) # 添加计算请求(Analysis Sweep) sweep_name = "LinearFrequency" start_freq = "1GHz" stop_freq = "10GHz" count_points = 501 app.add_sweep( setupname=setup.name, sweepname=sweep_name, sweeptype="Interpolating", units="GHz", freqstart=start_freq, freqstop=stop_freq, count=count_points ) # 提取所需的结果项并将它们写入csv文件 result_types = ["dB(S(1,1))", "dB(S(2,1))"] for result_type in result_types: filename = f"{design_name}_{result_type}.csv" app.post.export_data(sweep_name, result_type, filepath=filename) print(f"S 参数已成功导出到 {filename}") ``` 上述方法不仅限定了具体的工具版本信息,还提供了两种不同的途径——即手动操作和自动化的程序化手段——帮助使用者有效地管理来自仿真的大量数据集,并将其化为易于分析的形式。
评论 14
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值