亚洲精品美女久久_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]




主站蜘蛛池模板: 日本免费人成黄页在线观看视频 | 国产激情久久久久影院老熟女免费 | 伊人久久电影网 | 亚洲а∨天堂久久精品2021 | 午夜亚洲www湿好大 午夜亚洲福利 | 久久成人亚洲香蕉草草 | 伊人五月天婷婷琪琪综合 | 99久久99久久精品 | 国产第九页 | 国产日产久久高清欧美一区 | 黄色一级免费观看 | 丰满人妻熟妇乱又仑精品 | 国内精品久久久久久影院8f | 久久avav| 婷婷国产在线 | 亚洲中文字幕无码天然素人在线 | 国产伦久视频免费观看 视频 | 亚洲精品天堂 | av无码精品一区二区三区宅噜噜 | 吃奶摸下高潮60分钟免费视频 | 免费高清毛片在线播放视频 | 久久精品久久精品久久精品 | 国产微拍精品 | 久草新在线 | 欧美特黄a级高清免费大片 欧美特黄a级高清免费看片 | 亚洲 欧美 激情 小说 另类 | 亚洲免费在线视频播放 | 人妻激情另类乱人伦人妻 | 香港经典三级av在在线观看 | 欧美日韩在线精品成人综合网 | 欧美日韩亚洲精品一区 | 琪琪色原网站在线观看 | 四虎精品影院2022 | 亚洲精品成人一区 | 黄色小视频观看 | 欧美亚洲国产人成aaa | 亚洲欧美综合乱码精品成人网 | 人妻无码视频一区二区三区 | 九九热在线视频 | 又爆又大又粗又硬又黄的a片 | 人人爽人人澡人人人妻 |