多角形GDLに機能を追加してみる③

2024年12月23日月曜日

abs GDL text2

t f B! P L
前回の記事で多角形GDLに各頂点の角度を追加してみました。 
今回はそれに面積の機能を追加していこうと思います。

面積表示


自己交差のない多角形面積の計算


自己交差のない多角形の面積は上の式で求めることができます。
これをGDLで書くと以下のようになります。

マスタースクリプト
s=0
for i=1 to vertices
	if i=vertices then
		i2=1
	else
		i2=i+1
	endif
		
	s=s+(x[i]-x[i2])*(y[i]+y[i2])
next i
area=abs(s)/2

parameters area=area

さらに2Dスクリプトでtext2コマンドを使って面積を表示します。
ホットスポットを追加して、数値を任意の位置に移動できるようにしています。

2Dスクリプト
hotspot2 0	    , area_pos[2], unID, area_pos[1], 1+128	:unID=unID+1
hotspot2 area_pos[1], area_pos[2], unID, area_pos[1], 2	:unID=unID+1
hotspot2 -1	    , area_pos[2], unID, area_pos[1], 3	:unID=unID+1

hotspot2 area_pos[1], 0	 , unID, area_pos[2], 1+128	:unID=unID+1
hotspot2 area_pos[1], area_pos[2], unID, area_pos[2], 2	:unID=unID+1
hotspot2 area_pos[1], -1         , unID, area_pos[2], 3	:unID=unID+1

text2 area_pos[1], area_pos[2], str(area, 4, 2)+ "㎡"


今回は以上となります。
最近は、より汎用的な基本プログラムに重点を置いてブログを書いています。
次回も機能を追加していきたいと思います。

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