ArchiCAD 次世代足場GDLの作成~階段~

2024年9月19日木曜日

atn GDL gosub if 足場

t f B! P L
前回に引き続き、今回は階段部分の3D形状を作成していきます。階段の配置条件は、桁行方向の寸法が1829mmであり、梁間方向の寸法が1219mmまたは914mmの場合とします。階段部材のイメージは下の画像のような感じです。

足場階段GDL
階段イメージ

新規パラメータの追加

新規パラメータ

上の画像のように、dis_stairs というブール値のパラメータを新規追加しました。このパラメータをオン・オフすることで、階段の非表示をコントロールできるようにします。

ささらと踏面の作成

以下のコードを3Dスクリプト上に書くことで、イメージのような3D形状が出来上がります。

マスタースクリプト
!----------------------------------
!階段
!----------------------------------
stairs_D = 100/t		!支柱芯からの距離
stairs_num = 8			!段数
riser_H = 1.9/stairs_num	!蹴込み高さ
tread_W = 1.829/stairs_num	!踏面幅

マスタースクリプトには4つの変数を定義しています。蹴込みの高さと踏面幅は段数から換算しています。

3Dスクリプト
!----------------------------------
!階段
!----------------------------------

"階段":
	add 0.04, 0.1, 0.05
	roty 90 - atn(1.9 / 1.829)
	gosub "ささら"
	del 2

	add 0.04, 0.55, 0.05
	roty 90 - atn(1.9 / 1.829)
	gosub "ささら"
	del 2

	for i = 1 to stairs_num-1
		add tread_W*i - 0.05, 0.12, riser_H*i
		brick 0.2, 0.43, 0.02
		del 1
	next i
return

"ささら":
	brick 0.06, 0.02, sqr((1.829 - stairs_D*2)**2 + 1.9**2)
return

ささらの作成

階段部分のスクリプトは、「階段」ラベルと「ささら」ラベルに分けて、それぞれ作成しています。ささら部分の作り方は、ブレースを作成した時と同様に、三平方の定理でささらの長さを決定し、アークタンジェントで傾ける角度を求めています。

踏面の作成

踏面は for 文を使って作成しています。add コマンド内でマスタースクリプトで定義した変数と i = 1, 2, 3…を掛け算することで、brick コマンドで作成した踏面を斜めに連続複写しているイメージです。このような for 文と add コマンドの組み合わせは、さまざまな場面でよく使います。例えば、鉄筋のスターラップなどをイメージすると分かりやすいかもしれません。同じ形状を連続させるのに非常に便利です。

階段がある時の場合分け

最初にも書きましたが、階段の配置条件は、桁行方向の寸法が1829mmであり、梁間方向の寸法が1219mmまたは914mmの場合としています。そのため、以下のようなスクリプトを書くことで、この配置条件に対応できます。

注目すべきは、if dis_stairs then~ の部分です。配置条件を満たした形で階段が表示されるのはもちろんですが、それに伴ってアンチの有無やサイズも変更する必要があるため、このような書き方になっています。


3Dスクリプト
unid = 3000

material pillar_mat
gosub "支柱"
add 0, B, 0
gosub "支柱"
del 1

material ledger_mat
add 0, 0, 1.865
rotz 90
gosub "梁間方向布材"
del 2

material anti_mat


if dis_stairs & A > 1.8 then
	if b > 0.9 & b < 1.3 then
		addy B
		muly -1
		gosub "階段"
		del 2

		if b < 1.2 then
			add 0, 0.210, 1.865
			gosub "240アンチ"
			del 1
		else
			add 0, 0.362, 1.865
			gosub "490アンチ"
			del 1
		endif
	else
		gosub "アンチ"
	endif
else
	gosub "アンチ"
endif

addz -0.035
gosub "ブレース"
addy B
gosub "ブレース"
del 2

end

完成

最後に、完成したGDLがこちらです。梁間寸法を変えると、アンチのサイズが490mmから240mmに変更されるようになっています。また、桁行方向の寸法が1829mm以外の場合は、階段は表示されず、アンチのみが表示される仕組みになっています。

足場GDLの階段
足場GDLの階段


足場関連の記事はこちらから


なお、基本的なGDLの学習はこちらの教材がおすすめです!
GDLリファレンスがgraphisoftが用意していますが、初見では理解しづらいので、
簡単にまとめられたやさしく学ぶArchiCAD GDLプログラミングという本で基礎をしっかり学びましょう!

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


【お知らせ】
Xのアカウントを作成しましたので、ぜひフォロー頂けると嬉しいです。
アカウントはこちらから⇨https://x.com/BIM_arekore

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

自己紹介

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

メール

bim.arekore@gmail.com

検索

GDLオブジェクト

ブログ アーカイブ

ArchiCADのGDLをコスパよく作成します ArchiCADユーザーでGDL作成を外部委託されている方へ

QooQ