設計模組產品結構
許多產品都有多個子系統,而這些子系統又擁有其自己的選用元素集。在某些情況下,系統會在邏輯進展中獨立處理每個子系統的選項。但是,在另外一些情況下,子系統中的可用選項可能需要受在其他子系統中所做選取的影響。
例如,假設金屬展示箱有多個不同模型,而這些模型又有多種不同的展示、裝飾及光照選項。根據所選的展示箱模型而定,可用於展示、裝飾及光照元素的選項可能會有所不同。
對於僅含少數模組與有限選項集的簡單產品結構而言,建立及測試適當可供配置產品結構相對比較容易。但是,當產品結構只有五個模組,而每個模組又有六個可能的選項可供選擇時,排列的總數 (在此情況下為 5 x 6,也就是 30) 也可能是驚人的。
此時,建議的方法是將模組的產品結構組織為可供配置模組,如下圖所示。
在此範例中,假設 display case 有五個不同的模型 (Model_01 到 Model_05),而其中一些選項僅適用於某些模型,如下表所示。
Display Case 模型
Trim Options
Lighting Options
Display Options
Model_01
Twin Standard
Single Double
Shelf, Ventilated Shelf, Solid
Model_02
Standard Deluxe
Double, Triple
Shelf, Ventilated Shelf, Solid
Model_03
Twin Standard Deluxe
Single Double Triple
Shelf, Ventilated Rack
Model_04
Twin Standard Deluxe
Single Double Triple
Shelf, Ventilated Shelf, Solid Rack
Model_05
Twin Standard Deluxe
Single Double Triple
Shelf, Ventilated Shelf, Solid Rack
下一步是以模組化方式建立適當的邏輯元素,以便可以獨立測試每個選項模組,然後再將其整合到完整的產品結構中。例如,請考慮 Trim Options 模組的邏輯。此模組需要四個參數,如下所示:
askModel
字串,輸入參數
提示 = "(TRIM OPTIONS) Select the desired display case model"
條件約束:"Model_01"、"Model_02"、"Model_03"、"Model_04"、"Model_05"
"hide when driven" = true
useStandard
布林值,非輸入參數
已針對 Bumper, Standard 零件,新增至 Display Case 可供配置模組「使用」標籤的「包含選項」
useTwin
布林值,非輸入參數
已針對 Bumper, Twin 零件,新增至 Display Case 可供配置模組「使用」標籤的「包含選項」
useDeluxe
布林值,非輸入參數
已針對 Bumper, Deluxe 零件,新增至 Display Case 可供配置模組「使用」標籤的「包含選項」
接下來,您需要使用案例表 (例如 pickTrim) 來控制每個展示箱模型裝飾選項的適用性,如下表所示。
Display Case 模型
Trim Options
Lighting Options
Display Options
Model_03
TwinStandardDeluxe
SingleDoubleTriple
Shelf, Ventilated Rack
Model_04
TwinStandardDeluxe
SingleDoubleTriple
Shelf, Ventilated Shelf, Solid Rack
Model_05
TwinStandardDeluxe
SingleDoubleTriple
Shelf, Ventilated Shelf, Solid Rack
下一步是以模組化方式建立適當的邏輯元素,以便可以獨立測試每個選項模組,然後再將其整合到完整的產品結構中。例如,請考慮 Trim Options 模組的邏輯。此模組需要四個參數,如下所示:
askModel
字串,輸入參數
提示 = "(TRIM OPTIONS) Select the desired display case model"
條件約束:"Model_01"、"Model_02"、"Model_03"、"Model_04"、"Model_05"
"hide when driven" = true
useStandard
布林值,非輸入參數
已針對 Bumper, Standard 零件,新增至 Display Case 可供配置模組「使用」標籤的「包含選項」
useTwin
布林值,非輸入參數
已針對 Bumper, Twin 零件,新增至 Display Case 可供配置模組「使用」標籤的「包含選項」
useDeluxe
布林值,非輸入參數
已針對 Bumper, Deluxe 零件,新增至 Display Case 可供配置模組「使用」標籤的「包含選項」
接下來,您需要使用案例表 (例如 pickTrim) 來控制每個展示箱模型裝飾選項的適用性,如下表所示。
askModel
useStandard
useTwin
useDeluxe
Model_01
yes
yes
no
Model_02
yes
no
yes
Model_03
yes
yes
yes
Model_04
yes
yes
yes
Model_05
yes
yes
yes
這些邏輯運算式可讓您獨立測試 Trim Options 模組,以便您可以確保一切按照您的預期運作。
* 
但是,如果您針對每個模組使用相同的方法,則系統會重複詢問使用者所需的 Display Case 模型,這是不必要的。因此,在您建立每個模組並確認它們能夠正常運作之後,您需要將它們整合在一起。
欲整合模組:
1. 建立適當的參數,來確定 Display Case 可供配置模組中的模型,如下所示:
askModel - 字串,必要輸入參數
提示 = "Select the desired display case model"
條件約束:"Model_01"、"Model_02"、"Model_03"、"Model_04"、"Model_05"
2. 在 Display Case 可供配置模組的 askModel 與其所有子代之間建立對等項。
3. 移除每個選項模組中每個 askModel 參數的條件約束。
* 
為避免 Display Case 頂層可供配置模組與構成每個模組的可供配置模組之間發生衝突,必須移除這些條件約束。
4. 測試已完成的可供配置產品結構。由於您已經測試了每個模組,因此只需要確認使用者在 Display Case 頂層可供配置模組中輸入的 askModel 值是否已正確複製到每個模組即可。
* 
如果您在「配置」視窗的「設定參數」頁中顯示 BOM 樹,並使用「套用」按鈕,則可以快速查看 Display Case 可供配置模組中 askModel 的目前值是否已複製到每個模組。
這是否有幫助?