実際に梁オブジェクトから情報を取得して、ラベルに表示していきます。
今回のお題は「簡易鉄筋ラベル」です。早速作成していきたいと思います。
読者さんからの要望案件です。
お問合せいただいた内容と、最近の記事の内容とマッチしましたので、記事のネタとして採用させていただいております。
皆さんもぜひ、お気軽にお問合せいただければと思います。
完成イメージ
主な機能としては、
・梁オブジェクトの始点、終点に追従するラベル
・オブジェクトの回転等にも対応
・鉄筋のサイズや本数を変更可能
・寸法が自動で変更される
・空き寸法が足りないと寸法値の色が変わる(アラート機能)
・定着長さを編集できる
などです。
まずは完成イメージを動画にしましたので、ご確認ください。
パラメータリスト
作成にあたり、新規追加したパラメータは以下のようになっています。
それなりにボリュームがありますので、記事はいくつかに分けて書こうと思います。
![]() |
パラメータリスト |
梁の長さと幅を取得
まずは、基本的な梁の情報を取得します。マスタースクリプトで以下のように書き、分かりやすいようにしておきましょう。
マスタースクリプト
width=BEAM_THICKNESS length=(BEAM_LENGTH_RIGHT+BEAM_LENGTH_LEFT)/2
この変数はのちに2Dスクリプトなどで使いますので、一旦放置します。
変数のあれこれ
GDLには様々なグローバル変数がありますが、今回使うものをまとめて幾つか紹介します。下のスクリプトを確認しながら、内容を理解していただければと思います。
・LABEL_ROTANGLE
ラベルの向きを取得します。
・REQUEST("View_Rotangle","", angleViewRotation)
現在のビューの向きを取得するコマンドです。
・AC_LabelOrientation
ラベル要素の持つ、ラベルの向きタイプを取得します。
・LABEL_POSITION
ラベルの位置を取得します。xy座標の配列値です。
・BEAM_POSITION
梁オブジェクトの始点座標を取得します。
・BEAM_DIRECTION
梁オブジェクトの基準線の向きを取得します。
・BEAM_REFLINE_OFFSET
梁オブジェクトの基準線のオフセット値を取得します。
・ac_beam_inclination
梁の傾斜角度を取得します。
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 件のコメント:
コメントを投稿
何でも気軽にコメントください。