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

2024年8月28日水曜日

cutplane GDL project2

t f B! P L
前回 project2 コマンドを使用して2Dへの投影方法を学習しました。今回は、この project2 コマンドの発展形について見ていこうと思います。たとえば、下の画像のように、切断するレベルを指定して2Dに表現する場合を考えてみます。
切断面
切断面イメージ

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

add 0, 0, cutZ
cutplane
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

end 

2Dスクリプト
PROJECT2 3,270,3

マスタースクリプト
if GLOB_VIEW_TYPE = 2 then
	cutZ = cutElevation
else
	cutZ = height + 1
endif

Project2{3}コマンドとCutPlane

3Dスクリプトを見ると、cutplane コマンドが使用されています。これは、切断面を作成し、その切断された部分を削除するためのコマンドです。cutplane  cutend の間に記述されているものが切断の対象となるため、この場合は "desk" と "chair"(詳細は過去の記事を参照)が切断されます。

cutplane にはさまざまな使い方があり、任意の平面を切断面に設定できますが、今回の書き方では X-Y 平面が切断面となり、それより上の部分が切断されるようになっています。切断位置は add コマンドを使い、cutZという変数でコントロールしています。この変数はマスタースクリプトで定義されています。


グローバル変数

マスタースクリプトでは、GLOB_VIEW_TYPE というグローバル変数を使用し、現在のビューが平面図かどうかを if 文で分岐させています。平面図(GLOB_VIEW_TYPE = 2)の場合、cutZ = cutElevation(これは新たに追加したパラメータ)とすることで、切断位置を自由に変更できるようにしています。一方、平面図以外のビューの場合は、cutZ = height + 1 として机の高さよりも上に切断面が位置するようにし、3D形状に影響が出ないように制御しています。

このようにコントロールすることで、3D形状はそのまま維持しつつ、2D表示の際に切断面を自由に調整できます。これにより、図面化する際の表現力を向上させる GDL を作成することが可能です。


cutplaneを用いた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