Ansys Workbench制作ACT插件實(shí)現(xiàn),快速框選element faces單元的功能

問(wèn)題:

    Ansys workbench的框選功能只能按住Ctrl增加選項(xiàng),卻沒(méi)有反向選擇框選減少的功能!!!

Ansys workbench的connect創(chuàng)建連接非常方便,但是很多時(shí)候幾何面的區(qū)域和實(shí)際想要做連接的區(qū)域大相徑庭。這個(gè)時(shí)候一個(gè)較好的連接區(qū)域選擇方法是使用element Faces進(jìn)行連接區(qū)域的定義。但是遺憾的是ansys workbench的框選功能也是不咋滴,單元選擇較為麻煩——沒(méi)有反向選擇,框選減除的功能!!!!

Ansys Workbench制作ACT插件實(shí)現(xiàn),快速框選element faces單元的功能的圖1


Ansys Workbench制作ACT插件實(shí)現(xiàn),快速框選element faces單元的功能的圖2

   雖然兩種方式對(duì)計(jì)算結(jié)果沒(méi)有什么影響,但是第二個(gè)選著方式在甲方看來(lái),仿真工程師是有認(rèn)真在干活的。。。。。。。。。。

使用hypermesh的同事都知道,ansys workbench在鼠標(biāo)框選這個(gè)功能上差了很多。Ansys workbench的框選功能只能按住Ctrl增加選項(xiàng),卻沒(méi)有反向選擇框選減少的功能!!!

Ansys Workbench制作ACT插件實(shí)現(xiàn),快速框選element faces單元的功能的圖3

解決方案:

    這里使用ansys workbench 的二次開(kāi)發(fā)功能,增加一個(gè)針對(duì)單元面選擇的ACT插件。實(shí)現(xiàn)框選增加和框選減除的功能,雖然不能與hypermesh的右鍵反選功能相比肩,但實(shí)際應(yīng)用還是可以帶來(lái)很多便捷之處,尤其使用快捷鍵操作后,有很大提升。

功能實(shí)現(xiàn)邏輯

   1.首先用戶自己調(diào)整到element Faces 選擇類型,程序讀取當(dāng)前界面中加亮的element face單元的id號(hào)并存儲(chǔ)在global變量中。

   2.用戶框選其它element faces單元,程序繼續(xù)讀取當(dāng)前選擇單元id號(hào)。再對(duì)global中存儲(chǔ)的id號(hào)進(jìn)行比較。

   3.如果是增加操作,就合并兩次框選;如果是減除操作,就對(duì)global集合去除當(dāng)前選擇的集合。

Ansys Workbench制作ACT插件實(shí)現(xiàn),快速框選element faces單元的功能的圖4

具體實(shí)現(xiàn)方法:

    首先,創(chuàng)建xml文件——在mechanical界面上方創(chuàng)建新的按鍵。

Ansys Workbench制作ACT插件實(shí)現(xiàn),快速框選element faces單元的功能的圖5

再創(chuàng)建按鍵對(duì)應(yīng)執(zhí)行命令.py文件,按下對(duì)應(yīng)按鍵后調(diào)用子程序。

示例:

Add Selection 按鈕對(duì)應(yīng)的子程序

# 在全局單元面集合基礎(chǔ)上,增加新選擇的單元面

def AddSelection(sender=None):

# 兩個(gè)全局變量,均用于存儲(chǔ)單元id和faceid

global backup_selections , global_selections

# 讀取當(dāng)前界面 加亮顯示的單元

current_selection = ExtAPI.SelectionManager.CurrentSelection

# 保證當(dāng)前選擇類型為elementFaces

if current_selection.SelectionType != SelectionTypeEnum.MeshElementFaces:

print("請(qǐng)選擇單元面")

return

# 對(duì)上一步global_selections中的單元面進(jìn)行暫存到backup_selections,備用撤銷操作

backup_selections.clear()

backupSelection()

# 當(dāng)前新選擇的單元面,添加到global_selections中

for i in range(len(current_selection.Ids)):

elem_id = current_selection.Ids[i]

face_idx = current_selection.ElementFaceIndices[i]

global_selections[elem_id][face_idx] = True

# 顯示合并后的單元面集合

UpdateSelectionDisplay()

    

在ansys workbench 加載ACT插件,重啟mechanical即可加載完成用戶自己開(kāi)發(fā)的ACT插件。

Ansys Workbench制作ACT插件實(shí)現(xiàn),快速框選element faces單元的功能的圖6

加載完成后操作示例:

    以創(chuàng)建和修正element Faces 為元素的Named Selection為例:

Ansys Workbench制作ACT插件實(shí)現(xiàn),快速框選element faces單元的功能的圖7

增加操作,先選定加亮集合1

點(diǎn)擊current按鍵,將當(dāng)前加亮的單元集作為操作對(duì)象

Ansys Workbench制作ACT插件實(shí)現(xiàn),快速框選element faces單元的功能的圖8

再框選/點(diǎn)選需要增加的單元,再點(diǎn)擊Add 按鍵即可。(可多次累加,)

Ansys Workbench制作ACT插件實(shí)現(xiàn),快速框選element faces單元的功能的圖9

Ansys Workbench制作ACT插件實(shí)現(xiàn),快速框選element faces單元的功能的圖10

Ansys Workbench制作ACT插件實(shí)現(xiàn),快速框選element faces單元的功能的圖11

減除操作,先選定加亮集合2

點(diǎn)擊current按鍵,將當(dāng)前加亮的單元集作為操作對(duì)象

Ansys Workbench制作ACT插件實(shí)現(xiàn),快速框選element faces單元的功能的圖12

再框選/點(diǎn)選需要減少的單元,再點(diǎn)擊Delete 按鍵即可。(可多次重復(fù)操作,)

Ansys Workbench制作ACT插件實(shí)現(xiàn),快速框選element faces單元的功能的圖13

Ansys Workbench制作ACT插件實(shí)現(xiàn),快速框選element faces單元的功能的圖14

創(chuàng)建快捷鍵:

以下內(nèi)容為付費(fèi)內(nèi)容,請(qǐng)購(gòu)買(mǎi)后觀看

   2人購(gòu)買(mǎi)

歡迎使用并指正 1.ACT插件程序內(nèi)容xml文件和py文件以及圖標(biāo) 2.版本是2021R1,其它版本沒(méi)有試,但估計(jì)也行。

App下載
技術(shù)鄰APP
工程師必備
  • 項(xiàng)目客服
  • 培訓(xùn)客服
  • 平臺(tái)客服

TOP

29
9
6