clear;clc;path = mfilename('fullpath');i=strfind(path,'');path=path(1:i(end));cd(path);addpath(genpath(strcat(path,'hfssapi-by-Jianhui Huang')));try % 填写路径 % tmpPrjFile:生成的aedt或者hfss(安装hfss15以下的后缀名为.hfss)项目文件的路径名 % tmpScriptFile:生成的vbs脚本文件的路径名 tmpPrjFile = 'F:vbsScriptPatch_Probe_Feed.aedt'; tmpScriptFile = 'F:vbsScriptauto_code.vbs'; % hfssExePath:HFSS软件的路径 hfssExePath = 'D:softwareHFSS15AnsysEM18.2Win64ansysedt.exe'; % 创建一个可读写vbs脚本文件. fid = fopen(tmpScriptFile, 'wt'); %创建一个新的HFSS项目并插入一个新的设计文件. hfssNewProject(fid); Design_name='element'; hfssinsertDesign(fid, Design_name); Patch_W=16.9;Patch_L=13.3; Sub_W=35;Sub_L=30;Sub_H=0.762;copper_H=0.035; Probe_dy=-4;Probe_dx=0; Inner_R=0.5;Diel_R=exp(50/60*sqrt(1))*Inner_R;Outer_R=1.5;L0=2; % hfssVariableinsert(fid,DesignName,variableName, value, units,flag) hfssVariableinsert(fid,Design_name,'Patch_W', Patch_W, 'mm',1); hfssVariableinsert(fid,Design_name,'Patch_L', Patch_L, 'mm',1); hfssVariableinsert(fid,Design_name,'Sub_W', Sub_W, 'mm',1); hfssVariableinsert(fid,Design_name,'Sub_L', Sub_L, 'mm',1); hfssVariableinsert(fid,Design_name,'Sub_H', Sub_H, 'mm',1); hfssVariableinsert(fid,Design_name,'copper_H', copper_H, 'mm',1); hfssVariableinsert(fid,Design_name,'Probe_dx', Probe_dx, 'mm',1); hfssVariableinsert(fid,Design_name,'Probe_dy', Probe_dy, 'mm',1); hfssVariableinsert(fid,Design_name,'L0', L0, 'mm',1); hfssVariableinsert(fid,Design_name,'Inner_R', Inner_R, 'mm',1); hfssVariableinsert(fid,Design_name,'Diel_R', 'exp(50/60*sqrt(1))*Inner_R', 'mm',2); hfssVariableinsert(fid,Design_name,'Outer_R', Outer_R, 'mm',1); % 画基板 % hfssBox(fid, BoxName, Start, Size, Units, Color, Material, Transparency, flag) hfssBox(fid, 'Sub1', {'-Sub_W/2', '-Sub_L/2', '0mm'}, {'Sub_W', 'Sub_L', 'Sub_H'}, 'mm',... "(0 128 128)", "Rogers RO4350 (tm)", 0, 2); % 画贴片 hfssBox(fid, 'Patch', {'-Patch_W/2', '-Patch_L/2', 'Sub_H'}, {'Patch_W', 'Patch_L', 'copper_H'}, 'mm',... "(255 128 0)", "copper", 0, 2); % 画GND hfssBox(fid, 'GND', {'-Sub_W/2', '-Sub_L/2', '0mm'}, {'Sub_W', 'Sub_L', '-copper_H'}, 'mm',... "(128 128 128)", "copper", 0, 2); % 画同轴部分 % 画同轴内芯 % hfssCylinder(fid, CylinderName, Axis, Center, Radius, Height, Units, Color, Material, Transparency, flag) hfssCylinder(fid, 'Inner', 'Z', {'Probe_dx', 'Probe_dy', 'Sub_H+copper_H'}, 'Inner_R','-(Sub_H+copper_H*2+L0)', 'mm',... "(128 128 128)", "copper", 0, 2); hfssCylinder(fid, 'Diel', 'Z', {'Probe_dx', 'Probe_dy', '-copper_H'}, 'Diel_R','-L0', 'mm',... "(0 128 128)", "vacuum", 0, 2); hfssCylinder(fid, 'Outer', 'Z', {'Probe_dx', 'Probe_dy', '-copper_H'}, 'Outer_R','-L0', 'mm',... "(128 128 128)", "copper", 0, 2); % 地板开过孔 hfssCylinder(fid, 'GND_hole', 'Z', {'Probe_dx', 'Probe_dy', '0mm'}, 'Diel_R','-copper_H', 'mm',... "(255 128 0)", "vacuum", 0, 2); % 布尔操作 hfssSubtract(fid, {'Outer'}, {'Diel'}, true); hfssSubtract(fid, {'Sub1','Patch','Diel'}, {'Inner'}, true); hfssSubtract(fid, {'GND'}, {'GND_hole'}, false); % 保存项目文件到指定路径 hfssSaveProject(fid, tmpPrjFile,1); % Close the HFSS Script File. fclose(fid); disp('vbs脚本已生成!');catch disp('程序出现异常!'); fclose(fid);end