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推進者と繋がりたいです。よろしくお願いします。

自己紹介

自分の写真
初めまして。 BIM活用のあれこれ運営人です。 普段はBIM界隈で働いております。皆さんに役立つ情報を提供できればと思っております。BIMマネやBIMオペ、開発、プログラミング、BIMコンサル、技術営業等様々な業務をおこなっております。 GDL作成などBIM活用のお仕事のご相談お待ちしております。 #ゼネコン出身 #施工管理 #生産設計 #BIM開発 #ソフトウェアベンダー #ArchiCAD API #GDL #ArchiCAD python #Revit API #Dynamo

メール

bim.arekore@gmail.com

検索

GDLオブジェクト

ブログ アーカイブ

ArchiCADのGDLをコスパよく作成します ArchiCADユーザーでGDL作成を外部委託されている方へ

QooQ