0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

HFSS-API常用的基本形狀和布爾操作函數(shù)

ExMh_zhishexues ? 來源:微波射頻網(wǎng) ? 作者:94巨蟹座少年 ? 2021-08-27 15:38 ? 次閱讀

摘要:

上節(jié)HFSS-API入門第一彈:畫個Box主要是分享了調(diào)用改良hfssapi新建工程和設(shè)計文件并插入變量畫一個參數(shù)化的Box,本期推文將推送常用的基本形狀和布爾操作函數(shù)。歡迎小伙伴們閱讀、分享、再看,轉(zhuǎn)發(fā)給更多有需要的人!喜歡的小伙伴可贊賞下作者哦。

本文使用的軟件為MATLAB2019a和AnsysEM 18.2

0 1 簡單介紹

常規(guī)模型大家只需要用到畫方塊、柱子、矩形片、圓形,并對其進(jìn)行UniteSubtract之類的布爾操作即可。上次推文已經(jīng)介紹了hfssBox的函數(shù)用法,下節(jié)將先對hfssCylinder,hfssRectangle,hfssCircle進(jìn)行函數(shù)使用講解,然后介紹hfssUnite和hfssSubtract的加減操作函數(shù)。

拉到文末有下載改良后的hfssapi,建議收藏鏈接,后續(xù)新出的函數(shù)會不定期在該文件夾內(nèi)更新。文件也不大,幾百kB,每次有更新重新下載覆蓋即可。

先提醒下matlab打開有中文注釋代碼亂碼問題,按下圖所示將Editor的Font改為Monospaced即可。

對于設(shè)置Color,有的人想花里胡哨地配色的話,可以進(jìn)行RGB三色的顏色查詢:https://www.sojson.com/rgb.html。沒有絕對顏感的人不要輕易嘗試,否則配出來會是下圖這種樣子??赡苣阌X得很絢麗,但是真的很鄉(xiāng)村風(fēng)啊?。。”救诉€是習(xí)慣用上次推文的三種配色,極簡最好。

0 2 函數(shù)使用教程

接下來先介紹三個建模常用的函數(shù):hfssCylinder,hfssRectangle,hfssCircle。

% hfssCylinder(fid, CylinderName, Axis, Center, Radius, Height, Units, Color, Material, Transparency, flag)% CylinderName:圓柱的名字;Axis:圓柱建模的中心軸向(‘X’,‘Y’或‘Z’,大小寫均可);Center:圓柱底面的圓心坐標(biāo);% Radius:圓柱底面的圓半徑;Height:圓柱的高度;Units:單位% Color:圓柱的顏色(RGB);Material:材料名字(不要隨便自己整個名字,必須是HFSS材料庫里的名字);% Transparency:顯示的透明度;flag:值為1時Center, Radius, Height只支持?jǐn)?shù)字,值為2時value支持元胞數(shù)組表達(dá)式% 實例:% hfssCylinder(fid, ‘Cy1’, ‘Z’, {‘Cy_dx’, ‘Cy_dy’, ‘Cy_dz’}, ‘Cy_R’,‘Cy_H’, ‘mm’,...% “(132 132 193)”, “FR4_epoxy”, 0, 2);% hfssCylinder(fid, ‘Cy1’, ‘Z’, [0,0,0], 0.5,2, ‘mm’,...% “(132 132 193)”, “FR4_epoxy”, 0, 1);

% hfssRectangle(fid, RectangleName, Axis, Start, Width, Length, Units, Color, Transparency,flag)% RectangleName:矩形片的名字;Axis:矩形片的法向軸向(‘X’,‘Y’或‘Z’,大小寫均可);% Start:矩形片的起始基點;% Width:矩形片的寬;Length:矩形片的長;Units:單位% Color:矩形片的顏色(RGB);% Transparency:顯示的透明度;% flag:值為1時Start, Width, Length只支持?jǐn)?shù)字,值為2時value支持元胞數(shù)組表達(dá)式% HFSS中的Rectangle只可設(shè)置邊界條件,不可設(shè)置材料屬性% 實例:% hfssRectangle(fid, ‘Rec1’, ‘Z’, {‘Rec_dx’, ‘Rec_dy’, ‘Rec_dz’}, ‘Rec_W’,‘Rec_L’, ‘mm’,...% “(132 132 193)”, 0, 2);% hfssRectangle(fid, ‘Rec1’, ‘Z’, [0,0,0], 1, 2, ‘mm’,...% “(132 132 193)”, 0, 1);

% hfssCircle(fid, CircleName, Axis, Center, Radius, Units, Color, Transparency,flag)% CircleName:圓形片的名字;Axis:圓形片的法向軸向(‘X’,‘Y’或‘Z’,大小寫均可);Center:圓形片的圓心坐標(biāo);% Radius:圓形片的半徑;Units:單位% Color:圓形片的顏色(RGB);% Transparency:顯示的透明度;% flag:值為1時Center, Radius只支持?jǐn)?shù)字,值為2時value支持元胞數(shù)組表達(dá)式% HFSS中的Circle只可設(shè)置邊界條件,不可設(shè)置材料屬性% 實例:% hfssCircle(fid, ‘Cir1’, ‘Z’,{‘Cir_dx’, ‘Cir_dy’, ‘Cir_dz’}, ‘Cir_R’, ‘mm’,...% “(128 128 128)”, 0, 2)% hfssCircle(fid, ‘Cir1’, ‘Z’,[0,0,0], 1, ‘mm’,...% “(128 128 128)”, 0, 1)

需要注意上面的hfssRectangle,當(dāng)坐標(biāo)軸分別選取‘X’,‘Y’或‘Z’時,按下面代碼建立三個Rectangle模型。

hfssRectangle(fid, ‘Rec1’, ‘X’, {‘Rec_dx’, ‘Rec_dy’, ‘Rec_dz’}, ‘Rec_W’,‘Rec_L’, ‘mm’,...“(255 128 0)”, 0, 2);hfssRectangle(fid, ‘Rec2’, ‘Y’, {‘Rec_dx’, ‘Rec_dy’, ‘Rec_dz’}, ‘Rec_W’,‘Rec_L’, ‘mm’,...“(255 128 0)”, 0, 2);hfssRectangle(fid, ‘Rec3’, ‘Z’, {‘Rec_dx’, ‘Rec_dy’, ‘Rec_dz’}, ‘Rec_W’,‘Rec_L’, ‘mm’,...“(255 128 0)”, 0, 2)

逐個點擊這三個Rectangle,查看其屬性會發(fā)現(xiàn):若坐標(biāo)軸選‘X’,則‘Rec_W’,‘Rec_L’分別賦值給Ysize和Zsize;若坐標(biāo)軸選‘Y’,則‘Rec_W’,‘Rec_L’分別賦值給Zsize和Xsize;若坐標(biāo)軸選‘Z’,則‘Rec_W’,‘Rec_L’分別賦值給Xsize和Ysize;即按著‘X’,‘Y’,‘Z’順序進(jìn)行輪換式賦值。

在建模過程中,往往需要Unite和Subtract這兩種加減型的布爾操作,這時候hfssUnite和hfssSubtract函數(shù)就派上用場了。

% hfssUnite(fid, ObjectList)% ObjectList:待Unite的物體名字% 實例:% hfssUnite(fid, {‘Object1Name’, ‘Object2Name’, ‘Object3Name’});

% hfssSubtract(fid, BigParts, SmallParts, KeepOriginals)% BigParts:待減物品名字;SmallParts:被減的物體名字% KeepOriginals:為false時不保留被減物,為true時則保留被減物% 實例:% hfssSubtract(fid, {‘Object1Name’}, {‘Object2Name’}, false);

通過下面的視頻可以直觀感受下以上五個函數(shù)的建模作用,以及hfssSubtract的KeepOriginals為false和true時的差異:

上面視頻的兩段代碼文件在文末的鏈接內(nèi),按個人情況按圖索驥地修改tmpPrjFile,tmpScriptFile ,hfssExePath這幾個路徑和Design_name,將編寫的MATLAB生成vbs腳本的.m文件與下載的hfssapi-by-Jianhui Huang放在同一個總文件夾內(nèi),點擊運行即可生成vbs腳本(在自行賦值的tmpScriptFile的這個路徑下)。vbs腳本可以直接點擊運行,或者在HFSS軟件中Run Script。

基礎(chǔ)性地寫代碼編注釋還是挺費時間和精力的,希望大家多點贊分享。

代碼分享區(qū)

hfssapi-by-Jianhui Huang

下載鏈接(后續(xù)代碼持續(xù)在下面鏈接更新):

https://pan.baidu.com/s/1N0EE3Uv7krkypfzi9vxCvg

提取碼:o5p5

代碼已封裝好打包為p文件不可修改,每次重新下載覆蓋,按函數(shù)注釋進(jìn)行掉包即可!

注釋事項:MATLAB生成vbs腳本的.m文件與hfssapi-by-Jianhui Huang放在同一個總文件夾內(nèi)。不要再examples文件夾內(nèi)運行.m文件!

責(zé)任編輯:haq

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 文件
    +關(guān)注

    關(guān)注

    1

    文章

    569

    瀏覽量

    24775
  • 函數(shù)
    +關(guān)注

    關(guān)注

    3

    文章

    4340

    瀏覽量

    62793
  • hfss
    +關(guān)注

    關(guān)注

    32

    文章

    167

    瀏覽量

    50341

原文標(biāo)題:HFSS-API入門第二彈:基本形狀和操作

文章出處:【微信號:zhishexueshuquan,微信公眾號:知社學(xué)術(shù)圈】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    卡諾圖與布爾代數(shù)的聯(lián)系

    1. 布爾代數(shù)基礎(chǔ) 布爾代數(shù)是由喬治·布爾(George Boole)在19世紀(jì)中葉創(chuàng)立的,它是一種數(shù)學(xué)邏輯的分支,用于處理二進(jìn)制值(0和1)。布爾代數(shù)的基本運算包括AND(與)、OR
    的頭像 發(fā)表于 01-14 17:15 ?174次閱讀

    常用SQL函數(shù)及其用法

    SQL(Structured Query Language)是一種用于管理和操作關(guān)系數(shù)據(jù)庫的編程語言。SQL 提供了豐富的函數(shù)庫,用于數(shù)據(jù)檢索、數(shù)據(jù)更新、數(shù)據(jù)刪除以及數(shù)據(jù)聚合等操作。以下是一些
    的頭像 發(fā)表于 11-19 10:18 ?357次閱讀

    api驅(qū)動的云服務(wù)是什么意思?

    API驅(qū)動的云服務(wù)是指利用API技術(shù)來驅(qū)動和提供云服務(wù)的模式。在這種模式下,云服務(wù)提供商會公開一系列的API接口,允許開發(fā)者或應(yīng)用程序通過調(diào)用這些API來實現(xiàn)對云服務(wù)的訪問和
    的頭像 發(fā)表于 11-14 10:06 ?220次閱讀

    Python常用函數(shù)大全

    在 Python 世界里,有一些寶藏函數(shù)和模塊,它們可以讓你編程更輕松、代碼更高效。這篇文章將帶你一一認(rèn)識這些神器,讓你的開發(fā)生活瞬間輕松不少!
    的頭像 發(fā)表于 10-27 17:20 ?299次閱讀

    RTOS中鉤子函數(shù)的用途及用法

    在很多操作系統(tǒng)中,都存在這樣一類API函數(shù)接口:HOOK函數(shù)(也叫鉤子函數(shù))。
    的頭像 發(fā)表于 10-23 16:25 ?308次閱讀
    RTOS中鉤子<b class='flag-5'>函數(shù)</b>的用途及用法

    labview常用的基本函數(shù)

    電子發(fā)燒友網(wǎng)站提供《labview常用的基本函數(shù).pdf》資料免費下載
    發(fā)表于 10-15 17:29 ?7次下載

    鴻蒙原生應(yīng)用元服務(wù)開發(fā)-倉頡基礎(chǔ)數(shù)據(jù)類型布爾類型

    let b: Bool = false 布爾類型支持的操作 布爾類型支持的操作符包括:邏輯操作符(邏輯非!,邏輯與 &&,
    發(fā)表于 09-09 09:57

    labview中常用的字符串函數(shù)有哪些?

    在LabVIEW中,常用的字符串函數(shù)廣泛覆蓋了對字符串的各種操作,包括但不限于格式化、搜索、替換、連接、計算長度等。以下是一些常用的字符串函數(shù)
    的頭像 發(fā)表于 09-04 15:43 ?859次閱讀

    API :軟件程序間溝通的橋梁

    什么是API呢?我們又是怎樣利用API實現(xiàn)數(shù)據(jù)交付的呢? 從理論上來說,API就是應(yīng)用程序編程接口。它是一組預(yù)定義的函數(shù)或方法,用于描述軟件系統(tǒng)不同組成部分之間的交互方式。簡單來說,
    的頭像 發(fā)表于 08-27 15:54 ?278次閱讀

    簡述socket編程中的常用函數(shù)

    Socket編程是一種基于TCP/IP協(xié)議的網(wǎng)絡(luò)編程技術(shù),它允許應(yīng)用程序通過網(wǎng)絡(luò)進(jìn)行通信。在Socket編程中,有許多常用函數(shù),它們用于創(chuàng)建、配置、連接、發(fā)送和接收數(shù)據(jù)等操作。以下是對這些
    的頭像 發(fā)表于 08-16 10:49 ?430次閱讀

    tcpip_adapter_start_api 函數(shù)的功能是什么?

    , msg->mac, msg->ip_info); } 請問 1. tcpip_adapter_start_api函數(shù)的功能是什么??或者說tcpip_adapter_start中調(diào)用
    發(fā)表于 06-26 07:08

    使用components里的API函數(shù),在編譯鏈接的時候報錯的原因?

    我的芯片是esp32c3,我在自己的ble_logical.c文件里面用到了一些API函數(shù),如esp_ble_gap_start_advertising
    發(fā)表于 06-14 06:53

    函數(shù)信號發(fā)生器怎么調(diào)頻率

    函數(shù)信號發(fā)生器是一種常用的電子測試設(shè)備,它能夠產(chǎn)生各種波形、頻率和幅度的信號,廣泛應(yīng)用于科研、教學(xué)、生產(chǎn)和維修等領(lǐng)域。在使用函數(shù)信號發(fā)生器時,調(diào)整頻率是其中一個非常重要的步驟。本文將詳細(xì)介紹
    的頭像 發(fā)表于 05-20 18:23 ?1692次閱讀

    MATLAB信號處理常用函數(shù)詳解

    MATLAB是一款功能強(qiáng)大的數(shù)學(xué)軟件,尤其在信號處理領(lǐng)域,它提供了眾多的函數(shù)和工具箱,使得信號的分析、處理、仿真變得簡單而高效。本文將詳細(xì)介紹MATLAB在信號處理中常用函數(shù),并通過具體示例來闡述其應(yīng)用。
    的頭像 發(fā)表于 05-17 14:31 ?2461次閱讀

    回調(diào)函數(shù)(callback)是什么?回調(diào)函數(shù)的實現(xiàn)方法

    回調(diào)函數(shù)是一種特殊的函數(shù),它作為參數(shù)傳遞給另一個函數(shù),并在被調(diào)用函數(shù)執(zhí)行完畢后被調(diào)用。回調(diào)函數(shù)常用
    發(fā)表于 03-12 11:46 ?3055次閱讀