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に機能を追加してみる②

GDLオブジェクト

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

ブログ アーカイブ

自己紹介

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

QooQ