実際に梁オブジェクトから情報を取得して、ラベルに表示していきます。
今回のお題は「簡易鉄筋ラベル」です。早速作成していきたいと思います。
読者さんからの要望案件です。
お問合せいただいた内容と、最近の記事の内容とマッチしましたので、記事のネタとして採用させていただいております。
皆さんもぜひ、お気軽にお問合せいただければと思います。
完成イメージ
主な機能としては、
・梁オブジェクトの始点、終点に追従するラベル
・オブジェクトの回転等にも対応
・鉄筋のサイズや本数を変更可能
・寸法が自動で変更される
・空き寸法が足りないと寸法値の色が変わる(アラート機能)
・定着長さを編集できる
などです。
まずは完成イメージを動画にしましたので、ご確認ください。
パラメータリスト
作成にあたり、新規追加したパラメータは以下のようになっています。
それなりにボリュームがありますので、記事はいくつかに分けて書こうと思います。
![]() |
| パラメータリスト |
梁の長さと幅を取得
まずは、基本的な梁の情報を取得します。マスタースクリプトで以下のように書き、分かりやすいようにしておきましょう。
マスタースクリプト
width=BEAM_THICKNESS length=(BEAM_LENGTH_RIGHT+BEAM_LENGTH_LEFT)/2
この変数はのちに2Dスクリプトなどで使いますので、一旦放置します。
変数のあれこれ
GDLには様々なグローバル変数がありますが、今回使うものをまとめて幾つか紹介します。下のスクリプトを確認しながら、内容を理解していただければと思います。
ラベルの向きを取得します。
・REQUEST("View_Rotangle","", angleViewRotation)
現在のビューの向きを取得するコマンドです。
ラベル要素の持つ、ラベルの向きタイプを取得します。
ラベルの位置を取得します。xy座標の配列値です。
梁オブジェクトの始点座標を取得します。
梁オブジェクトの基準線の向きを取得します。
梁オブジェクトの基準線のオフセット値を取得します。
梁の傾斜角度を取得します。
2Dスクリプト
unid=2000
!ラベルの回転
rotBy = -LABEL_ROTANGLE
!ビューの回転
_unused = REQUEST ("View_Rotangle", "", angleViewRot)
corr = 0
if (AC_LabelOrientation = 1 | AC_LabelOrientation = 5) then
summarot = (LABEL_ROTANGLE + angleViewRot) % 360
if summarot > 90 & summarot <= 270 then corr = 180
endif
rot2 rotBy + corr
add2 -LABEL_POSITION [1][1], -LABEL_POSITION [1][2]
add2 BEAM_POSITION[1],BEAM_POSITION[2]
rot2 BEAM_DIRECTION
!基準線オフセット
add2 0, BEAM_REFLINE_OFFSET
!かぶり
line_type cover_line_type
pen cover_pen
line2 0, width/2 - left_cover_thickness, cos(c)*length,width/2 - left_cover_thickness
line2 0, -(width/2 - right_cover_thickness), cos(ac_beam_inclination)*length, -(width/2 - right_cover_thickness)
【お知らせ】
ココナラでのサポートサービスも承っておりますので、
ご活用いただければと思います。
1日GDL作成やArchiCAD関連の相談のります 自分でGDLを作成している方へXのアカウントを作成しましたので、ぜひフォロー頂けると嬉しいです。
アカウントはこちらから⇨https://x.com/BIM_arekore
世界の建設業従事者、BIM推進者と繋がりたいです。よろしくお願いします。

0 件のコメント:
コメントを投稿
何でも気軽にコメントください。