ANSYS Workbench二次开发–SpaceClaim Python脚本知识-实体对象的编辑(镜像与阵列)

ANSYS Workbench二次开发–SpaceClaim Python脚本知识-实体对象的编辑(镜像与阵列)

Please Share Us

点击此处查看 ✿水哥原创ANSYS视频教程清单 ✿

水哥专属答疑服务已开通,点此此处查看详情

本文为 WB二次开发 专篇的第 12 篇。专栏文章索引详见下文:

ANSYS WB二次开发专栏文章

一、镜像

1、镜像首先应选择镜像面,然后在选择镜像体,通过options中的MergeObjects来控制镜像后是否和原来的体融合。

selection = BodySelection.Create(GetRootPart().Bodies[2])

mirrorPlane = FaceSelection.Create(GetRootPart().Bodies[2].Faces[4])

options = MirrorOptions()

#镜像后保持独立

options.MergeObjects=False

result = Mirror.Execute(selection, mirrorPlane, options, None)

2、当镜像的平面位于几何体之外时,可通过创建辅助平面来进行,创建辅助平面的方法见1-7节。

point = Point.Create(MM(50),0,0)

direction = Direction.Create(1, 0, 0)

mirrplane = DatumPlaneCreator.Create(point, direction,True)

MP= Selection.Create(GetRootPart().DatumPlanes[0])

options = MirrorOptions()

#镜像后保持独立

options.MergeObjects=False

result = Mirror.Execute(selection, MP, options, None)

2、阵列—查看Pattern函数

1、阵列的三种形式:线性、圆形、填充,填充用的较少,可不讲

2、线性阵列的使用方法

1)、输入参数:选择需要阵列的对象、线性阵列的控制参数(包括方向、阵列数目、阵列方向数据)

2)、注意阵列方向的输入数据类型为一个Iselection,不能通过Direction.Create的方向直接创建,当可通过选择线对象、坐标轴等方式创建

3)、当选择两个方向的阵列时,X方向的选择很好把握,但是Y方向不好把握,且函数没有提供输入Y方向的入口,建议实时调试确定。

# 创建阵列

# 单个方向,沿着总体坐标系Y轴

# 创建阵列

selection = BodySelection.Create(GetRootPart().Bodies[0])

data = LinearPatternData()

data.LinearDirection = Selection.Create(GetRootPart().CoordinateSystems[0].Axes[1])

data.CountX = 4

data.PitchX = MM(50)

result = Pattern.CreateLinear(selection, data, None)

# EndBlock

#双向

# 创建阵列

selection = BodySelection.Create(GetRootPart().Components[0].Components[0].Content.Bodies[0])

data = LinearPatternData()

data.LinearDirection = Selection.Create(GetRootPart().Curves[0])

data.PatternDimension = PatternDimensionType.Two

data.CountX = 4

data.PitchX = MM(100)

data.CountY = 4

data.PitchY = MM(100)

result = Pattern.CreateLinear(selection, data, None)

2、圆形阵列

有一维和二维之分,其中一维时data.RadialDirection 参数无明显作用,而在二维时,该参数表示在一维圆形阵列后 沿指定的方向进行线性阵列,方向取决于在几何体自身坐标系

1)选择坐标轴作为旋转轴

# 创建阵列

selection = BodySelection.Create(GetRootPart().Bodies[0])

data = CircularPatternData()

data.CircularAxis = Selection.Create(GetRootPart().CoordinateSystems[0].Axes[2])

data.CircularCount = 4

data.CircularAngle = DEG(360)

result = Pattern.CreateCircular(selection, data, None)

2)选择其中一条边界线作为旋转轴

# 创建阵列

selection = BodySelection.Create(GetRootPart().Bodies[0])

data = CircularPatternData()

data.CircularAxis = EdgeSelection.Create(GetRootPart().Bodies[0].Edges[9])

data.RadialDirection = Direction.Create(0, 0, 0)

data.CircularCount = 3

data.CircularAngle = DEG(360)

result = Pattern.CreateCircular(selection, data, None)

# EndBlock

3)当旋转轴既不在几何体上,也不是坐标轴时,可通过创建辅助轴来实现

# 创建阵列

selection = BodySelection.Create(GetRootPart().Bodies[0])

#创建辅助轴

point1=Point.Create(0.05,0,0)

dir=Direction.Create(0,1,0)

Re=DatumLineCreator.Create(point1,dir)

# 选择辅助轴并进行阵列

sel=Selection.Create(Re.CreatedLine)

data=CircularPatternData()

data.CircularAxis=sel

data.CircularAngle=DEG(60)

data.CircularCount=5

Re=Pattern.CreateCircular(selection,data)

为更加方便大家系统学习WB脚本知识及软件二次开发流程,水哥特推出《基于Python脚本ANSYS Workbench 软件二次开发专题教程》,本教程分为6篇,分别为Python语言基础知识篇、SpaceClaim脚本知识篇、Mechanical脚本知识篇、Workbench项目管理脚本知识篇、项目脚本调试篇以及项目软件二次开发篇,本套课程总计约100课时,平均每个课时30~50分钟,全套课程总计约 70小时,通过本教程,学员可系统性的掌握利用Python语言进行ansys workbench二次开发的相关技巧,课程详情请点击下方文章了解:

基于Python脚本ANSYS Workbench软件二次开发专题教程

欢迎扫描如下二维码关注本站微信公众号:ANSYS结构院

有时间麻烦帮忙点击下公众号文末的广告哦, 权当码字的辛苦费,感谢大家!

Please Share Us
© 版权声明
THE END
喜欢就支持一下吧
点赞0赞赏 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码

    暂无评论内容

YOU MAY LIKE…