西莫电机圈

 找回密码
 立即注册

QQ登录

只需一步,快速开始

手机号码,快捷登录

手机号码,快捷登录

查看: 1650|回复: 10

[求助] python编写ansys maxwell中脚本 画电机转子画弧画线程序语句

[复制链接]

签到天数: 12 天

连续签到: 2 天

[LV.3]偶尔看看II

发表于 2019-12-17 16:50 | 显示全部楼层 |阅读模式
10西莫币

```
#绘制转子外轮廓
def _rotor(self, funcLib, OD, YD, Le, Poles, NA, NOA1, NOA2, ND, NFL1,NFL2,NFL3):               
                thePointArray = []
                #pp = Poles/2
                point0_x = 0.0
                point0_y = 0.5*OD
               
                point1_x = 0.5*OD*sin(pi*((NA-NOA1)/180.0)/Poles/2.0)
                point1_y = 0.5*OD*cos(pi*((NA-NOA1)/180.0)/Poles/2.0)

                point2_x = 0.5*OD*sin(pi*((NA-NOA1)/180.0)/Poles)
                point2_y = 0.5*OD*cos(pi*((NA-NOA1)/180.0)/Poles)
               
                point3_x = 0.5*(OD-2.0*ND)*sin(pi*(NA/180.0)/Poles)
                point3_y = 0.5*(OD-2.0*ND)*cos(pi*(NA/180.0)/Poles)
               
                point4_x = 0.5*OD*sin(pi*((NA+NOA2)/180.0)/Poles)
                point4_y = 0.5*OD*cos(pi*((NA+NOA2)/180.0)/Poles)       
               
                point5_x = 0.5*OD*sin((pi*((NA+NOA2)/180.0)/Poles+pi/Poles)/2.0)
                point5_y = 0.5*OD*cos((pi*((NA+NOA2)/180.0)/Poles+pi/Poles)/2.0)       

                point6_x = 0.5*OD*sin(pi/Poles)
                point6_y = 0.5*OD*cos(pi/Poles)
       
                point7_x = 0.5*YD*sin(pi/Poles)
                point7_y = 0.5*YD*cos(pi/Poles)       
               
                point8_x = 0.5*YD*sin(pi/Poles/2.0)
                point8_y = 0.5*YD*cos(pi/Poles/2.0)       
               
                point9_x = 0.0
                point9_y = 0.5*YD       
                #生成点阵列
                thePointArray = []
                thePointArray.append(UDPPosition(point0_x,point0_y,0.0))
                thePointArray.append(UDPPosition(point1_x,point1_y,0.0))
                thePointArray.append(UDPPosition(point2_x,point2_y,0.0))
                thePointArray.append(UDPPosition(point3_x,point3_y,0.0))
                thePointArray.append(UDPPosition(point4_x,point4_y,0.0))
                thePointArray.append(UDPPosition(point5_x,point5_y,0.0))               
                thePointArray.append(UDPPosition(point6_x,point6_y,0.0))
                thePointArray.append(UDPPosition(point7_x,point7_y,0.0))
                thePointArray.append(UDPPosition(point8_x,point8_y,0.0))
                thePointArray.append(UDPPosition(point9_x,point9_y,0.0))
                thePointArray.append(UDPPosition(point0_x,point0_y,0.0))       
                #把点连起来,生成线阵列
                theSegArray = []
                theSegDefinition = UDPPolylineSegmentDefinition(PolylineSegmentType.ArcSegment,0,0,0.0,UDPPosition(0,0,0),CoordinateSystemPlane.XYPlane)
                theSegArray.append(theSegDefinition)
                theSegDefinition = UDPPolylineSegmentDefinition(PolylineSegmentType.LineSegment,2,0,0.0,UDPPosition(0,0,0),CoordinateSystemPlane.XYPlane)
                theSegArray.append(theSegDefinition)
                theSegDefinition = UDPPolylineSegmentDefinition(PolylineSegmentType.LineSegment,3,0,0.0,UDPPosition(0,0,0),CoordinateSystemPlane.XYPlane)
                theSegArray.append(theSegDefinition)
                theSegDefinition = UDPPolylineSegmentDefinition(PolylineSegmentType.ArcSegment,4,0,0.0,UDPPosition(0,0,0),CoordinateSystemPlane.XYPlane)
                theSegArray.append(theSegDefinition)
                theSegDefinition = UDPPolylineSegmentDefinition(PolylineSegmentType.LineSegment,6,0,0.0,UDPPosition(0,0,0),CoordinateSystemPlane.XYPlane)
                theSegArray.append(theSegDefinition)
                theSegDefinition = UDPPolylineSegmentDefinition(PolylineSegmentType.ArcSegment,7,0,0.0,UDPPosition(0,0,0),CoordinateSystemPlane.XYPlane)
                theSegArray.append(theSegDefinition)
                theSegDefinition = UDPPolylineSegmentDefinition(PolylineSegmentType.LineSegment,9,0,0.0,UDPPosition(0,0,0),CoordinateSystemPlane.XYPlane)
                theSegArray.append(theSegDefinition)
```
程序大概意思明白,是先生成点阵列,x y坐标表示出来,但不明白连线的语句是什么意思,如:
theSegDefinition = UDPPolylineSegmentDefinition(PolylineSegmentType.ArcSegment,0,0,0.0,UDPPosition(0,0,0),CoordinateSystemPlane.XYPlane)



画的是蓝线圈出的轮廓,的确是七个点连起来,用到的是point0,2,3,4,6,7,9

这是画弧的语句,其中0,0,0.0第一个0是point0的意思的话,后两个0,0.0是什么意思呢,UDPPosition(0,0,0)代表什么呢,而且画弧需要三个点吧,这三个点分别是什么呢
微信图片_20191217160102.png

最佳答案

查看完整内容

你这应该去class外面找找UDPPosition函数和UDPPolylineSegmentDefinition函数的定义啊
西莫电机论坛微信公众平台正式上线!★详情请点击★ 西莫电机论坛会员交流专用群欢迎您西莫电机论坛加群请注明论坛用户名及所从事专业,否则不予通过

该用户从未签到

发表于 2019-12-17 16:50 | 显示全部楼层
你这应该去class外面找找UDPPosition函数和UDPPolylineSegmentDefinition函数的定义啊
西莫电机论坛微信公众平台正式上线!★详情请点击★ 西莫电机论坛会员交流专用群欢迎您西莫电机论坛加群请注明论坛用户名及所从事专业,否则不予通过
回复

使用道具 举报

签到天数: 36 天

连续签到: 1 天

[LV.5]常住居民I

发表于 2019-12-17 19:02 | 显示全部楼层
你这是打算写py脚本来自动画模型么
西莫电机论坛微信公众平台正式上线!★详情请点击★ 西莫电机论坛会员交流专用群欢迎您西莫电机论坛加群请注明论坛用户名及所从事专业,否则不予通过
回复

使用道具 举报

签到天数: 12 天

连续签到: 2 天

[LV.3]偶尔看看II

 楼主| 发表于 2019-12-18 15:36 | 显示全部楼层
大熊弟 发表于 2019-12-17 19:02
你这是打算写py脚本来自动画模型么

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

使用道具 举报

签到天数: 12 天

连续签到: 2 天

[LV.3]偶尔看看II

 楼主| 发表于 2019-12-18 15:44 | 显示全部楼层
herrwitz 发表于 2019-12-18 05:01
你这应该去class外面找找UDPPosition函数和UDPPolylineSegmentDefinition函数的定义啊

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

使用道具 举报

该用户从未签到

发表于 2019-12-18 23:54 | 显示全部楼层
纽特滴嗅嗅 发表于 2019-12-18 15:44
嗯嗯 找了 但是没有定义

这种全局函数有可能是以库的形式import进来的,看看import的库里面有没有定义
西莫电机论坛微信公众平台正式上线!★详情请点击★ 西莫电机论坛会员交流专用群欢迎您西莫电机论坛加群请注明论坛用户名及所从事专业,否则不予通过
回复

使用道具 举报

签到天数: 36 天

连续签到: 1 天

[LV.5]常住居民I

发表于 2019-12-19 10:15 | 显示全部楼层
纽特滴嗅嗅 发表于 2019-12-18 15:36
是的是的 这是maxwell脚本的一个示例

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

使用道具 举报

签到天数: 12 天

连续签到: 2 天

[LV.3]偶尔看看II

 楼主| 发表于 2019-12-19 10:59 来自手机 | 显示全部楼层
大熊弟 发表于 2019-12-19 10:15
用脚本画模型好用么

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

使用道具 举报

签到天数: 12 天

连续签到: 2 天

[LV.3]偶尔看看II

 楼主| 发表于 2019-12-19 15:24 | 显示全部楼层
herrwitz 发表于 2019-12-18 23:54
这种全局函数有可能是以库的形式import进来的,看看import的库里面有没有定义

找到了  在maxwell帮助文档里
theSegDefinition = UDPPolylineSegmentDefinition(PolylineSegmentType.ArcSegment,0,0,0.0,UDPPosition(0,0,0),CoordinateSystemPlane.XYPlane)
但这个语句里画弧没看出来怎么确定的角度或者对应的半径,好迷
微信图片_20191219152017.png
西莫电机论坛微信公众平台正式上线!★详情请点击★ 西莫电机论坛会员交流专用群欢迎您西莫电机论坛加群请注明论坛用户名及所从事专业,否则不予通过
回复

使用道具 举报

签到天数: 36 天

连续签到: 1 天

[LV.5]常住居民I

发表于 2019-12-21 16:57 | 显示全部楼层
这也太难了
西莫电机论坛微信公众平台正式上线!★详情请点击★ 西莫电机论坛会员交流专用群欢迎您西莫电机论坛加群请注明论坛用户名及所从事专业,否则不予通过
回复

使用道具 举报

该用户从未签到

发表于 2019-12-21 18:22 | 显示全部楼层
纽特滴嗅嗅 发表于 2019-12-19 15:24
找到了  在maxwell帮助文档里
theSegDefinition = UDPPolylineSegmentDefinition(PolylineSegmentType.A ...

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-6-15 09:18 , Processed in 0.639999 second(s), 26 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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