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に機能を追加してみる②

GDLオブジェクト

UI (1) ユニーク (1) 椅子 (4) 仮囲い (6) (7) 小ネタ (3) 足場 (15) 足場計画 (4) 多角形 (3) 法規 (1) 無償DL (4)

ブログ アーカイブ

自己紹介

自分の写真
GDL作成などBIM活用のお仕事の相談お待ちしております。 #中堅ゼネコン出身 #施工管理職 #生産設計部 #BIM開発部門
ArchiCADのGDLをコスパよく作成します ArchiCADユーザーでGDL作成を外部委託されている方へ

QooQ