一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

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

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

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

Excel真的可以調(diào)用HFSS?

iIeQ_mwrfnet ? 來源:微波射頻網(wǎng) ? 作者:94巨蟹座少年 ? 2021-06-28 15:34 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

學(xué)個(gè)Antenna是以天線仿真和調(diào)試為主,理論原理為輔的干貨天線技術(shù)專欄,包括天線入門知識以及各類天線的原理簡介、仿真軟件建模、設(shè)計(jì)、調(diào)試過程及思路。如有想看到的內(nèi)容或技術(shù)問題,可以在文尾寫下留言。

摘要:

學(xué)個(gè)Antenna:HFSS腳本建模入門一文,對HFSS腳本建模進(jìn)行了入門級的介紹,不過要裝上日趨臃腫、動(dòng)輒十幾G的MATLAB軟件。幸運(yùn)的是,HFSS支持VBScript進(jìn)行二次開發(fā),因此在Excel中對HFSS進(jìn)行調(diào)用不是夢!

本文使用的軟件為AnsysEM 18.2和Excel 2013

0 1Excel vba

Microsoft Visual Basic for application,簡稱為VBA,是Visual Basic的一種宏語言,是微軟開發(fā)出來在其桌面應(yīng)用程序中執(zhí)行通用的自動(dòng)化(OLE)任務(wù)的編程語言。那這個(gè)和HFSS軟件有啥聯(lián)系么?

在HFSS軟件中順著Help文件找到HFSS Scripting(文末有HFSS官方HFSS Scripting Guide下載鏈接),打開該P(yáng)DF,在Introduction to VBScript章節(jié),我們可以獲得以下信息。

ANSYS Electronics Desktop uses theMicrosoft Visual Basic Scripting Edition (VBScript) scripting language to recordmacros. VBScript is based on theMicrosoft Visual Basic programming language

ANSYS Electronics Desktop 使用 Microsoft Visual Basic Scripting Edition (VBScript) 腳本語言來記錄宏。 VBScript 基于 Microsoft Visual Basic 編程語言

Using scripts is a fast, effective way to accomplish tasks you want to repeat.When you execute a script, the commands in the script are performed.

使用腳本是完成您想要重復(fù)的任務(wù)的一種快速、有效的方法。當(dāng)您執(zhí)行腳本時(shí),腳本中的命令就會被執(zhí)行。

You can write a script using any text editor or you can record a script fromwithin the ANSYS Electronics Desktop interface. After recording the script fromwithin ANSYS Electronics Desktop, you can thenmodify it if necessary using a text editor.

您可以使用任何文本編輯器編寫腳本,也可以從 ANSYS Electronics Desktop 界面中記錄腳本。 在 ANSYS Electronics Desktop 中記錄腳本后,如有必要,您可以使用文本編輯器對其進(jìn)行修改。

由于Excel內(nèi)置了VBA代碼編輯器,因此理論上可以用其進(jìn)行調(diào)用HFSS進(jìn)行建模。

新建一個(gè)excel文件,另存為.xlsm格式(擴(kuò)展名xlsm在打開excel文件時(shí),會自動(dòng)執(zhí)行宏代碼)。如下圖所示,即可打開VBA編輯器。

一個(gè)簡單的測試代碼如下:

Sub Hello() Dim bj As String bj = InputBox(“請輸入您的文本”, “請輸入”) MsgBox “確定按鈕被點(diǎn)擊”, vbOKOnlyEnd Sub

0 2Excel調(diào)用HFSS軟件

當(dāng)上面的步驟都順暢無阻后,我們可以進(jìn)入下一環(huán)節(jié),即在Excel vba編輯器里面編寫代碼調(diào)用HFSS軟件。首先我們要打開HFSS軟件,并保證Project Manager下為空,防止后續(xù)出現(xiàn)報(bào)錯(cuò)現(xiàn)象。

‘oAnsoftApp為VBScript提供了訪問Ansys.ElectronicsDesktop的句柄Set oAnsoftApp = CreateObject(“Ansoft.ElectronicsDesktop”)

’oDesktop用于執(zhí)行桌面級操作,包括項(xiàng)目管理。Set oDesktop = oAnsoftApp.GetAppDesktop()

‘Project對象對應(yīng)于產(chǎn)品中打開的一個(gè)項(xiàng)目。它用于操縱項(xiàng)目及其數(shù)據(jù)。 ’其數(shù)據(jù)包括變量、材料定義等。Set oProject = oDesktop.GetActiveProject()

‘oDesign對象對應(yīng)于項(xiàng)目中已存在的一個(gè)設(shè)計(jì)實(shí)例。該對象用于操縱設(shè)計(jì)及其數(shù)據(jù)。’它的數(shù)據(jù)包括變量、模塊和編輯器。Set oDesign = oProject.GetActiveDesign()

‘oEditor 對象對應(yīng)于已存在的一個(gè)編輯器,例如3D建模器、布局或原理圖編輯器?!搶ο笥糜谠诰庉嬈髦刑砑雍托薷臄?shù)據(jù)。Set oEditor = oDesign.SetActiveEditor(“3D Modeler”)

‘oModule 對象對應(yīng)設(shè)計(jì)中的一個(gè)模塊。Modules 用于處理一組相關(guān)功能。Set oModule = oDesign.GetModule(“BoundarySetup”)

當(dāng)然,看完上面的內(nèi)容可能會云里霧里,現(xiàn)在直觀地解釋下:

首先你要?jiǎng)?chuàng)建一個(gè)Ansoft.ElectronicsDesktop對象,并獲取oDesktop用于執(zhí)行桌面級操作。這就是你手動(dòng)打開HFSS軟件并獲得該軟件控制權(quán)的那一步

接著oProject和oDesign就是模擬你新建Project和Design,獲得其句柄

然后oEditor和oModule主要是獲取我們建模、設(shè)置邊界條件、求解器、建立報(bào)告等操作的句柄

紙上得來終覺淺,我們可以打開HFSS的腳本錄制功能,在錄制的代碼中來學(xué)習(xí):

’ ----------------------------------------------‘ Script Recorded by ANSYS Electronics Desktop Version 2017.2.0’ ----------------------------------------------Dim oAnsoftAppDim oDesktopDim oProjectDim oDesignDim oEditorDim oModuleSet oAnsoftApp = CreateObject(“Ansoft.ElectronicsDesktop”)Set oDesktop = oAnsoftApp.GetAppDesktop()oDesktop.RestoreWindowSet oProject = oDesktop.NewProjectoProject.InsertDesign “HFSS”, “HFSSDesign1”, “DrivenModal”, “”

從上面的代碼中,我們可以很直觀地感受到:先進(jìn)行oAnsoftApp,oDesktop,oProject,oDesign,oEditor,oModule五要素的變量定義;接著對oAnsoftApp,oDesktop配置句柄;然后利用oProject.InsertDesign插入一個(gè)“HFSSDesign1”的設(shè)計(jì)文件。

剩下的oEditor,oModule我們可以根據(jù)上面的編程邏輯進(jìn)行句柄的設(shè)置。

Set oDesign = oProject.SetActiveDesign(“HFSSDesign1”) Set oEditor = oDesign.SetActiveEditor(“3D Modeler”)

到此為止,我們就將調(diào)用HFSS需要的句柄全部掌握在手里了,后續(xù)在Excel中調(diào)用HFSS軟件指日可待。

在官方HFSS Scripting Guide的P51:Sample HFSS Script里有一段比較詳細(xì)的英文教程,建議大家先觀摩下。

0 3簡單實(shí)例演示

以上內(nèi)容都讀懂后,剩下的就是自己錄制腳本,分析代碼,學(xué)習(xí)修改代碼,封裝成function進(jìn)行調(diào)用。

這里給出本人部署好的一段代碼,可直接粘貼到Excel vba編輯器進(jìn)行復(fù)現(xiàn):

Sub Training1() Dim oAnsoftApp Dim oDesktop Dim oProject Dim oDesign Dim oEditor Dim oModule

Dim sub1_H, sub1_W, sub1_L sub1_H = 0.254: sub1_W = 20

Set oAnsoftApp = CreateObject(“Ansoft.ElectronicsDesktop”) Set oDesktop = oAnsoftApp.GetAppDesktop() Set oProject = oDesktop.NewProject oProject.InsertDesign “HFSS”, “Test”, “DrivenModal”, “” Set oDesign = oProject.SetActiveDesign(“Test”) Set oEditor = oDesign.SetActiveEditor(“3D Modeler”)

‘Variable Define InsertVariable oDesign, “sub1_H”, CStr(sub1_H), “mm” InsertVariable oDesign, “sub1_W”, CStr(sub1_W), “mm” InsertVariable oDesign, “sub1_L”, “2 * sub1_W”, “”

’Create the Substrate CreateBox oEditor, “Sub1”, Array(“-sub1_W/2”, “0mm”, “0mm”), _ Array(“sub1_W”, “sub1_L”, “-sub1_H”), “vacuum”End Sub

Function InsertVariable(oDesign, Name, value, Unit) oDesign.ChangeProperty _ Array(“NAME:AllTabs”, _ Array(“NAME:LocalVariableTab”, _ Array(“NAME:PropServers”, _ “LocalVariables”), _ Array(“NAME:NewProps”, _ Array(“NAME:” + Name, _ “PropType:=”, “VariableProp”, “UserDef:=”, True, _ “Value:=”, value + Unit))))End Function‘模型建立部分Function CreateBox(oEditor, Boxname, S1, D1, material) oEditor.CreateBox Array(“NAME:BoxParameters”, “XPosition:=”, S1(0), “YPosition:=”, _ S1(1), “ZPosition:=”, S1(2), “XSize:=”, D1(0), “YSize:=”, D1(1), “ZSize:=”, _ D1(2)), Array(“NAME:Attributes”, “Name:=”, Boxname, “Flags:=”, “”, “Color:=”, _ “(34 139 34)”, “Transparency:=”, 0, “PartCoordinateSystem:=”, “Global”, “UDMId:=”, _ “”, “MaterialValue:=”, “” & Chr(34) & material & Chr(34) & “”, “SurfaceMaterialValue:=”, _ “” & Chr(34) & “” & Chr(34) & “”, “SolveInside:=”, True, “IsMaterialEditable:=”, _ True, “UseMaterialAppearance:=”, False, “IsLightweight:=”, False)End Function

以上代碼的編寫還是要有一定vba編程的語法基礎(chǔ),難點(diǎn)在于根據(jù)錄制的腳本代碼找規(guī)律,將其封裝為普適的Function,便于開發(fā)者自行調(diào)用。

編輯:jq

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

    關(guān)注

    4

    文章

    6686

    瀏覽量

    105770
  • VBA
    VBA
    +關(guān)注

    關(guān)注

    0

    文章

    19

    瀏覽量

    12078
  • 代碼
    +關(guān)注

    關(guān)注

    30

    文章

    4900

    瀏覽量

    70750
  • hfss
    +關(guān)注

    關(guān)注

    32

    文章

    167

    瀏覽量

    50971
  • 求解器
    +關(guān)注

    關(guān)注

    0

    文章

    81

    瀏覽量

    4758

原文標(biāo)題:Excel也能調(diào)用HFSS?

文章出處:【微信號:mwrfnet,微信公眾號:微波射頻網(wǎng)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點(diǎn)推薦

    樹莓派用戶必備的五大微軟Excel替代軟件!

    微軟Excel通常是處理XLS、XLSX或CSV等電子表格時(shí)首先考慮的工具。然而,由于它對ARM處理器和Linux操作系統(tǒng)缺乏原生支持,在樹莓派上使用微軟Excel頗具挑戰(zhàn)性。但這并不意味著沒有好
    的頭像 發(fā)表于 07-17 17:17 ?167次閱讀
    樹莓派用戶必備的五大微軟<b class='flag-5'>Excel</b>替代軟件!

    使用Word/Excel管理需求的10個(gè)痛點(diǎn)及解決方案Perforce ALM

    還在用Word/Excel做需求管理?10個(gè)“翻車信號”,都是小伙伴們踩過的坑~來看看你踩過哪些?是不是也該升級到更專業(yè)的ALM工具了~
    的頭像 發(fā)表于 07-10 15:59 ?139次閱讀
    使用Word/<b class='flag-5'>Excel</b>管理需求的10個(gè)痛點(diǎn)及解決方案Perforce ALM

    如何導(dǎo)出Excel文件 -- excel_hm介紹 ##三方SDK##

    前陣子在和朋友討論,記賬類的app已經(jīng)那么普遍了,如果想要做點(diǎn)不一樣的還能加什么功能。從我自己的角度出發(fā),我覺得完全可以加一個(gè)導(dǎo)出Excel嘛。但是目前原生鴻蒙并沒有導(dǎo)出Excel的方法,常規(guī)的做法
    發(fā)表于 06-30 17:57

    求助,做一個(gè)波形圖顯示控件,要求調(diào)用excel表里面存的時(shí)間作為波形圖的x值。

    我在做畢設(shè)的時(shí)候,要讀取excel表格里面的數(shù)值,然后做到最后一步就是調(diào)用excel表里面的時(shí)間,把那個(gè)時(shí)間作為X軸的值。 現(xiàn)在就是能夠索引并讀取出來了,但是每次索引后,波形圖就不顯示上一個(gè)
    發(fā)表于 05-16 22:16

    HFSS 自動(dòng)化建模工具

    因工作需求,自己寫的HFSS參數(shù)自動(dòng)化建模工具,目前只實(shí)現(xiàn)了常用的四種模型,可定制化,如需可聯(lián)系 qq:1300038043 附件下載鏈接:https://pan.baidu.com/s/1TVeTTFiJw-pxSyT1AT8IQA 提取碼: kxup
    發(fā)表于 02-27 17:44

    Spire.Cloud.Excel云端Excel文檔處理SDK

    Spire.Cloud.Excel 是一款專業(yè)的云端 Excel 文檔處理 SDK,開發(fā)人員可調(diào)用 SDK 在云端創(chuàng)建、讀取、編輯、轉(zhuǎn)換、及保存 Excel 文檔。作為一款完全獨(dú)立的
    的頭像 發(fā)表于 02-13 11:03 ?460次閱讀
    Spire.Cloud.<b class='flag-5'>Excel</b>云端<b class='flag-5'>Excel</b>文檔處理SDK

    使用插件將Excel連接到MySQL/MariaDB

    可以快速地將數(shù)據(jù)從 MySQL 或 MariaDB 加載到 Excel,立即從數(shù)據(jù)庫刷新 Excel 工作簿中的數(shù)據(jù),編輯這些數(shù)據(jù),并將它們保存回 MySQL。之后您能夠像使用的 Excel
    的頭像 發(fā)表于 01-20 12:38 ?623次閱讀
    使用插件將<b class='flag-5'>Excel</b>連接到MySQL/MariaDB

    適用于Oracle的Devart Excel插件:輕松管理數(shù)據(jù)

    使用加載項(xiàng)將 Excel 連接到 Oracle Microsoft Excel 插件可以連接到 Oracle,能夠快速地將數(shù)據(jù)從 Oracle 加載到 Excel,且立即從數(shù)據(jù)庫刷新
    的頭像 發(fā)表于 01-14 11:11 ?528次閱讀
    適用于Oracle的Devart <b class='flag-5'>Excel</b>插件:輕松管理數(shù)據(jù)

    Spire.XLS for C++組件說明

    Spire.XLS for C++ 是一款專業(yè)的 C++ Excel 組件,可以用在各種 C++ 框架和應(yīng)用程序中。Spire.XLS for C++ 提供了一個(gè)對象模型 Excel API,使
    的頭像 發(fā)表于 01-14 09:40 ?629次閱讀
    Spire.XLS for C++組件說明

    Devart Excel的附加組件

    Excel 的全部功能用于超過 25 種云應(yīng)用程序和數(shù)據(jù)庫。 - 將 Microsoft Excel 連接到任何所需數(shù)據(jù)源 - 同時(shí)處理多個(gè)數(shù)據(jù)源 - 使用 SQL 或集成的可視化查詢生成器檢索
    的頭像 發(fā)表于 01-07 11:40 ?468次閱讀

    如何在Excel中靈活運(yùn)用SUMIF函數(shù)

    Excel中, SUMIF 函數(shù)是一個(gè)非常有用的工具,它可以根據(jù)指定的條件對一系列單元格進(jìn)行求和。 1. 基本用法 SUMIF 函數(shù)的基本語法是: SUMIF(range, criteria
    的頭像 發(fā)表于 10-30 09:53 ?1286次閱讀

    傳統(tǒng)電子表格Excel和Teable多維表格數(shù)據(jù)庫的區(qū)別?

    傳統(tǒng)Excel是一款功能強(qiáng)大的電子表格軟件,它的數(shù)據(jù)處理 分析以及圖表制作等功能給工作帶來了很多便利,但也有自身的局限性,本文介紹的多維表格Teable數(shù)據(jù)庫將在傳統(tǒng)電子表格Excel的特性上,增強(qiáng)數(shù)據(jù)處理能力,提升工作效率.
    的頭像 發(fā)表于 10-23 16:44 ?1093次閱讀

    請問studio中可以像裸機(jī)一樣調(diào)用定時(shí)器中斷嗎?

    studio中可以像裸機(jī)一樣調(diào)用定時(shí)器中斷嗎?我調(diào)用后顯示出錯(cuò)了,使用hal庫還需要添加什么嗎
    發(fā)表于 09-13 08:18

    tina仿真的噪聲分析,可以分析電流噪聲嗎?

    tina仿真的噪聲分析,可以分析電流噪聲嗎
    發(fā)表于 08-06 08:23

    記一次JSF異步調(diào)用引起的接口可用率降低

    前言 本文記錄了由于JSF異步調(diào)用超時(shí)引起的接口可用率降低問題的排查過程,主要介紹了排查思路和JSF異步調(diào)用的流程,希望可以幫助大家了解JSF的異步調(diào)用原理以及提供一些問題排查思路。本
    的頭像 發(fā)表于 08-05 13:40 ?521次閱讀
    記一次JSF異步<b class='flag-5'>調(diào)用</b>引起的接口可用率降低