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

自己紹介

自分の写真
初めまして。 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