<ARCHICAD23 >
GDLを使用してオブジェクトやラベルなどを作成する際に、モデルのスケールに合わせて表現内容を変更したい場合があります。そのような場合は、スクリプトにIF - THEN - ELSE - ENDIF を使用して条件分岐を行います。
手順
ARCHICADのスケールは、GLOB_SCALEを使用して取得します。例えば1:100のスケールを条件として、平面図に表示される文字列を変更する2Dスクリプトを記述する場合は、下記のように2Dスクリプトに記述します。
!!! テキストを入力する変数を定義 TextContent = "" IF GLOB_SCALE = 100 THEN TextContent = "1:100のスケールです" ELSE TextContent = "1:100のスケールではありません" ENDIF !!! 文字列を記述 text2 0, 0, TextContent
このように記述して平面図に配置すると、1:100のスケールの際には、「1:100のスケールです」と表示され、それ以外のスケールの場合は「1:100のスケールではありません」と表示されます。
1:100の場合
1:200の場合
その他にも、1:100より小さい場合、1:100以下の場合など、IF-THEN-ELSE-ENDIFの条件を切り替えることも可能です。下記に例を記載するので、参考にしてください。
1:100より小さい場合(1:100は含まない)の条件分岐
!!! テキストを入力する変数を定義 TextContent = "" if GLOB_SCALE < 100 then TextContent = "1:100のスケールより小さいです" else TextContent = "1:100のスケール以上です。" endif !!! 文字列を記述 text2 0, 0, TextContent
1:100以下の場合(1:100は含む)の条件分岐
!!! テキストを入力する変数を定義 TextContent = "" if GLOB_SCALE = 100 then TextContent = "1:100のスケールです" else TextContent = "1:100のスケールではありません" endif if GLOB_SCALE <= 100 then TextContent = "1:100のスケール以下です" else TextContent = "1:100のスケールより大きいです。" endif !!! 文字列を記述 text2 0, 0, TextContent
コメント
0件のコメント
記事コメントは受け付けていません。