大学生a级毛片免费视频_亚洲精品www久久久久久广东_嫩草国产_国产资源一区二区三区_av一二三区_97日韩精品

利用Python在Workbench的DM中參數建模【轉發】

2017-07-03  by:CAE仿真在線  來源:互聯網



就Workbench的二次開發進行一些展開,文中所用到的代碼來自ANSYS的幫助手冊。

正文


Workbench的幾何建模程序DesignModeler(DM)雖不支持APDL參數化建模,但是卻支持PythonC#,大量的API函數也是基于IronPython的。靈活運用PythonDM中的API函數接口,可實現模型的參數化。

本次簡單闡釋一下利用Python和API函數進行派生幾何模型的建立,也即是基本圖元(Primitive)。

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


利用Python在Workbench的DM中參數建模【轉發】ansys分析圖片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中參數建模【轉發】ansys分析圖片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中參數建模【轉發】ansys培訓課程圖片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中參數建模【轉發】ansys培訓課程圖片4

圖4






轉自公眾號:CAE技術分享

開放分享:優質有限元技術文章,助你自學成才

相關標簽搜索:利用Python在Workbench的DM中參數建模【轉發】 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:kf@1cae.com




主站蜘蛛池模板: 嫩草视频在线 | 成人av在线电影 | 亚洲va中文字幕 | 久一区二区三区 | 日本不卡一区二区 | 久久亚洲一区 | 成人欧美一区二区三区在线观看 | 国产精品视频免费看 | 一区二区三区中文字幕 | 久久久久久高清 | 欧美日韩视频在线观看免费 | 国产视频久久 | 国产欧美一区二区三区在线看 | 麻豆国产一区二区三区 | 国产成人av一区 | 国产欧美日韩综合精品一区二区 | av在线黄| 99久久精品国产一区二区三区 | 黄色免费av | 国产精品三级久久久久久电影 | 欧美精品网站 | 中文一区 | 久久精品亚洲 | 91精品国产乱码久久久久久 | 手机看片亚洲 | 亚洲国产第一页 | 爱爱免费看 | 欧美a级片在线观看 | 国产精品久久久久久久美男 | 国产美女一区二区三区 | 国产精品成人3p一区二区三区 | 亚洲成人精品在线观看 | 久久国产精品免费 | 91精品久久久久久 | 懂色av中文一区二区三区天美 | 91精品蜜臀在线一区尤物 | 激情国产精品 | 国产成人精品一区二 | 成人免费淫片aa视频免费 | 国产精品亚洲一区 | 日日躁夜夜躁狠狠躁 |