ANSA二次開發(fā)PID篩選案例介紹

2017-03-13  by:CAE仿真在線  來源:互聯(lián)網(wǎng)


今天我們來介紹一個二次開發(fā)案例—ANSA中零件PID的篩選與操作。

首先先看一下需求:

ANSA二次開發(fā)PID篩選案例介紹ANSA技術(shù)圖片1

如上圖所示。有一堆零件,軟件已經(jīng)自動區(qū)分出PID。它們的PID名字都以“part”加數(shù)字開頭。現(xiàn)在要求:

將名稱含PART1的PID僅顯示,topo

將名稱含PART2的PID僅顯示,topo

將名稱含PART3的PID僅顯示,topo(判斷是否有part4,如果有topo,繼續(xù)判斷PART5,6,7……如果沒有終止topo)

首先分析一下需求,將名稱含有XXX的PID做指定操作,其實就是對PID進行分類,通過名稱含有XXX來篩選,這剛好可以應(yīng)用字典來解決,那么剩下的就是邏輯了。

下面來具體寫一下這個程序:

importansa

from ansaimport base

from ansaimport constants

defmain3():

#根據(jù)SHELL_PROPERTY收集實體

shells=base.CollectEntities(constants.FLUENT,None,'SHELL_PROPERTY')

namelist=list()

adict={}

#對收集到的實體列表進行遍歷

for shell in shells:

val=('Name',)

#取到PID名字的字典(單個)

namedict=base.GetEntityCardValues(constants.FLUENT,shell,val)

#取到字典鍵‘Name’所對應(yīng)的值(PID名字)

name=namedict.get('Name')

#每次將PID名字加入名字列表里

namelist.append(name)

#對PID名字列表進行遍歷

for name in namelist:

if name[0:5]not in adict:

adict[name[0:5]]=[]

#取到字典鍵所對應(yīng)的值(列表)

list2=adict.get(name[0:5])

#將名字加入這個列表

list2.append(name)

print(adict)#測試

#取到字典鍵的列表

keys=list(adict.keys())

keys.sort()

parts=list()

#對字典鍵的列表進行遍歷

for key in keys:

#取到字典鍵所對應(yīng)的值(列表)

list3=adict.get(key)

i=0

#對這個存有PID名字的列表進行遍歷

for l in list3:

part=base.GetPartFromName(str(list3[i]))#取到PID名字所對應(yīng)的零件

parts.append(part)

i+=1

base.Or(parts)

base.Topo()

options=[ "UNCHECKEDFACES","NEEDLE FACES", "COLLAPSED CONS", "TRIPLECONS", "OVERLAPS", "CRACKS", "SINGLE CONS"]

fix=[1,1,1,1,1,1,1]

ret=base.CheckAndFixGeometry(parts,options,fix,True,True)

if ret==None:

print ('No errors!')

#清空parts列表

del parts

base.All()

#注:因為本身的PID名稱列表是無順序的,所以取到的名字的先后順序也是跟隨PID名稱列表的(無序的),就算能夠排序,但是不確定含有相同part字段的名字有幾個。所以在判斷名字中含有part幾的時候,不能使用part i,i+=1這種自增形式來順序的判斷part4、part5...


開放分享:優(yōu)質(zhì)有限元技術(shù)文章,助你自學(xué)成才

相關(guān)標(biāo)簽搜索:ANSA二次開發(fā)PID篩選案例介紹 ANSA培訓(xùn) ANSA培訓(xùn)課程 ANSA軟件培訓(xùn)班 ANSA在線視頻教程 ANSA學(xué)習(xí)教程 ANSA軟件教程 ANSA資料下載 Fluent、CFX流體分析 HFSS電磁分析 Ansys培訓(xùn) Abaqus培訓(xùn) Autoform培訓(xùn) 

編輯
在線報名:
  • 客服在線請直接聯(lián)系我們的客服,您也可以通過下面的方式進行在線報名,我們會及時給您回復(fù)電話,謝謝!
驗證碼

全國服務(wù)熱線

1358-032-9919

廣州公司:
廣州市環(huán)市中路306號金鷹大廈3800
電話:13580329919
          135-8032-9919
培訓(xùn)QQ咨詢:點擊咨詢 點擊咨詢
項目QQ咨詢:點擊咨詢
email:kf@1cae.com