亚洲精品美女久久_91国内精品久久_亚洲九九在线_91精品国产高潮抽搐_国产一区二区三区在线免费观看_91com在线观看

利用Python在Workbench的DM中参数建?!咀ⅰ?/h1>

2017-07-03  by:CAE仿真在线  来源:互联网



就Workbench的二次开发进行一些展开,文中所用到的代码来自ANSYS的帮助手册。

正文


Workbench的几何建模程序DesignModeler(DM)虽不支持APDL参数化建模,但是却支持PythonC#,大量的API函数也是基于IronPython的。灵活运用PythonDM中的API函数接口,可实现模型的参数化。

本次简单阐释一下利用Python和API函数进行派生几何模型的建立,也即是基本图元(Primitive)。

DM中的派生图元如下图所示。


利用Python在Workbench的DM中参数建?!咀ⅰ縜nsys分析图片1

图1

包括片体、线体和实体。

创建派生几何的API函数入口是:

ExtAPI.DataModel.GeometryBuilder.Primitives

下面分别创建片体、线体和实体。

(1)片体

以创建一个圆柱面为例,其Python代码如下所示:

def Ongenerate(feature,function):

width = 0.015

height = 0.3

sheetBodies = []

primitive = ExtAPI.DataModel.GeometryBuilder.Primitives

cylinder = primitive.Sheet.CreateCylinder([0.,0.,0.],[0.,0.,height],width)

cylinder_generated = cylinder.Generate()

sheetBodies.Add(cylinder_generated)

feature.Bodies = sheetBodies

feature.MaterialType = MaterialTypeEnum.Freeze

return True


该段代码将创建圆柱面的命令放在函数Ongenerate()中,该函数声明的变量feature用于存储所生成的模型。

函数开头定义了两个变量并赋值,width和height。

sheetBodies为空的列表。

通过ExtAPI.DataModel.GeometryBuilder.Primitives入口下属的sheet. CreateCylinder函数创建一个圆柱面,其中CreateCylinder函数的使用格式为:

CreateCylinder(self: Sheet, center: IEnumerable[float], direction: IEnumerable[float], radius: float) -> IsheetCylinder。

需要通过坐标指定圆心位置,通过坐标向量指定方向和圆柱面的高度,还需要通过float数据类型指定半径。

生成圆柱面之后将新生成的圆柱面添加到sheetbodies列表中,最后返回feature的Bodies,指定类型为Freeze。

这段代码用到了API函数Generate、CreateCylinder、MaterialTypeEnum、Freeze,feature.Bodies与feature.MaterialType中的Bodies与MaterialType为对象的属性。

最终创建的模型如下:

利用Python在Workbench的DM中参数建?!咀ⅰ縜nsys分析图片2

图2

(2)创建线体

以创建一个多段线体为例,其Python代码如下所示:

def Ongenerate(feature,function):

points_list = [0.,0.,0., 1.,0.,0., 1.,1.,0., 1.,1.,1.]

wireBodies = []

primitive = ExtAPI.DataModel.GeometryBuilder.Primitives

polyline = primitive.Wire.CreatePolyline(points_list)

polyline_generated = polyline.Generate()

wireBodies.Add(polyline_generated)

feature.Bodies = wireBodies

feature.MaterialType = MaterialTypeEnum.Add

return True

函数定义了用于生成多段线体的四个点列表points_list,创建多段线的函数入口也在ExtAPI.DataModel.GeometryBuilder.Primitives下的Wire.CreatePolyline,CreatePolyline函数的使用格式为:

CreatePolyline(self: Wire, points: IEnumerable[float]) -> IWirePolyline

只需要指定所有的点即可。

最终生成的模型为如下:

利用Python在Workbench的DM中参数建?!咀ⅰ縜nsys培训课程图片3

图3

(3)实体

以创建一个矩形块为例,其Python代码如下所示:

def Ongenerate(feature,function):

point1 = [0.,0.,0.]

point2 = [1.,2.,2.]

solidBodies = []

primitive = ExtAPI.DataModel.GeometryBuilder.Primitives

box1 = primitive.Solid.CreateBox(point1, point2)

box1_generated = box1.Generate()

solidBodies.Add(box1_generated)

feature.Bodies = solidBodies

feature.MaterialType = MaterialTypeEnum.Freeze

return True

生成矩形块只需要指定两个角点,用到的函数是CreateBox,在ExtAPI.DataModel.GeometryBuilder.Primitives下的Solid.CreateBox,CreateBox的使用格式为:

CreateBox(self: Solid, pt1: IEnumerable[float], pt2: IEnumerable[float]) -> ISolidBox

指定两个点即可。最终生成的模型如下。

利用Python在Workbench的DM中参数建?!咀ⅰ縜nsys培训课程图片4

图4






转自公众号:CAE技术分享

开放分享:优质有限元技术文章,助你自学成才

相关标签搜索:利用Python在Workbench的DM中参数建?!咀ⅰ?/a> Ansys有限元培训 Ansys workbench培训 ansys视频教程 ansys workbench教程 ansys APDL经典教程 ansys资料下载 ansys技术咨询 ansys基础知识 ansys代做 Fluent、CFX流体分析 HFSS电磁分析 Abaqus培训 

编辑

全国服务热线

1358-032-9919

广州公司:
广州市环市中路306号金鹰大厦3800
电话:13580329919
          135-8032-9919
培训QQ咨询:点击咨询 点击咨询
项目QQ咨询:点击咨询
email:[email protected]




主站蜘蛛池模板: 黑人粗大猛烈进出高潮视频 | 无码乱肉视频免费大全合集 | 国产一级特黄高清在线大片 | 手机在线国产视频 | 国产成人精品电影在线观看 | 国产一级一片免费播放i | 男人用嘴添女人下身免费视频 | 伊人久爱 | 久久99国产精一区二区三区 | 亚洲国产精品嫩草影院久久 | www视频免费在线观看 | 亚洲国产精品无码aaa片 | 色翁荡息又大又硬又粗视频 | 久久天天躁夜夜躁狠狠85麻豆 | 荡女精品导航 | 中文人妻av久久人妻水蜜桃 | 99色视频在线观看 | 免费看成人www的网站软件 | 华人少妇被黑人粗大的猛烈进 | 久久中文字幕综合婷婷 | 无遮挡h肉动漫在线观看 | 疯狂做受xxxx高潮视频免费 | 一级国产20岁美女毛片 | 中文无码熟妇人妻av在线 | 尤物在线精品视频 | 一个人看的www免费视频中文 | 精品动漫一区二区 | 成年片色大黄全免费网站久久 | 日韩精品在线电影 | 黄色一级片免费网站 | 嫩草影院在线观看未满十八 | 免费福利网址 | 国产日韩欧美中文字幕 | 制服丝袜美腿一区二区 | 日本一级欧美一级中文 | 免费爱爱片 | 四虎永久影院永久影库 | 亚洲国产精品无码久久一区二区 | 亚洲激情中文字幕 | 亚洲av永久无码精品三区在线 | 久久久久国产综合av天堂 |