本文为 WB二次开发 专篇的第 13 篇。专栏文章索引详见下文:
ANSYS WB二次开发专栏文章
布尔运算主要包含切割、相交与融合
一、切割
布尔运算之切割,首先选择被切割的对象,然后在选择工具面即可,工具面既可以是对象上本身的几何面,也可以是新创建的辅助面
1)通过本身的面切割,注意采用此种方法时,第三个参数要设为True,含义为用延伸面切割体
# 按面将主体分片
selection = BodySelection.Create(GetRootPart().Bodies[0])
toolFaces = FaceSelection.Create(GetRootPart().Bodies[0].Faces[9])
result = SplitBody.ByCutter(selection, toolFaces, True)
# EndBlock
2)通过创建的基准面切割,注意采用基准面切割时,不用设置第三个输入参数
point=Point.Create(0.02,0,0)
dir=Direction.Create(1,1,1)
Re= DatumPlaneCreator.Create(point, dir)
#选择刚刚已经创建好的平面并重新命名
sel=Selection.Create(Re.CreatedPlanes[0])
# 按面将主体分片
selection = BodySelection.Create(GetRootPart().Bodies[0])
result=SplitBody.ByCutter(selection, sel)
#删除新建的辅助面
Re=Delete.Execute(sel)
布尔运算之相交、融合
1)相交,通过Combine.Intersect实现,选择需要操作的体以及工具对象即可,
Options的功能如下:
- KeepCutter:设置是否保留工具体
- Makeallregions:设置目标对象和工具对象是否相互相减
# 相交主体
targets = BodySelection.Create(GetRootPart().Bodies[0])
tools = BodySelection.Create(GetRootPart().Bodies[2])
options = MakeSolidsOptions()
# 通过下列设置来确定是否保留工具体,等于False则为不保留
#options.KeepCutter=False
#相互相减
#options.MakeAllRegions=False
result = Combine.Intersect(targets, tools, options)
# EndBlock
函数返回值为新建的公共体,通过返回值,可将共同体进行删除处理,从而达到类似挖孔的效果。
#删除融合体
sel=Selection.Create(result.CreatedBodies[0])
Delete.Execute(sel)
2)融合
首先创建体的几何,然后在使用Combine.Merge命令
# 合并主体
targets = BodySelection.Create([GetRootPart().Bodies[0],
GetRootPart().Bodies[2]])
result = Combine.Merge(targets)
RenameObject
# EndBlock
# 合并主体
targets = BodySelection.Create([GetRootPart().Bodies[0],
GetRootPart().Bodies[2]])
result = Combine.Merge(targets)
# EndBlock
为更加方便大家系统学习WB脚本知识及软件二次开发流程,水哥特推出《基于Python脚本ANSYS Workbench 软件二次开发专题教程》,本教程分为6篇,分别为Python语言基础知识篇、SpaceClaim脚本知识篇、Mechanical脚本知识篇、Workbench项目管理脚本知识篇、项目脚本调试篇以及项目软件二次开发篇,本套课程总计约100课时,平均每个课时30~50分钟,全套课程总计约 70小时,通过本教程,学员可系统性的掌握利用Python语言进行ansys workbench二次开发的相关技巧,课程详情请点击下方文章了解:
基于Python脚本ANSYS Workbench软件二次开发专题教程
有时间麻烦帮忙点击下公众号文末的广告哦, 权当码字的辛苦费,感谢大家!
暂无评论内容