本文是对HFSS Scripting Guide文档中ANSYS Electronics Desktop and VBScript部分的理解性翻译,如有错误,欢迎大佬们批评指正,感谢!!!
1.1ANSYS Electronics Desktop脚本变量概述
当你编写ANSYS Electronics Desktop脚本时,脚本的开头有一些标准命令,如下图所示。图表中的命令旨在定义脚本中 ANSYS Electronics Desktop 使用的变量并为变量赋值。变量用于以下层次结构。
首先描述命令,紧跟着是例子。
①oAnsoftApp
oAnsoftApp 对象为 VBScript 提供了访问 Ansoft.ElectronicsDesktop 产品的接口。访问此对象的一个示例是:
Set oAnsoftApp = CreateObject("Ansoft.ElectronicsDesktop")
②oDesktop
oDesktop 对象用于执行桌面级操作,包括项目管理。访问此对象的一个示例是:
Set oDesktop = oAnsoftApp.GetAppDesktop()
③oProject
oProject 对象对应于产品中打开的一个项目。 它用于操作项目及其数据。 其数据包括变量、材料定义和一项或多项设计。访问此对象的一个示例是:
Set oProject = oDesktop.GetActiveProject()
④oDesign
oDesign 对象对应于项目中的一个设计实例。 该对象用于操作设计及其数据。 它的数据包括变量、模块和编辑器。访问此对象的一个示例是:
Set oDesign = oProject.GetActiveDesign()
⑤oEditor
oEditor 对象对应于一个编辑器,例如 3D 建模器、布局或原理图编辑器。 该对象用于在编辑器中添加和修改数据。访问此对象的一个示例是:
Set oEditor = oDesign.SetActiveEditor("3D Modeler")
访问此对象的布局示例是:
Set oEditor = oDesign.SetActiveEditor("Layout")
Ansoft.ElectronicsDesktop 产品脚本支持以下编辑器:
编辑器 | 脚本中名字 |
3D Modeler Editor | "3D Modeler" |
Reporter Editor | 脚本中没有Reporter编辑器,相反,Reporter编辑器命令由 ANSYS Electronics Desktop 设计对象 oDesign 执行。 |
⑥oModule
oModule 对象对应于设计中的一个模块。 模块用于处理一组相关的功能。访问此对象的一个示例是:
Set oModule = oDesign.GetModule("BoundarySetup")
软件脚本支持以下模块:
模块 | 脚本中的名字 |
Boundary/Excitations/Nets Module 对应于工程树中的Boundaries、Excitations或Nets分支 | "BoundarySetup" |
Mesh Operations Module 对应于工程树中的Mesh Operations分支 | "MeshSetup" |
Analysis Module 对应于工程树中的Analysis分支 | "AnalysisSetup" |
Optimetrics Module 对应于工程树中的Optimetrics分支 | "Optimetrics" |
Solutions Module 对应Solution Data对话框中的操作,点击Results--> | "Solutions" |
Field Overlays Module 对应于工程树中的Field Overlays分支 | "FieldsReporter" |
Radiation Module 对应于工程树中的Radiation分支 | "RadField" |
Reduce Matrix Module 对应于工程树中的Reduce Matrix分支 | "ReduceMatrix" |
1.2HFSS、Layout Editor和Q3D Extractor脚本的例子如下:
①HFSS Script
Dim oAnsoftApp
Dim oDesktop
Dim oProject
Dim oDesign
Dim oEditor
Dim oModule
Set oAnsoftApp = CreateObject("Ansoft.ElectronicsDesktop")
Set oDesktop = oAnsoftApp.GetAppDesktop()
Set oProject = oDesktop.SetActiveProject("Project1")
Set oDesign = oProject.SetActiveDesign("HFSSDesign1")
Set oEditor = oDesign.SetActiveEditor("3D Modeler")
Set oModule = oDesign.GetModule("BoundarySetup")
②HFSS Layout Editor Script
Dim oAnsoftApp
Dim oDesktop
Dim oProject
Dim oDesign
Dim oEditor
Dim oModule
Set oAnsoftApp = CreateObject("Ansoft.ElectronicsDesktop")
Set oDesktop = oAnsoftApp.GetAppDesktop()
oDesktop.RestoreWindow
Set oProject = oDesktop.SetActiveProject("Project1")
oProject.InsertDesign "HFSS3D", "HFSS3D1", _
"C:\testinstall\HFSS\syslib\PCB - SingleSided.asty", ""
Set oDesign = oProject.SetActiveDesign("HFSS3D1")
Set oEditor = oDesign.SetActiveEditor("Layout")
③Q3D Extractor Script
Dim oAnsoftApp
Dim oDesktop
Dim oProject
Dim oDesign
Dim oEditor
Dim oModule
Set oAnsoftApp = CreateObject("Ansoft.ElectronicsDesktop")
Set oDesktop = oAnsoftApp.GetAppDesktop()
Set oProject = oDesktop.SetActiveProject("")
Set oDesign = oProject.SetActiveDesign("")
Set oModule = oDesign.GetModule("Solutions")
以上几行定义了脚本使用的变量并为变量赋值。