hfss matlab联合仿真_MATLAB与CST_HFSS联合仿真之抛砖引玉

博主分享了一种利用MATLAB读取图片信息,通过CST和HFSS的宏脚本自动生成和修改建模元素的方法。这种方法可以用于简化繁琐的建模工作,例如在创建超材料表面等复杂模型时。虽然过程耗时较长,但能提高效率,尤其适用于参数化建模和设计优化。文章还提及了HFSS的API可用于类似操作,并预告未来可能分享更多关于HFSS和CST脚本的内容。
摘要由CSDN通过智能技术生成

求关注

求转发

0818c8be7f3562ad0d104a28fe432824.png 234b153a98d9b5bbd6912101f8789604.png

最近仿真时觉得建模比较麻烦,又想起了CST的macro脚本,于是将读研时做的一些当时觉得没啥用的代码拿出来再加工改进下,做个有点中二的东西自娱自乐。

0 1实现思路
%具体思路是这样的:%1.MATLAB读取图片的信息:%2.调用提前编写好的function将每个像素点的位置和RGB值填入读写的bas文件中%3.打开CST macro,用记事本打开bas文件,复制粘贴覆盖,然后点击运行即可%读入图片数据image = imread('C:\Users\Administrator\Desktop\matlabcode\Test.jpg');[m,n,~]=size(image);%cst画图脚本生成W=0.1;L=0.1;% Create a new temporary CST Macro_file.fid = fopen('1.mcr', 'wt');fprintf(fid, 'Sub Main ()\n');for ii=1:m    for jj=1:n        R=image(ii,jj,1);G=image(ii,jj,2);B=image(ii,jj,3);          RGB=[R,G,B];        Patch_name=strcat('Patch',num2str(ii),'_',num2str(jj));        Brick(fid,Patch_name,'component1','PEC',{num2str(L*(ii-1)),num2str(L*(ii));...            num2str(W*(jj-1)),num2str(W*(jj));num2str(0),num2str(0)},1);        ChangeColor(fid,Patch_name,'component1',RGB);     endendfprintf(fid, '  EndHide\n');fprintf(fid, 'End Sub\n');%%% Close the CST Macro_file.fclose(fid);

5578e4f10ead9feaeec9ca06def1b47d.png

打开CST macro

cbd51a23bdaadf368539c38c1c964be9.png

粘贴代码、运行

0 2运行效果

最后CST先卡一下,然后慢慢在这龟速“画画”。耗时是真的久,画一个像素点然后改颜色竟然后面要1s,还好只选了64*48像素的图片,不然得等到天荒地老。不过一般建模也不会画两千多单元吧?

0 3结果预览

b5966db4e36007d831020c8f4f6ee845.png

CST重绘图片

CST可以干这事,HFSS肯定不甘示弱,因为网上都有现成的hfssapi,因此就画rectangle,然后修改贴片颜色,生成vbs脚本,将下面代码的文件路径改为自己想要的就OK了。

友情提升:耗时较久,谨慎玩哈!

代码资料在文末,也可以公众号里回复我的资源,在总更新包里根据发文日期找

oProject.SaveAs _    "C:\Users\Administrator\Desktop\temp\Image_plot.hfss", _    true

e05fe5a7327088d6f2b1fa17df4cca7c.png

HFSS重绘图片


当然了,以上只是些花里胡哨地操作,实际可以应用在繁琐复杂性建模设计中。比如下面这种超材料表面,每个单元的尺寸不一样,但是单元的建模是一样的。这种情况用脚本可以建立全参量模型,哪里要改动哪里,优化设计起来也方便一点。除此之外,在日常的建模仿真中,如果都养成代码建模的习惯,适当添加注释交互起来就底层化了。

想想别人给你一个HFSS模型,其可读性比较低,修改模型也比较麻烦。

7f006c5c0ff937c78044d6e95f9a4713.png

留言区:MATLAB与CST_HFSS联合仿真之“抛砖引玉”

5fc70ff2fa229db69140729645ab0b15.png

提取码:dtby


关于HFSS脚本和CST脚本,有时间的话慢慢出文吧,毕竟比较耗时,这不是主业?! 903c0c807735a0ae8426482f231453a9.gif

a4a2c3d70de5dd9d37075749d6e5f905.png

走过路过,打赏、点赞、在看,给作者加加油

2f5763c6b5c998ad7bd629e20134f0ad.png 27300fdea8206405dd9a11c6652ed12d.png
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值