資料管理能力 > 管理零件結構 > Windchill 選項及變體功能 > 使用選項篩選器篩選可供配置產品結構 > 在選項篩選期間評估運算式
  
在選項篩選期間評估運算式
篩選使用關係連結時,請考慮兩種運算式:針對使用關係連結的運算式,以及針對使用關係連結之子零件的運算式。如果存在一個針對子零件的運算式,則該運算式始終用來篩選可供配置子零件。如果零件不是可供配置的,那麼只有當偏好設定Allow Assignment of Expressions to Non-Configurable Items設為 true 時,才會考慮使用該運算式 (可以使用使用者介面來指派)。
如果兩種運算式 (針對同時存在兩種運算式的情況而言) 中的任何一種的求值為 FALSE,則會篩選出使用關係連結。
布林運算式的求值
在篩選過程中,系統會通過比較已指派運算式與「選項篩選器」中執行的選取條件,來求出已指派運算式的值。如果已針對一個選項選取了某些選擇,那麼這些已選取的選擇會被指派 true 值,而未被選取的選擇則會被指派 false 值。這些值會被替代到運算式中,進而求出該運算式的值。布林運算式的短路求值會決定運算式的值,即使運算式的某些變數未定義。請考慮下列範例:
個案 1
運算式為 RED && LARGE
如果變數 REDLARGE 的值為 FALSE,那麼不論其他變數的值為何,整個運算式的值都會是 FALSE。
個案 2
運算式為 RED||LARGE
如果變數 REDLARGE 的值為 TRUE,那麼不論其他變數的值為何,整個運算式的值都會是 TRUE
一般案例
這些範例可以延伸至布林運算式的一般案例,因為它們可以分解成巢狀結合/分離/否定。例如,請考慮下列運算式:
(X || Y) && (Z && W) && (V || W)
如果變數 Z 的值為 FALSE,那麼不論變數 X、Y、W、V 的值為何,整個布林運算式求出的值都會是 FALSE
篩選的其他使用案例
篩選可供配置結構時還有其他使用案例可供考慮:
產品結構可以將基本與進階運算式指派給不同的模組變體。選項篩選的行為如下:
在基本運算式的情況下,篩選器會考慮項目與使用關係連結上的選取項聯集。如果至少一個運算式評估為 TRUE,則不會篩選出模組變體。
在進階運算式的情況下,只有當對項目上的運算式與該項目之使用關係連結上的運算式都必須評估為 TRUE 時,才不會篩選出模組變體。
會將運算式指派給使用關係連結與在配置的產品結構中模組變體的出現位置。「選項篩選器」會按照下列順序,先評估指派給使用關係連結的運算式,然後評估指派給其出現位置的運算式:
如果已指派運算式評估為 FALSE,會篩選出模組變體,包括其所有出現位置。
如果將已指派運算式評估為 TRUE,則「選項篩選器」會評估指派給出現位置的運算式。如果是 FALSE,則會篩選出出現位置。