2020年6月28日 星期日

使用物件名稱及編號找出特定面

之前提到物件名稱和編號(ID)的概念,接下來我們用實際的例子說明使用的時機和方法。圖一是一個介電材料的方塊,總共有六個面,我們想要使用函式AssignPerfectE()在底面設定邊界條件PEC,如圖二。我們須取得底面的編號(這個範例底面ID為8)才能在面設定邊界條件,問題在於該如何在程式取得底面的編號呢?

(圖一) 介電方塊

(圖二) 用AssignPerfectE()設定PEC
第一種方法是用座標取得面編號。在生成介電方塊時我們會設定方塊的名稱和起始點,因此我們可以推算出底面的中心座標(底面任一點座標皆可),再用函式GetFaceByPosition()便可以找出底面的編號,如圖三。第二種方式則是用函式找出物件六個面的編號,有了面的編號便可以找出各自的點座標進而計算的各自的法相量,找出法相量為(0,0,-1)的面即為底面,這個方法稍微複雜。第三種方式則是找出面的4個點Z座標的平均值,最小的便是底面。方法還有很多,各位可以試著想想看。至於要使用哪一種方法取決於實際的條件及狀況。

(圖三) 用GetFaceByPosition()找出底面ID

沒有留言:

張貼留言