找回密码
 立即注册

QQ登录

只需一步,快速开始

手机号码,快捷登录

手机号码,快捷登录

Flux电机有限元分析教程西莫团购入口 | 奖励入口当当网购物入口 | 奖励入口欢迎使用!西莫论坛App开放下载Motor-CAD电机多物理域设计教材购买入口 | 奖励入口
★新会员论坛须知★《西莫电机技术》第39期发售火热进行中Flux电机电磁阀有限元分析教程团购入口 | 奖励入口论坛微信公众平台欢迎入驻
西莫电机及相关产品供需交流群开放邀请★ 论坛VIP会员申请 ★Motor-CAD.MANATEE电磁热振动噪声教程 | 奖励入口西莫团队欢迎您的加盟!
宣传推广合作请联系QQ:25941174西莫电机论坛微信群正式开放Flux变压器与电抗器有限元分析团购入口 | 奖励入口西莫电机论坛技术版区QQ群汇总
查看: 3173|回复: 20

[原创] python 控制 ansys maxwell - 1 開啟軟體 + 新增project

[复制链接]

该用户从未签到

发表于 2020-2-7 13:13 | 显示全部楼层 |阅读模式 来自: 中国台湾

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
## 環境
- windows VM in mac
- Ansys 17.2
- python 3.7.3

## 目標
使用python script,執行後自動開啟maxwell,且新增project

## win32com
首先要完成的是讓python開啟maxwell,參考了網路上的一些資訊,使用win32com這個module是最方便的,因此先跑`pip install pywin32`裝好module,使用
```
from win32com import client

oAnsoftApp = client.Dispatch("Ansoft.ElectronicDesktop")
```
就可以用python直接開啟maxwell

## 新增project
maxwell的script是一個OOP的概念,由很多層class組成,每個class中有許多function可用,繼承圖可參考官方的API文件,新增project很簡單,使用下列code

```
oDesktop = oAnsoftApp.GetAppDesktop()
oProject = oDesktop.NewObject()
```

看這篇文章的朋友,有興趣的話也可以嘗試一下,需要討論的話也可以留言,也歡迎一起討論
西莫电机论坛微信公众平台正式上线!★详情请点击★ 西莫电机论坛会员交流专用群欢迎您西莫电机论坛加群请注明论坛用户名及所从事专业,否则不予通过

签到天数: 47 天

连续签到: 8 天

[LV.5]常住居民I

发表于 2020-3-13 18:56 | 显示全部楼层 来自: 中国河北石家庄
我用vbs脚本可以实现,但是没用过python。我跟相关人士咨询说maxwell只支持ironpython,你用python3.7.3可以正常运行吗?
西莫电机论坛微信公众平台正式上线!★详情请点击★ 西莫电机论坛会员交流专用群欢迎您西莫电机论坛加群请注明论坛用户名及所从事专业,否则不予通过
回复

使用道具 举报

该用户从未签到

 楼主| 发表于 2020-3-14 14:54 | 显示全部楼层 来自: 中国台湾
大熊弟 发表于 2020-3-13 18:56
我用vbs脚本可以实现,但是没用过python。我跟相关人士咨询说maxwell只支持ironpython,你用python3.7.3可 ...

要透過win32com, 可以的
西莫电机论坛微信公众平台正式上线!★详情请点击★ 西莫电机论坛会员交流专用群欢迎您西莫电机论坛加群请注明论坛用户名及所从事专业,否则不予通过
回复

使用道具 举报

签到天数: 47 天

连续签到: 8 天

[LV.5]常住居民I

发表于 2020-3-14 17:44 | 显示全部楼层 来自: 中国河北石家庄
Mark_MC506 发表于 2020-3-14 14:54
要透過win32com, 可以的

那您能详细的说明一下吗
西莫电机论坛微信公众平台正式上线!★详情请点击★ 西莫电机论坛会员交流专用群欢迎您西莫电机论坛加群请注明论坛用户名及所从事专业,否则不予通过
回复

使用道具 举报

该用户从未签到

发表于 2020-3-14 19:56 | 显示全部楼层 来自: 中国山东淄博

学习学习。谢谢楼主!!
西莫电机论坛微信公众平台正式上线!★详情请点击★ 西莫电机论坛会员交流专用群欢迎您西莫电机论坛加群请注明论坛用户名及所从事专业,否则不予通过
回复

使用道具 举报

该用户从未签到

 楼主| 发表于 2020-8-22 23:44 | 显示全部楼层 来自: 中国台湾
本帖最后由 Mark_MC506 于 2020-8-22 23:49 编辑
大熊弟 发表于 2020-3-14 17:44
那您能详细的说明一下吗


win32com.client.Dispatch()是利用 微軟 提供的一個 IDispatch 的自動化介面,接收軟體的 ProgID為參數,來操作windows軟體。

可以在 powershell打上 `Get-ChildItem HKLM:\Software\Classes -ErrorAction SilentlyContinue | Where-Object {$_.PSChildName -match '^\w+\.\w+$' -and (Test-Path -Path "$($_.PSPath)\CLSID")} | Select-Object -ExpandProperty PSChildName` 找看看有沒有,如果太多的話可以在最後面加上 `| grep An` 來縮減結果。
西莫电机论坛微信公众平台正式上线!★详情请点击★ 西莫电机论坛会员交流专用群欢迎您西莫电机论坛加群请注明论坛用户名及所从事专业,否则不予通过
回复

使用道具 举报

签到天数: 47 天

连续签到: 8 天

[LV.5]常住居民I

发表于 2020-8-30 08:19 | 显示全部楼层 来自: 中国贵州贵阳
Mark_MC506 发表于 2020-8-22 23:44
win32com.client.Dispatch()是利用 微軟 提供的一個 IDispatch 的自動化介面,接收軟體的 ProgID為參數 ...

好的,我试试,谢谢
西莫电机论坛微信公众平台正式上线!★详情请点击★ 西莫电机论坛会员交流专用群欢迎您西莫电机论坛加群请注明论坛用户名及所从事专业,否则不予通过
回复

使用道具 举报

该用户从未签到

发表于 2020-11-9 22:35 | 显示全部楼层 来自: 中国江苏南京
兄弟,我试了不行啊
E]{PS}~JYV~U6Y)XDA$5}_Q.png
西莫电机论坛微信公众平台正式上线!★详情请点击★ 西莫电机论坛会员交流专用群欢迎您西莫电机论坛加群请注明论坛用户名及所从事专业,否则不予通过
回复

使用道具 举报

该用户从未签到

发表于 2020-12-25 13:59 | 显示全部楼层 来自: 中国上海
最近刚好在二次开发Maxwell,正版软件,版本为AnsysEM19.5,有很多种方法打开Maxwell,一种为dispatch,另一种为命令行执行。
代码如下:
from win32com import client
oAnsoftApp = client.Dispatch("Ansoft.ElectronicsDesktop")
oDesktop = oAnsoftApp.GetAppDesktop()
oProject = oDesktop.NewProject()
oDesktop.RestoreWindow()
###新建2D瞬态分析
oProject.InsertDesign("Maxwell 2D", "Maxwell2DDesign3", "Transient", "")

##工程另存为
oProject.SaveAs("D:/projects/project1.aedt", true)

##关闭工程
oDesktop.CloseProject("project_name")
##关闭软件
oDesktop.QuitApplication()

西莫电机论坛微信公众平台正式上线!★详情请点击★ 西莫电机论坛会员交流专用群欢迎您西莫电机论坛加群请注明论坛用户名及所从事专业,否则不予通过
回复

使用道具 举报

该用户从未签到

发表于 2020-12-25 14:00 | 显示全部楼层 来自: 中国上海
dtbdtb123 发表于 2020-11-9 22:35
兄弟,我试了不行啊

代码已贴出,亲测可用!
西莫电机论坛微信公众平台正式上线!★详情请点击★ 西莫电机论坛会员交流专用群欢迎您西莫电机论坛加群请注明论坛用户名及所从事专业,否则不予通过
回复

使用道具 举报

该用户从未签到

发表于 2021-1-9 19:15 | 显示全部楼层 来自: 中国浙江杭州
您好,请问一下官方python的API文档在哪里能下载?
西莫电机论坛微信公众平台正式上线!★详情请点击★ 西莫电机论坛会员交流专用群欢迎您西莫电机论坛加群请注明论坛用户名及所从事专业,否则不予通过
回复

使用道具 举报

该用户从未签到

 楼主| 发表于 2021-1-10 16:47 | 显示全部楼层 来自: 中国台湾
不好意思 Electronic 後面要加s :  oAnsoftApp = client.Dispatch("Ansoft.ElectronicsDesktop") 才ˋ正確
西莫电机论坛微信公众平台正式上线!★详情请点击★ 西莫电机论坛会员交流专用群欢迎您西莫电机论坛加群请注明论坛用户名及所从事专业,否则不予通过
回复

使用道具 举报

该用户从未签到

发表于 2021-1-22 11:49 | 显示全部楼层 来自: 中国安徽马鞍山
Billy_Smile 发表于 2020-12-25 14:00
代码已贴出,亲测可用!

好的,好兄弟,谢谢,我去试试。
西莫电机论坛微信公众平台正式上线!★详情请点击★ 西莫电机论坛会员交流专用群欢迎您西莫电机论坛加群请注明论坛用户名及所从事专业,否则不予通过
回复

使用道具 举报

该用户从未签到

发表于 2021-1-22 11:53 | 显示全部楼层 来自: 中国安徽马鞍山
Mark_MC506 发表于 2021-1-10 16:47
不好意思 Electronic 後面要加s :  oAnsoftApp = client.Dispatch("Ansoft.ElectronicsDesktop") 才ˋ正確

好的,谢谢兄弟纠正。
西莫电机论坛微信公众平台正式上线!★详情请点击★ 西莫电机论坛会员交流专用群欢迎您西莫电机论坛加群请注明论坛用户名及所从事专业,否则不予通过
回复

使用道具 举报

签到天数: 9 天

连续签到: 1 天

[LV.3]偶尔看看II

发表于 2021-3-20 17:46 | 显示全部楼层 来自: 中国黑龙江哈尔滨
不需要指定maxwell 的系统安装路径吗
西莫电机论坛微信公众平台正式上线!★详情请点击★ 西莫电机论坛会员交流专用群欢迎您西莫电机论坛加群请注明论坛用户名及所从事专业,否则不予通过
回复

使用道具 举报

签到天数: 36 天

连续签到: 1 天

[LV.5]常住居民I

发表于 2021-4-17 10:50 | 显示全部楼层 来自: 中国江西宜春
有开发文档嘛.......
西莫电机论坛微信公众平台正式上线!★详情请点击★ 西莫电机论坛会员交流专用群欢迎您西莫电机论坛加群请注明论坛用户名及所从事专业,否则不予通过
回复

使用道具 举报

该用户从未签到

发表于 2021-4-20 19:27 | 显示全部楼层 来自: 中国河南焦作
请教一下楼主能否用 python实现 maxwell 中 select objects by material 的功能?
如下图所示
1.jpg

我用Record Script 功能尝试录制这个脚本,但是发现没办法记录这个操作

2.jpg

大佬能否提供一些用python实现该功能的思路呢
西莫电机论坛微信公众平台正式上线!★详情请点击★ 西莫电机论坛会员交流专用群欢迎您西莫电机论坛加群请注明论坛用户名及所从事专业,否则不予通过
回复

使用道具 举报

该用户从未签到

发表于 2021-7-15 09:44 | 显示全部楼层 来自: 中国上海
MADANO 发表于 2021-4-20 19:27
请教一下楼主能否用 python实现 maxwell 中 select objects by material 的功能?
如下图所示

oProject = oDesktop.SetActiveProject("Project Name")
oDesign = oProject.SetActiveDesign("Design Name")
oEditor = oDesign.SetActiveEditor("3D Modeler")

##获得材料为vacuum的所有object名字
objNames = oEditor.GetObjectsByMaterial("vacuum")

之后你可以遍历所有object来改变property

虽然我不知道你这样做的目的,但大致的思路是这个样子

西莫电机论坛微信公众平台正式上线!★详情请点击★ 西莫电机论坛会员交流专用群欢迎您西莫电机论坛加群请注明论坛用户名及所从事专业,否则不予通过
回复

使用道具 举报

该用户从未签到

发表于 2021-8-24 18:04 | 显示全部楼层 来自: 中国河南焦作
Billy_Smile 发表于 2021-7-15 09:44
oProject = oDesktop.SetActiveProject("Project Name")
oDesign = oProject.SetActiveDesign("Design N ...

好的,多谢啦em825
西莫电机论坛微信公众平台正式上线!★详情请点击★ 西莫电机论坛会员交流专用群欢迎您西莫电机论坛加群请注明论坛用户名及所从事专业,否则不予通过
回复

使用道具 举报

该用户从未签到

发表于 2021-10-25 11:48 | 显示全部楼层 来自: 中国江苏苏州
您好!
请问怎么能使用python在maxwell中设置绕组材料和激励呢?
西莫电机论坛微信公众平台正式上线!★详情请点击★ 西莫电机论坛会员交流专用群欢迎您西莫电机论坛加群请注明论坛用户名及所从事专业,否则不予通过
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

西莫电机论坛微信公众平台欢迎您的关注!

QQ|Archiver|手机版|小黑屋|西莫电机圈 ( 浙ICP备10025899号-3|浙公网安备:33028202000436号 )

GMT+8, 2024-12-22 22:23 , Processed in 0.078877 second(s), 25 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表