ArchiCAD GDLを学習 〜机の2D表現③〜

2024年8月29日木曜日

GDL GLOB_CUTPLANES_INFO

t f B! P L
前回 project2 コマンドと cutplane コマンドを使い、切断面を2Dに投影する方法を工夫しました。その際、切断面の高さを "cutElevation" というパラメータで任意に設定できるようにしました。今回は、ArchiCAD の平面図の切断面設定に連動させる方法に取り組みます。ArchiCAD の「ドキュメント」タブから、以下の画像のような設定が可能です。

切断面設定
平面図の切断面設定画面

GLOB_CUTPLANES_INFO

平面図の切断面設定を呼び出すには、GLOB_CUTPLANES_INFO というグローバル変数を使用することで取得できます。GLOB_CUTPLANES_INFO は長さ4の配列で、以下の順序で値が取得されます:

  1. 切断面の高さ
  2. 切断面の最高レベル
  3. 切断面の最低レベル
  4. ライブラリ部品のローカル座標系の絶対限度

GLOB_HSTORY_ELEV

GLOB_CUTPLANES_INFO に関連して、GLOB_HSTORY_ELEV というグローバル変数も覚えておくと便利です。これは、配置されているフロアの高度を取得するために使用できます。

GLOB_ELEVATION

GLOB_ELEVATION では、オブジェクトの配置フロアからの高さを取得することができます。

これらを図示すると、以下のようになります。

グローバル変数
レベル関連のグローバル変数


3Dスクリプト
unid = 1
material mat

add 0, 0, cutZ !切断面
cutplane
del 1

add 0, 0, underZ !下限表示範囲
cutplane 1,1,0,1
del 1
	gosub "desk"

	if dis_chair then
		hotspot 0, 		chair_pos[2], chair_height, unid, chair_pos[1], 1+128	:unid = unid+1
		hotspot chair_pos[1], 	chair_pos[2], chair_height, unid, chair_pos[1], 2	:unid = unid+1
		hotspot -1, 		chair_pos[2], chair_height, unid, chair_pos[1], 3	:unid = unid+1

		hotspot chair_pos[1], 	0	  , chair_height, unid, chair_pos[2], 1+128	:unid = unid+1
		hotspot chair_pos[1], 	chair_pos[2], chair_height, unid, chair_pos[2], 2	:unid = unid+1
		hotspot chair_pos[1], 	-1	  , chair_height, unid, chair_pos[2], 3	:unid = unid+1

		add	chair_pos[1], chair_pos[2], 0

		gosub "chair"
	endif
cutend
cutend

end 

マスタースクリプト
if GLOB_VIEW_TYPE = 2 then
	cutZ = GLOB_CUTPLANES_INFO[1]
	underZ = GLOB_CUTPLANES_INFO[3]
else
	cutZ = height + 1
	underZ = -1
endif

スクリプト

上記のようなコードを書くことで、平面図の切断面設定と連動した2D表現が可能になります。さらに、表示上限の設定や線タイプの設定などを加えていくことで、建築図面で求められる形により近づけることができ、情報をより工夫して伝達できるようになるでしょう。

なお、基本的な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