テクニカルサポート 年末年始休業について
休業期間:12月28日(土)~ 1月5日(日) 最終受付:12月27日(金) 17:00まで
休業期間中にいただたお問い合わせは、1月6日(月)より、順次、対応再開いたします。
2024-06-24 05:14 PM - 編集済み 2024-06-25 03:26 PM
※本記事は、旧サイト「How to use Archicad」より、Kiyoさん の2021年5月20日の記事を転載しています。
3Dモデルを作成中に、ふと「フロアからの高度がわかるオブジェクト・・・無いかなぁ」なんて考えて、かなり簡易的に作ってみましたので作成方法のご紹介です。(5分程度で作れます。)
完全独学のため解説については一部、GDL構文を理解しきれてない部分があります。ご了承ください。
まずはじめに新規オブジェクトの作成画面を開きます。(下図参考)
新しく画面が出てくるので、
ライセンスを「パブリックドメイン」に設定
パラメーター部分を追加します。
新規作成ボタンを押し、
名前と値については、入力した画面は作成完了後にオブジェクトの設定画面に反映されます。
変数については後ほど、GDL構文に利用します。
テキストサイズはmm単位です。
「250」はあくまで初期値ですので、配置後に自由に変更出来ます。
というわけで、3DのGDL構文を記入します。
——————
!縦棒モデリング
LIN_ 0,0,0,0,0,1
!テキストの設定(サイズ、起点)
DEFINE STYLE font_name_01 font_family, _TextSize, 8, 0
SET STYLE font_name_01
!高さの値の文字
addz 1 !(1m上に原点を移動)
rotx 90 !(X軸90°回転)
TEXT 0.01,0,STR(GLOB_ELEVATION*1000,3,1) !(文字の厚み、0(定数)、数値)
——————
コピペで貼り付けてもらって構いません。上から順に解説します。
不要な方はオブジェクトを上書き保存して飛ばしてください。
・LIN_ 0,0,0,0,0,1について
LIN_ x1, y1, z1, x2, y2, z2
点P1 (x1,y1,z1)と点P2 (x2,y2,z2)の間の線分
(GDLリファレンスガイドP61より)
座標で直線をモデリングしています。
ですので、今回の
LIN_ 0,0,0,0,0,1については
右図のようなイメージとなります。
・DEFINE STYLE font_name_01 font_family, _TextSize, 8, 0 について
↓こんな感じで5つに区切られてます。
DEFINE STYLE 「font_name_01」 「font_family」, 「_TextSize」, 「8」, 「0」
・「font_name_01」
このフォント設定の名前、自由につけてOKです。ただし、複数作成する場合は名前が重複するとエラーとなりますので、01の部分を02にするなどで対応します。
・「font_family」
使用されているフォントファミリの名前 (Garamondなど)だそうです。
(リファレンスガイドP228より)
いまだにここだけわかりません。グループ名でしょうか。誰か教えて下さい・・・
・「_TextSize」
文字の大きさを指定します。数字を直接記載してもOKですが、変更しやすいように、先程のパラメーターで作成した変数を入れてます。
・「8」
文字の配置原点の設定です。↓を参考に好みがあれば書き換えてください。
・「0」
太字や斜体や下線を設定できます。GDLリファレンスガイドには、下記内容が書かれてます。
要約すると
「太字、斜体、下線」のうち、有効にしたいものに「1」を代入して、計算結果の数値を突っ込んでくださいとのこと。(8は0と同じ扱いになります。)
今回は特にこだわらないので標準の0としてます。
・SET STYLE font_style_1 について
文字の通り、先程の設定を反映させるときに使います。
・addz 1 について
モデリングの原点をZ軸に1m移動させてます。 移動させないと、なんか違う・・・って感じになります。
今回は直線を1mでモデリングしてるので、好みに応じて変更してください。
1.5mの場合は「addz 1.5」って感じです。
・rotx 90 について
文字を90°、X軸方向で回転させてます。イメージは↓こんな感じです。
・TEXT 0.01,0,STR(GLOB_ELEVATION*1000,8,1) について
3D文字のモデルを作成してます。
構成は「0.01」「0」「STR(GLOB_ELEVATION*1000,8,1)」の3つで分かれてます。
・「0.01」について
文字の厚みを決めます。単位はメートルです。(今回は0.01m=10mmです。)
・「0」について
常に0です。
・「STR(GLOB_ELEVATION*1000,3,1)」
少しややこしいですが、この部分が3D文字の文章です。構成として
STR(「GLOB_ELEVATION*1000」,「3」,「1」)
と分かれてますので、ひとつづつ解説します。
STR(a,b,c)
小数点をどこまで表示するか決めてます。
a:どの数字を
b:最小の文字数+右詰め左詰めの設定
c:何桁まで
ここで
・「GLOB_ELEVATION*1000」(aの部分) について
GLOB_ELEVATIONが配置フロアからの高さとなります。
*1000については、GDL構文(単位m)と基準高さ(単位mm)の単位を合わせるため計算してます。
・「3」(bの部分) について
最小で何文字ですか?みたいなイメージらしいですが、今ひとつ理解出来ていません。
また、右詰め、左詰めの設定もこちらで行うとのことです。
(正の数、負の数にて設定)
3にした場合が一番良い配置でしたので3としています。
・「1」(cの部分) について
小数第一位まで表示。0で整数、2にすると小数第二位まで表示されます
(mm単位での表示にしてるので、自由に調整してください。)
以上でざっくり解説終了です。
あとはオブジェクトを「名前をつけて保存」してください。
※オブジェクト使用時の注意事項
上の画像に枠で囲ってますが、「配置フロア」からの高度を表示しますので
配置フロアがずれていた場合、その分だけ数値が変化します。ご注意ください。
2Dでの表示については、また機会があればご紹介します。
GDLに興味を持っていただけたら幸いです。