ArchiCAD GDLを学習 〜机③〜

2024年8月19日月曜日

GDL if values

t f B! P L

ArchiCAD GDLで机をつくてみる③

前回作成した机GDLのサイズを、パラメータスクリプトで制限してみようと思います。パラメータスクリプトにさまざまな制約を追加していきます。

パラメータに選択肢を与える

values "width" 0.9, 1.2, 1.5
values "depth" 0.6, 0.8, 1.0
パラメータの制限

例えば、上記のように values コマンドを使うことで、パラメータに選択肢を作ることができます。選択肢を作るだけであれば、この方法が最も手っ取り早いと思います。

IF分によるパラメータの制御

以下のコードのような方法でもサイズを制限することが可能です。
if width <= 1 then
	parameters width = 0.9
endif

if width > 1 & width <= 1.4 then
	parameters width = 1.2
endif

if width > 1.4 then
	parameters width = 1.5
endif

parameters コマンドは、パラメータの値を修正するためのコマンドです。上記のコードでは、if 文を用いて width をコントロールしています。具体的には、width が1m以下であれば値を0.9mに修正し、width が1mより大きく1.4m以下であれば1.2mに修正、width が1.4mより大きければ1.5mに修正しています。

この動きは、values コマンドで選択肢を作る場合と似ていますが、こちらは選択肢ではなく条件によるパラメータ値の修正を行うため、少しニュアンスが異なります。if 文や他の制御を組み合わせることで、さまざまなパラメータ制御が可能になるため、この方法もよく使うものとして覚えておくと便利です。

if width <= 1 then
	parameters width = 0.9, depth = 0.9
endif

if width > 1 & width <= 1.4 then
	parameters width = 1.2, depth = 1.2
endif

if width > 1.4 then
	parameters width = 1.5, depth = 1.5
endif
parameters コマンドは、上記コードのように変更したいパラメータをカンマ区切りで複数指定することもできます。制御したいパラメータが多い場合、このように書くことで省力化が可能です。
if width <= 1 then
	parameters \
	width = 0.9, 
	depth = 0.9,
	height = 0.9
endif

if width > 1 & width <= 1.4 then
	parameters \
	width = 1.2, 
	depth = 1.2,
	height = 1.2
endif

if width > 1.4 then
	parameters \
	width = 1.5, 
	depth = 1.5,
	height = 1.5
endif
また、上記のようにバックスラッシュを用いると改行することができ、コードを見やすくすることができます。parameters コマンドは頻出のコマンドなので、こうした書き方の工夫を覚えておくと便利です。


なお、基本的なGDLの学習はこちらの教材がおすすめです!
GDLリファレンスがgraphisoftが用意していますが、初見では理解しづらいので、
簡単にまとめられたやさしく学ぶArchiCAD GDLプログラミングという本で基礎をしっかり学びましょう!

また、ココナラでのサポートサービスも始めましたので、
ご活用いただければと思います。
1日GDL作成やArchiCAD関連の相談のります 自分でGDLを作成している方へ


【お知らせ】
Xのアカウントを作成しましたので、ぜひフォロー頂けると嬉しいです。
アカウントはこちらから⇨https://x.com/BIM_arekore

世界の建設業従事者、BIM推進者と繋がりたいです。よろしくお願いします。

検索

GDLオブジェクト

UI (4) ユニーク (1) ラベル (2) 仮囲い (6) 多角形 (3) 小ネタ (4) (7) 椅子 (4) 法規 (1) 無償DL (4) 足場 (15) 足場計画 (4)

ブログ アーカイブ

自己紹介

自分の写真
GDL作成などBIM活用のお仕事の相談お待ちしております。 #中堅ゼネコン出身 #施工管理職 #生産設計部 #BIM開発部門
ArchiCADのGDLをコスパよく作成します ArchiCADユーザーでGDL作成を外部委託されている方へ

QooQ