iLogic を使用してメッセージを表示する

iLogic ルールを使用して、Configurator 360 にメッセージを表示します。

メッセージは、次の 3 つの側面に基づいてコントロールされます。

  1. メッセージを作成するには、iLogic を使用して、3 つのカスタム iProperty を作成します。その際、次の命名規則を使用します。
    • C360MessageTextYourMessageID (文字列)
    • C360MessageSeverityYourMessageID (文字列)
    • C360MessageTriggeredYourMessageID (ブーリアン)
  2. YourMessageID には、メッセージを識別する任意の文字列を指定します。3 つのプロパティすべてで同じ ID を使用します。

    YourMessageID の先頭にはアンダースコアを付けることができます。

    例:

    • _01
    • _sizeTooLarge
  3. ユーザに表示する文字列に文字のプロパティを設定します。
  4. 重大度のプロパティを次の 3 つの文字列のいずれかに設定します。
    • Info
    • Warning
    • Error
  5. トリガされるプロパティをブーリアン値(yes/no)に設定します。
    注: トリガされるプロパティは、常にルールに基づいて適切な値に設定する必要があります。以前に行った設定に基づくことはできません。
  6. カスタム iProperty がパラメータと同じファイルに記述されていることを確認してください。たとえば、スケルトン ファイルを使用している場合、プロパティはスケルトン ファイルに記述する必要があります。
  7. たとえば、次の処理を実行する iLogic ルールを作成することができます。

    widthValid = (width<1000)
    depthValid = (depth<1000)
     
    oneValid = (widthValid Or depthValid)
     
    iProperties.Value("Custom", "C360MessageText_NeitherDimValid") = "One dimension must be less than 1000mm"
    iProperties.Value("Custom", "C360MessageSeverity_NeitherDimValid") = "Error"
    iProperties.Value("Custom", "C360MessageTriggered_NeitherDimValid") = Not oneValid
    注: 必要に応じて、iProperties.Value により iProperty が作成されます。
  8. テキストまたは重大度の場合:
    • テキストまたは重大度が変化しない場合(一般)、iLogic を使用せずに、[iProperty]ダイアログ ボックスで適切なカスタム iProperty を作成します。
    • テキストまたは重大度が変化する場合、ルールが実行されるたびに適切な値に変更します。使用可能な以前の値または保持されている以前の値に基づかないでください。
  9. Configurator 360 に設計をアップロードし、寸法を変更すると、次の内容のメッセージが表示されます。

    幅または深さのいずれかを変更するたびに、上記のルールが実行される点に留意してください。ルールに基づいて、トリガされる iProperty が設定され、すべての条件でオンとオフのステータスが適切に切り替えられます(たとえば、トリガされるプロパティの値が既に正しく設定されている場合、この値は確認されずに無視されます)。

ベスト プラクティス

関連する 3 つのパラメータ値のいずれかをルールで変更する場合、どのような場合でもルールで値を設定する必要があります。
注: ルールでは、関連するパラメータ値の変化に応じて値を変更します。
適切な方法(エラーが発生しやすい):
If (myParam > 100) then
   iProperties.Value("Custom", "C360MessageTriggered_MyMessage") = true  
else
   iProperties.Value("Custom", "C360MessageTriggered_MyMessage") = false
end if
不適切な方法:
If (myParam > 100) then
   iProperties.Value("Custom", "C360MessageTriggered_MyMessage") = true  
End if
注: 不適切な方法を示した例の場合、既にメッセージがオンになっていても、メッセージがオフに切り替わりません。Configurator 360 のキャッシュ処理により、myParam が 100 以下の場合、メッセージがいつオンになるかオフになるかを予測することはできません。

ベスト プラクティス:

次のように値を指定してテストを行います。

iProperties.Value("Custom", "C360MessageTriggered_MyMessage") = (myParam > 100)
この方法は、else 句を必ず使用するようになるため最適です。