Archicad GDLでフロア情報を扱う方法

2025年7月31日木曜日

request STORY_INFO ラベル

t f B! P L
施工図などをArchicadで書くためにラベルオブジェクトを作成したりしますが、配置フロアとは異なるフロアを基準にしたレベルを表示したい場合などに有効な方法をここに記しておきたいと思います。

例えば下の図のように、基礎F1を基礎階に配置していますが、1FLからの基礎下端レベルが知りたいとします。このような時はsymb_pos_zというグローバル変数で、配置された基礎オブジェクトのz座標(プロジェクト原点基準)を取得し、さらに1FLの高度が分かれば、それらの合計で?部分の数値を出すことができると思います。

基礎の配置高さ
基礎の配置

"STORY_INFO"

1FLの高度を調べるために、REQUESTコマンドの第一パラメータに"STORY_INFO"を指定します。これを使用することでフロアの数、 フロアのインデックス、名前、高度、次のフロアまでの高さなどのフロア情報を連続的に返してくれます。特定のフロアのインデックスを指定して情報を取得することも可能です。

試しに以下のスクリプトでArchicadに設定されたフロア情報を取得してみましょう。

マスタースクリプト
DIM temp[]
n = REQUEST ("STORY_INFO", "", nr, temp)
print(temp)

この状態で「スクリプトを確認」ボタンを押すと以下のようなポップアップが表示されます。
少し分かりづらいかもしれませんが、それぞれのフロアの「インデックス」「フロア名」「高度」「階高」が順に並んでいることが確認できるかと思います。

出力結果

続いて少し変えて以下のような状態で確認してみましょう。
第2パラメータを "" → 0 に変更しています。

マスタースクリプト
DIM temp[]
n = REQUEST ("STORY_INFO", 0, nr, temp)
print(temp)す
すると、インデックスが0のフロアのみが取得できます。この場合は1FLです。

出力結果


このような形でフロアの情報を取得できます。
では、今度は以下のようなスクリプトに変更してみてください。
"floorName"という整数タイプのパラメータも新規追加しておきます。

マスタースクリプト
DIM temp[],
	index[],
	name[],
	elev[],
	height[]

n = REQUEST ("STORY_INFO", "", nr, temp)
for i=1 to nr
	index[i]=i
	name[i]=temp[4 * (i - 1) + 2]
	elev[i]=temp[4 * (i - 1) + 3]
	height[i]=temp[4 * (i - 1) + 4]
next i

values{2} "floorName", index,name

このスクリプトでは、インデックス、フロア名、高度、階高それぞれの配列を用意して、格納しています。それをvalues{2}コマンドで使用すると、下の画像のようにフロアの選択肢が作成できます。Archicad側でフロアを追加したら、この選択肢も自動的に追加されるのでとても便利です。例えばラベルでこの機能を実装することで、表示したいレベルの基準フロアを変更することができます。例えば杭オブジェクトは基礎階に配置するけど、杭伏図には1FL基準のレベルを表記したい場合などに有効です。

フロアの選択肢設定


簡易な基礎オブジェクト

もっとイメージを掴むために実際にラベルを作成していきたいと思いますが、ラベルを配置するための親になるオブジェクトを簡単に作成したいと思います。

マスタースクリプト
material "コンクリート - 03"
prism 	4, zzyzx,
		-a/2, -b/2,
		 a/2, -b/2,
		 a/2,  b/2,
		-a/2,  b/2

project2 3,270,2

今回は簡単なものなので、全てマスタースクリプトに記述してしまいました。
下の画像が完成したオブジェクトです。とてもシンプル!
基礎オブジェクト
3D

基礎オブジェクト
2D


続いてラベルの作成になりますが、少し長くなってしまいましたので次回にしたいと思います。ラベルの作り方が分かってくると多種多様な表現ができるようになると思います。施工図の完成品としてのラベルだけでなく、確認作業のラベルなどをBIMで施工図を書くからできることがたくさんあるはずです。ぜひ皆さんのアイデアを実現していただければと思っています。

今回は以上となります。

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

Xのアカウントもありますので、ぜひフォロー頂けると嬉しいです。
アカウントはこちらから⇨https://x.com/BIM_arekore

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


検索

GDLオブジェクト

ブログ アーカイブ

自己紹介

自分の写真
連絡先:bim.arekore@gmail.com  普段はBIM界隈で働いております。皆さんに役立つ情報を提供できればと思っております。BIMマネやBIMオペ、開発、プログラミング、BIMコンサル、技術営業等様々な業務をおこなっております。#施工管理#生産設計#BIM開発#ソフトウェアベンダー#ArchiCAD API#GDL#ArchiCAD python#Revit API#Dynamo

QooQ