複合規則の作成
あるコンテキストでオブジェクトタイプとそのサブタイプの規則を設定しても、親コンテキストで設定されたほかの規則が置き換わることはありません。その代わり、すべての規則がマージされて複合規則が作成されます。マージは、設定されているオブジェクトタイプおよびコンテキスト階層を使用した規則定義を組み合わせます。階層内の最下位レベルの規則定義は、親タイプおよびコンテキスト内の定義に優先します。規則の作成時に指定されたオブジェクトタイプとコンテキストの両方が考慮されます。
コンテキストに表示される「オブジェクトの初期化規則」テーブルで「複合素材をダウンロード」アイコン をクリックして、特定のコンテキストで有効な複合規則を表示できます。
作成された複合規則でオブジェクト属性のデフォルト値が設定されておらず、そのオブジェクトを作成したユーザーも属性値を指定していない場合、以下のいずれかが実行されます。
デフォルト値が指定されている場合は、それが使用されます。たとえば、規則でライフサイクル状態のデフォルト値が設定されない場合、ライフサイクルサービスはそのプロパティ値を使用してデフォルト状態を設定します。
デフォルト値が指定されていない場合は、属性値が Null に設定されます。この属性は必須属性なので、属性値を Null にすることはできません。エラーが発生します。
Windchill ワークグループマネージャでの部品および CAD ドキュメントの作成の管理は、部品および CAD ドキュメントの名前属性と番号属性に設定されているオブジェクト初期化規則の使用に影響を与える場合があります。ワークグループマネージャで使用できる管理オプションについては、ネーミングおよび番号付けでの OIR の使用を参照してください。
既存の複合規則内のオブジェクト属性に、制約を適用しないか、または空の制約を適用した場合、ユーザーインタフェースでの値フィールドの外観に変化はありません。たとえば、表示されるフィールドは空になり、編集が可能になります。
このトピックの例では、デフォルト値を定義する規則を使用します。 表示制約を含む規則のマージは、デフォルト値を定義する規則と同じ方法で行われます。配置されているタイプとコンテキスト階層の両方を使用して、個別の規則をマージし、使用する複合規則を作成します。
例 1: コンテキスト階層に関連する規則
すべての規則が同じオブジェクトタイプに対して定義されている場合、マージ規則は確立されたコンテキスト階層のみを使用します。たとえば、次のように指定されているとします。
wt.doc.WTDocument の番号付けおよびバージョン指定用規則がサイトコンテキストで設定されている。
wt.doc.WTDocument フォルダ用の規則が製品または組織コンテキストで設定されている。
この場合、その製品または組織の下で作成された wt.doc.WTDocument オブジェクトの複合規則には、番号付けおよびバージョン指定の設定とフォルダの設定の両方が含まれます。wt.doc.WTDocument オブジェクトタイプ用の製品規則に番号付けスキームの設定が含まれていた場合は、通常、この規則での設定がサイトコンテキストで作成された設定よりも優先されます。
例 2: タイプ階層に関連する規則
すべての規則が同じコンテキストで定義されている場合、マージ規則は確立されたタイプ階層のみを使用します。たとえば、次のように指定されているとします。
サイトコンテキストの規則セットに、wt.doc.WTDocument タイプのドキュメントの番号付けおよびバージョン指定用にデフォルト値を設定するコンテンツが含まれている。
サイトコンテキストで設定されている規則に、wt.doc.WTDocument のサブタイプ (com.ptc.General など) に関連付けられたドキュメントのデフォルトフォルダ値用のコンテンツも含まれている。
この場合、サイトコンテキストで com.ptc.Genral 用にマージされた規則は、通常、親タイプ (wt.doc.WTDocument) の番号付けおよびバージョン指定定義と、com.ptc.General のフォルダ定義を含みます。サイトコンテキストの wt.doc.WTDocument オブジェクト用の複合規則には、フォルダ定義が含まれません。フォルダ定義はサブタイプ用に定義された規則にのみ存在します。
親から子へのタイプまたはコンテキストの継承を変更するには、特定のオブジェクト属性の AttrValue 要素、AttrConstraint 要素、または VarDef 要素にオプションの final 属性または ignore 属性を含めます。これらの属性の使用については、オプションの AttrValue 属性、AttrConstraint 属性、および VarDef 属性に説明されています。
例 3: 複数のコンテキストと組み合わせた規則
特定のオブジェクトタイプ用の規則セットに親タイプと子サブタイプの両方用の規則が含まれる場合、および複数のコンテキストに規則が含まれる場合は、規則をマージしてタイプとコンテキストの階層を両方含めます。たとえば、次のように指定されているとします。
デフォルトのフォルダパス用の規則と、wt.doc.WTDocument タイプに関連付けられたドキュメントの番号付けおよびバージョン指定用の規則が、サイトコンテキストで設定されています。この規則はドキュメントの番号とバージョンの両方を自動生成し、デフォルトのフォルダパスを /Default に設定します (これはドキュメントが作成されたコンテキスト内の最上位フォルダです)。
wt.doc.WTDocument のサブタイプ com.ptc.General に関連付けられているドキュメントのデフォルトのフォルダパス用の規則を、製品コンテキストで設定します。この規則は、デフォルトフォルダを /Default/General に設定します (これは com.ptc.General タイプを使用するドキュメントが作成されたコンテキスト内の General フォルダです)。
これらの規則を使用して、ユーザーが製品コンテキストで wt.doc.WTDocument タイプを使用したドキュメントを作成するものとします。この場合、以下は真です。
ドキュメントは自動生成された番号とバージョンを持つ。
デフォルトのフォルダ場所は製品コンテキスト内の最上位レベルフォルダになる。
この場合に有効な複合規則には、サイトコンテキスト内の両方の規則セットが含まれ、デフォルトのフォルダパスに製品コンテキストの規則セットは使用されません (指定されたオブジェクトタイプが wt.doc.WTDocument 親タイプであるため)。
ユーザーが製品コンテキスト内でサブタイプ com.ptc.General を使用してドキュメントを作成する場合、以下は真です。
ドキュメントは自動生成された番号とバージョンを持つ。
デフォルトのフォルダ場所は製品コンテキスト内の General フォルダになる。
この場合に有効な複合規則では、製品内で com.ptc.General サブタイプ用に設定されたデフォルトのフォルダパス用の規則が使用されます。wt.doc.WTDocument 親タイプ用にサイトコンテキスト内で設定された規則が優先されるためです。
例 4: タイプ階層とコンテキスト階層の両方と組み合わせた規則
オブジェクトタイプとコンテキストの両方の階層が関連している場合は、現在のコンテキスト内のオブジェクトタイプ階層がコンテキスト階層よりも優先されます。現在のコンテキストに親タイプの規則が存在している場合、サブタイプのオブジェクト初期化規則は無視されます。たとえば、次のように指定されているとします。
デフォルトのフォルダパス用の規則と、wt.doc.WTDocument タイプに関連付けられたドキュメントの番号付けおよびバージョン指定用の規則が、サイトコンテキストで設定されています。この規則はドキュメントの番号とバージョンの両方を自動生成し、デフォルトのフォルダパスを /Default に設定します (これはドキュメントが作成されたコンテキスト内の最上位フォルダです)。
wt.doc.WTDocument のサブタイプ com.ptc.General に関連付けられているドキュメントのデフォルトのフォルダパス用の規則も、サイトコンテキストで設定します。この規則は、デフォルトフォルダを /Default/General に設定します (これは com.ptc.General タイプを使用するドキュメントが作成されたコンテキスト内の General フォルダです)。
wt.doc.WTDocument タイプに関連付けられているドキュメントのデフォルトのフォルダパス用の規則を、製品コンテキストで設定します。この規則は、デフォルトフォルダを /Default/General/Design に設定します (これは wt.doc.WTDocument タイプを使用するドキュメントが作成されたコンテキスト内の Design サブフォルダです)。
ユーザーが製品コンテキスト内でサブタイプ com.ptc.General を使用してドキュメントを作成する場合、以下は真です。
ドキュメントは自動生成された番号とバージョンを持つ。
デフォルトのフォルダ場所は製品コンテキスト内の Design サブフォルダになる。
この場合に有効な複合規則では、wt.doc.WTDocument の製品で設定されたデフォルトのフォルダパス用の規則が使用されます。これは、親タイプ wt.doc.WTDocument のサイトコンテキストで設定された規則内のフォルダ設定と、サブタイプ com.ptc.General のサイトコンテキストで設定された規則内のフォルダ設定より優先するからです。サブタイプ com.ptc.General 用に設定されたサイトレベルの規則は、作成されたオブジェクトと同じオブジェクトタイプですが、オブジェクトタイプ階層を使用する製品レベルの規則によってこれは無視されます。
これは役に立ちましたか?