PlateauPython開発
Plateauデータを使って市街モデルを作る【Plateau】【Python】
2024.11.12
2024.01.18
入門編②ではGDLのパラメーターの作り方を解説します🎨
▼入門編①~オブジェクトの作り方~【初心者向け】はこちら
Archicadユーザーの方はパラメータを変更する操作には慣れていると思いますが、
そのデータ型を意識する機会は少ないかもしれません。
GDLのパラメータには以下のようなタイプがあり、パラメータ作成時には値に適したデータ型を選択する必要があります。
・長さ
・角度
・実数
・整数
・ブール
・テキスト
・ペン
・線種
・断面形状
・塗りつぶし種類
・ビルディングマテリアル
・タイトル
・分離記号
・辞書
今回はこの中から、オブジェクト作成時によく使用するデータ型のパラメータについて説明したいと思います。
データ型の詳しい説明はArchicadのヘルプサイトにありますので、気になる方はリンク先を確認してみてください!
https://help.graphisoft.com/ac/25/JPN/_AC25_Help/140_UserInterfaceDialogBoxes/140_UserInterfaceDialogBoxes-66.htm#XREF_87050_Parameters
例として、直方体をベースとして、その上に円柱または球体のトッピングを載せた簡単な形状を作成してみましょう。
今回使用するパラメータはこちらです。
まず、ベースの幅(baseWidth)・奥行き(baseDepth)・高さ(baseHeght)は「長さ」タイプです。
オブジェクト作成時、形状寸法のパラメータには基本的に「長さ」タイプを使用します。
showToopingはトッピングの表示・非表示を切り替えるパラメータで、データ型は「ブール」です。ON/OFFをチェックボックスで切り替えできるため、設定画面でよく見るのではないでしょうか?
デフォルトでトッピングが表示されるようにしたいので、今回はデフォルト値をONにしておきましょう。
toppingTypeはトッピング形状を選択するパラメーターで、「テキスト」タイプです。
画像のように選択機能を追加するためには、パラメータスクリプトで値を指定する必要があります。
パラメータリストにテキスト型のtoppongTypeパラメーターが追加できたら、パラメータスクリプト画面に移動して以下のコードを書きましょう。
values "toopingType" "円柱","球"
パラメーターリストに戻って確認すると、値の選択ができるようになっていると思います!
cylindToppingHeightとcylindToppingRadiusは、toopingTypeで「円柱」が選択されたときの円柱の高さと半径を指定する長さタイプのパラメータで、
sphereToppingRadiusは、toopingTypeで「球」が選択されたときの球の半径を指定する長さタイプのパラメータです。
今回は3Dスクリプトの詳しい説明は省略しますが、(また解説記事を出したいと思います😊)
先ほど説明した内容は以下のようなコードで作成することができます。
BLOCK baseWidth, baseDepth, baseHeight
add baseWidth/2, baseDepth/2, baseHeight
If showTooping = 1 then
If toopingType = "円柱" then
CYLIND cylindToppingHeight, cylindToppingRadius
else
!"球"のとき
addz sphereToppingRadius
SPHERE sphereToppingRadius
endif
endif
また、このままでは2Dでオブジェクトが表示されないため、2Dスクリプトに以下のコードを書いておきましょう。(3Dオブジェクトの投影を表示するスクリプトです。)
PROJECT2 3,270,2
これでGDLの作成は完了です。
ライブラリにファイルを保存して、実際に配置してみましょう。
3Dビューで確認すると、ベース形状の上に円柱のトッピング形状が作成されていますね👏
トッピング形状を「球」にすると、球が表示されますし、トッピングONのチェックを外すとトッピング自体が非表示になります。
また、ベース・トッピングともに各寸法もパラメトリックになっているので、値をいろいろと変更して動作を確認してみてください👌
関連記事はこちら🐈
PlateauPython開発
2024.11.12
BIMGISPython開発
2024.10.21
GISPython開発
2024.09.30
GISPython開発
2024.09.03
ARCHICADBIM
2024.08.01
ARCHICADBIM
2024.07.04