属性情報の値の有無によって表示を切り替える方法

Tekla Structures - Not version-specific FAQ 実践 アドバンス
Environment
Japan
Q: 
図面内の品名リストにおいて属性情報の値を参照して表示を切り替えることは可能ですか。


A: 「値フィールドプロパティ」ダイアログにおいて関数を設定する事で可能です。
例)「User Field 1」に値がある場合はその情報を表示して、ない場合はプロファイル名を表示する。
  1. モデリング上で任意の部材の「User Field 1」に値を設定します。
  2. 「テンプレートエディタ」を起動して編集対象のテンプレートファイルを読み込みます。
※設定対象のテンプレートを図面内にてダブルクリックする事でも編集可能です。
  1. 画面左側のツリーより、プロファイルが設定されている「値フィールド」をダブルクリックして「値フィールドプロパティ」ダイアログを表示します。
  2. 「コンテンツ」項目内の「関数」ボタンを押して「関数設定」ダイアログを表示します。
  3. 「関数」項目内に下記の「条件式」を入力します。
  4. 入力後、ダイアログ内の「チェック」ボタンを押して入力間違いがないか確認します。
  5. ダイアログを「OK」ボタンで全て閉じて、テンプレートファイルを保存します。
  6. 図面を再度開きなおして反映されているか確認してください。
    
【条件式】
if  ( IsSet("USERDEFINED.USER_FIELD_1") ) then
  GetValue("USERDEFINED.USER_FIELD_1")
else
  GetValue("PROFILE")
endif
  • if ( IsSet("USERDEFINED.USER_FIELD_1") ) then  ⇒  「USER_FIELD_1」に値が定義されているかの判定を行います。
  • GetValue("USERDEFINED.USER_FIELD_1")  ⇒  値が定義されている場合は「USER_FIELD_1」の値を取得します。
  • else  ⇒  「USER_FIELD_1」もしくは「PROFILE」にある値を実行します。
  • GetValue("PROFILE")  ⇒  値が定義されていない場合は「PROFILE」の値を取得します。
  • endif  ⇒  ifで始まった場合、終了時に用います。
役に立ちましたか?
送信