参考文档
- 官方文档——Maxwell help—2022R1
- 官方文档——Maxwell Scripting Guide
可以在ansys electronics desktop 软件中上方栏目中点击help可以找到文档
- Help >Maxwell Scripting Help
- Help >Maxwell PDFs >Maxwell Scripting
1.💗IronPython 运行模式
- ⭐️桌面 IronPython:这是最常用的方式,在 Ansys Electronics Desktop 内部执行脚本时,能够访问该软件的所有功能、API 和 GUI 控件。它能够直接调用软件中的对象和方法,提供丰富的功能与交互。
-⭐️独立 IronPython:这种方式更灵活,可以在没有 GUI 的情况下运行脚本,但支持的功能有限。独立模式主要支持 COM(组件对象模型)方式调用,适合于不依赖于图形界面的批处理或自动化任务。
1.1 . ❤️在桌面编写IronPython
桌面编写脚本:Tools > Open Command Window, to open the IronPython Command Window:
1.2 . ❤️在外部独立环境下编写IronPython
1️⃣运行独立IronPython
- 命令行调用:要使用独立 IronPython,需要使用特定的命令行调用 ipy64.exe,这是 IronPython 的 64 位版本。运行时必须指定脚本的完整路径。
- 位置:为了找到 ipy64.exe,你需要根据 Ansys 的安装路径及版本信息准确定位到该文件。在示例中,给出了一条具体路径:
C:\Program Files\AnsysEM\v221\Win64\common\IronPython\ipy64.exe
2️⃣设置默认程序:
- 为了方便起见,你可以将 ipy64.exe 设置为你的 Python 脚本的默认解释器,这样以后只需要双击 .py 文件就可以直接运行脚本,而不需要每次都在命令提示符中输入命令。
3️⃣创建独立脚本:
- 可以使用 Ansys Electronics Desktop 中录制的脚本作为起点。根据需要修改脚本,添加相应的模块路径,以确保所有必要的库和引用都可以找到。
- 最后,使用 ScriptEnv.Shutdown() 确保在脚本执行结束时正确关闭 Ansys 应用程序并释放资源。
2.💗示例代码
import sys
sys.path.append(r"C:\Program Files\AnsysEM\v242\Win64")# 这里需要根据自己的路径进行更改
sys.path.append(r"C:\Program Files\AnsysEM\v242\Win64\PythonFiles\DesktopPlugin")# 这里需要根据自己的路径进行更改
import ScriptEnv
ScriptEnv.Initialize("Ansoft.ElectronicsDesktop")
oDesktop.RestoreWindow()
oProject = oDesktop.NewProject()
oProject.InsertDesign("HFSS", "HFSSDesign1", "DrivenModal", "")
oDesign = oProject.SetActiveDesign("HFSSDesign1")
oEditor = oDesign.SetActiveEditor("3D Modeler")
oEditor.CreateRectangle(
[
"NAME:RectangleParameters",
"IsCovered:= ", True,
"XStart:= ", "-0.2mm",
"YStart:= ", "-3mm",
"ZStart:= ", "0mm",
"Width:= ", "0.8mm",
"Height:= ", "1.2mm",
"WhichAxis:= ", "Z"
],
[
"NAME:Attributes",
"Name:= ", "Rectangle1",
"Flags:= ", "",
"Color:= ", "(132 132 193)",
"Transparency:= ", 0,
"PartCoordinateSystem:=", "Global",
"UDMId:= ", "",
"MaterialValue:= ", "\"vacuum\"",
"SolveInside:= ", True
])
oDesign.SetDesignSettings(['NAME:Design Settings Data', 'Allow Material Override:=', True, 'Calculate Lossy Dielectrics:=', True])
oEditor.SetModelUnits(['NAME:Units Parameter', 'Units:=', 'mil', 'Rescale:=' , False ])
ScriptEnv.Shutdown()
3.💗在pycharm 里面运行示例代码
- 建立工程
- 添加IronPython2.7编译器ipy64.exe
- 建立python 文件
- 将例程复制到python文件
- 点击运行就可以了
运行结果
会自动打开Ansys 软件,然后运行相关指令,运行完ansys electronics会自动退出。
❤️保存建立的ansys项目
示例程序中的程序是没有保存项目的功能的,在示例中添加这个语句就可以实现保存
oProject.SaveAs(r"xxxx:\xxxxx\xxxxx\TestProjectName.aedt","1")
⭐️ SaveAs
SaveAs 方法需要至少两个参数,在 Ansys Electronics Desktop 的 IronPython 脚本中,SaveAs 方法的基本语法如下:
oProject.SaveAs(projectPath, doOverwrite, defaultAction, overwriteActions)
- pathName:要保存的文件路径及名称。
- doOverwrite:一个长整型值,指示是否覆盖已有文件。设置为 1 表示允许覆盖,0 表示不允许。
- defaultAction 和overwriteActions是可选参数