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

CST学习笔记(三)MATLAB与CST联合仿真-远场数据批量导出

CST学习笔记(三)MATLAB与CST联合仿真-远场数据批量导出

一、直接数据导出

(1)打开远场,调至笛卡尔坐标系
在这里插入图片描述
(2)然后点击post processing → Import/Export → Plot Data (ASCII) ,即可导出数据
在这里插入图片描述

二、数据后处理批量导出

  1. 在后处理模板导出
    在这里插入图片描述
  2. 选择分辨率和要导出的远场数据
    在这里插入图片描述
  3. 选择[PW],意思是导出激励源为平面波(plane wave)下的远场数据,有些仿真中用的是波端口[1]和[2]选择[1]和[2]则分别代表导出激励源为[1]或[2]下的远场数据。
    在这里插入图片描述
  4. 点击evaluate
    在这里插入图片描述

三、使用MATLAB代码批量导出远场数据

代码如下:

% 添加 CST 的 API 路径
addpath(genpath('E:\CST\CST_MATLAB\cstapi')); 

% 启动 CST 和打开文件
cst = actxserver('CSTStudio.application'); % 加载 CST 应用控件
mws = invoke(cst, 'NewMWS'); % 新建一个 CST MWS 项目

% 打开一个已经存在的 CST 工程文件
fullfilename = which('x_polarized_5unit10.cst'); % 确保文件路径正确
invoke(mws, 'OpenFile', fullfilename); % 打开 CST 文件

% 获取 FarfieldPlot 对象并设置参数
farfieldplot = invoke(mws, 'FarfieldPlot');

% 配置方向图的基本参数
invoke(farfieldplot, 'Reset');
invoke(farfieldplot, 'Plottype', '3d'); % 设置为 3D 绘图
invoke(farfieldplot, 'Step', 5); % 设置步长为 5invoke(farfieldplot, 'SetColorByValue', 'True');
invoke(farfieldplot, 'SetTheta360', 'False');
invoke(farfieldplot, 'SetPlotMode', 'Efield'); % 设置绘图模式为 Efield
invoke(farfieldplot, 'SetScaleLinear', 'True'); % 设置线性比例
invoke(farfieldplot, 'DBUnit', '0'); % 设置 dB 单位
invoke(farfieldplot, 'Distance', 1); % 设置远场距离

% 绘制第一个方向图
SelectTreeItem = 'Farfields\farfield (f=3.66) [PW]'; % 选择第一个频点的远场结果
invoke(mws, 'SelectTreeItem', SelectTreeItem); % 选择树中的结果项
invoke(farfieldplot, 'Plot'); % 绘制方向图

% 导出第一个方向图结果
export = invoke(mws, 'ASCIIExport');
export_path = 'D:\CSTproject\20250331article\x_polarized_5unit10_file\farfield_f16.txt'; % 导出路径
invoke(export, 'Reset');
invoke(export, 'FileName', export_path); % 设置导出路径
invoke(export, 'Execute'); % 执行导出
disp(['已成功导出方向图数据至:', export_path]);

% 绘制第二个方向图
SelectTreeItem = 'Farfields\farfield (f=3.72) [PW]'; % 选择第二个频点的远场结果
invoke(mws, 'SelectTreeItem', SelectTreeItem); % 选择树中的结果中的结果项
invoke(farfieldplot, 'Plot'); % 绘制方向图

% 导出第二个方向图结果
export_path = 'D:\CSTproject\20250331article\x_polarized_5unit10_file\farfield_f30.txt'; % 导出路径
invoke(export, 'Reset');
invoke(export, 'FileName', export_path); % 设置导出路径
invoke(export, 'Execute'); % 执行导出
disp(['已成功导出方向图数据至:', export_path]);

% 释放 COM 对象
release(mws); 
release(cst); 
rmpath(genpath('E:\CST\CST_MATLAB\cstapi'));

但是运行代码出现了以下问题:
在这里插入图片描述
我猜测是版本问题,我用的是CST2022,我参考的资料都是基于CST2020或2021的仿真,所以此代码仅供参考,有CST2020或2021的同志们可以尝试一下,如果成功了,可以在评论区回复一下。

附录

这是CST帮助文档中有关宏编辑的VBA代码,可以在这个里面参考学习。CST没有HFSS的脚本录制功能,其所有操作都在history tree中,所以想要快速建模可以参考历史树,但如果想要导出结果数据,历史树参考意义不大,还得多看参考文档和其他参考资料。

【1】[MWS]Mtalab如何控制CST导出数据
【2】CST如何导出和查看farfield远场数据 — ffs,txt,csv
【3】CST仿真指导 | 使用宏Macro实现自动化
【4】【Matlab与CST MWS交互】:自动批量导出S参数

在这里插入图片描述

在这里插入图片描述

相关文章:

  • 【学Rust写CAD】22 双圆径向渐变的结构体(two_circle_radial_gradient.rs)
  • 现代简洁线条视觉冲击几何风psai无衬线英文字体安装包 Adobe Fonts – Transducer Font Family
  • RK3588使用笔记:ubuntu/麒麟系统功能测试程序
  • 博客学术汇测试报告
  • Mamba4D阅读
  • 人工智能大模型-数据预处理-文本数据预处理-图像数据预处理
  • HCIA-数据通信datacom认证
  • Cookie与Token详解及测试需重点关注点
  • JxBrowser 8.5.1 版本发布啦!
  • npu踩坑记录
  • C++设计模式-迭代器模式:从基本介绍,内部原理、应用场景、使用方法,常见问题和解决方案进行深度解析
  • AI提示语:个人学习路线规划
  • Linux基础入门:从零开始掌握Linux命令行操作
  • 【Feign】⭐️使用 openFeign 时传递 MultipartFile 类型的参数参考
  • 【分享】内外网文件摆渡系统:让数据传输更安全更可靠
  • ORB-SLAM学习感悟记录
  • Kotlin 基础语法解析
  • 排序算法3-交换排序
  • 红宝书第二十三讲:详解DOM事件模型:冒泡与事件委托
  • QCustomPlot拖动绘制变慢问题解决方案
  • 房地产app/网站关键词优化排名外包
  • 保险网站有哪些平台/网站备案是什么意思
  • 桦甸网站开发定制/推广关键词如何优化
  • 抖音代运营比较有名的公司/搜索引擎优化包括哪些方面
  • 潞城网站建设公司/网站seo哪里做的好
  • wordpress开发的网站/西安seo管理