ANSYS Workbench二次开发–SpaceClaim Python脚本知识-实体对象的生成(拉伸)

ANSYS Workbench二次开发–SpaceClaim Python脚本知识-实体对象的生成(拉伸)

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

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

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

ANSYS WB二次开发专栏文章索引

SpaceCliam实体对象的生成方式有很多种,本文讲解如何通过拉伸进行。

面的拉伸

基本过程:先选择面,然后确定拉伸的选项,然后在处理生成即可,注意面拉伸选择的方向正向为面的法向方向,通过设置拉伸距离为负数即可反向,实际中可通过试验来定是正值还是负值。

拉伸选项的控制:通过改变属性的默认值来控制

ANSYS Workbench二次开发–SpaceClaim Python脚本知识-实体对象的生成

拉伸体与既有体的关系控制:注意Add、Cut、与ForceIndependent的区别

Add、Cut体会合并,ForceInd会单独创建(注意前提是拉伸的源面为新建面,不能是原对象上面的面,否则ForceInd 设置无效)

ANSYS Workbench二次开发–SpaceClaim Python脚本知识-实体对象的生成-2

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二次开发的相关技巧,课程详情请点击下方文章了解:

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

欢迎搜索关注本站微信公众号:ANSYS结构院

如果觉得本网站的文章和资源对您的研究具有一定的帮助,欢迎给网站捐助,您的支持是我坚持下去的动力!

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

昵称

取消
昵称表情代码

    暂无评论内容