本文为 WB二次开发 专篇的第 9 篇。专栏文章索引详见下文:
ANSYS WB二次开发专栏文章索引
SpaceCliam实体对象的生成方式有很多种,本文讲解如何通过拉伸进行。
面的拉伸
基本过程:先选择面,然后确定拉伸的选项,然后在处理生成即可,注意面拉伸选择的方向正向为面的法向方向,通过设置拉伸距离为负数即可反向,实际中可通过试验来定是正值还是负值。
拉伸选项的控制:通过改变属性的默认值来控制
拉伸体与既有体的关系控制:注意Add、Cut、与ForceIndependent的区别
Add、Cut体会合并,ForceInd会单独创建(注意前提是拉伸的源面为新建面,不能是原对象上面的面,否则ForceInd 设置无效)
ClearAll()
#创建工作平面
myplane=Plane.PlaneXY
ss=ViewHelper.SetSketchPlane(myplane)
#平面矩形的创建
BB=100
HH=50
P1=Point2D.Create(0,0)
P2=Point2D.Create(MM(BB),0)
P3=Point2D.Create(MM(BB),MM(HH))
Re=SketchRectangle.Create(P1,P2,P3)
P4=Point2D.Create(MM(BB*2),0)
P5=Point2D.Create(MM(BB*2),MM(HH*4))
Re=SketchLine.Create(P4,P5)
Re=InteractionMode.Solid
Re=ViewHelper.SetViewMode(Re)
sectionPlane = Plane.Create(Frame.Create(Point.Create(MM(-20), MM(0), MM(0)), Direction.DirY, Direction.DirZ))
#激活当前草图,绘制另外一个矩形
result = ViewHelper.SetSketchPlane(sectionPlane, None)
BB=100
HH=50
P1=Point2D.Create(0,0)
P2=Point2D.Create(MM(BB),0)
P3=Point2D.Create(MM(BB),MM(HH))
Re=SketchRectangle.Create(P1,P2,P3)
Re=InteractionMode.Solid
Re=ViewHelper.SetViewMode(Re)
#三维线的绘制
Re = Sketch3D.Set3DSketchMode(True)
# EndBlock
# Sketch Point
point1 = Point.Create(MM(BB), MM(HH), MM(HH))
point2= Point.Create(MM(0.5*BB), MM(HH*0.5), MM(2*HH))
result = SketchLine.Create(point1, point2)
Re=InteractionMode.Solid
#拉伸的控制
Sel=FaceSelection.Create(GetRootPart().Bodies[0].Faces[0])
options = ExtrudeFaceOptions()
options.ExtrudeType = ExtrudeType.Add
result = ExtrudeFaces.Execute(Sel, MM(40.96), options)
线的拉伸
线拉伸成surface, 需要两个参数,指定拉伸的具体直线以及指定拉伸的方向,拉伸的方向可以指定坐标轴,也可指定具体的边,当指定为具体的边时,方向为曲线的方向。
先创建坐标系,然后选择坐标系的一个轴作为方向,选择要拉伸的线,最后沿着坐标系的方向进行拉伸。
# Create Origin
origin = Point.Create(MM(20.96), MM(50), MM(25))
x_Direction = Direction.DirY
y_Direction = Direction.DirZ
result = DatumOriginCreator.Create(origin, x_Direction, y_Direction, None)
# EndBlock
secondarySelection=Selection.Create(GetRootPart().CoordinateSystems[0].Axes[0])
# Extrude 1 Edge
selection = Selection.Create(GetRootPart().Curves[0])
options = ExtrudeEdgeOptions()
result = ExtrudeEdges.Execute(selection, secondarySelection, MM(24.55), options)
# EndBlock
为更加方便大家系统学习WB脚本知识及软件二次开发流程,水哥特推出《基于Python脚本ANSYS Workbench 软件二次开发专题教程》,本教程分为6篇,分别为Python语言基础知识篇、SpaceClaim脚本知识篇、Mechanical脚本知识篇、Workbench项目管理脚本知识篇、项目脚本调试篇以及项目软件二次开发篇,本套课程总计约100课时,平均每个课时30~50分钟,全套课程总计约 70小时,通过本教程,学员可系统性的掌握利用Python语言进行ansys workbench二次开发的相关技巧,课程详情请点击下方文章了解:
暂无评论内容