目次
- 4-1. 底面となる四角形の作成
- 4-1-1. 幅と高さから四角形を作成
- 4-1-2. 挿入点に四角形の中心を移動
- 4-2. 柱状体の作成
- 4-2-1. シンプルな柱状体
- 4-2-2. ハイブリッド化
- 4-2-3. いったん確認
- 4-3. レイヤとの連動
- 4-3-1. 上端のレイヤを取得
- 4-3-2. 下端のレイヤを取得
- 4-3-3. 所属するレイヤの高さとの差を設定
- 4-3-4. オフセットを追加
- 4-4. ムシ退治
- 4-4-1. レイヤ選択が正しいかを判定
- 4-4-2. もしも♫レイヤが♫カラ〜な〜らば〜
- 4-5. オブジェクトに変換
- 4-5-1. ラッパーノードに変換
- 4-5-2. オブジェクトノードに変換
- 4-5-3. 使ってみる
4-4. ムシ退治
4-3までで、レイヤに追従する柱状体がほぼできあがりました。
ただ、このままオブジェクトにしてしまうと、エラーが発生してしまいます。いわゆる「バグ」というものです。
上下のレイヤ指定のためのポップアップで、あらかじめデフォルトレイヤを指定しておくことはできますが、ファイルによってレイヤ名が変わることがあります。
その際、レイヤ名が空欄になることから、レイヤの高さを取得できずにエラーを出してしまいます。
4-4-1. レイヤ選択が正しいかを判定
上下のレイヤ選択ポップアップが空欄でないことを判定します。
- 使用するノード
- 入力関数>初級>Any 2つ
- 数学関数>基本計算>not equal 2つ
not equalノードの入力「n1」に3上端のレイヤノードの出力「hLayer」を、not equalノードの入力「n2」にAnyノードの出力「item」を接続します。
not equalノードは、2つの入力ポートが異なるものであれば「True」を、同じものであれば「False」を出力するノードです。
Anyノードを選択し、オブジェクト情報パレットのevalに「0」と入力します。3上端のレイヤで何も選択されていないときは「0」が出力されるので、きちんとレイヤが選択されているときはnot equalが「True」を、選択されていないときはnot equalが「False」を出力するようになります。
5下端のレイヤノードの方も同じように接続しましょう。
4-4-2. もしも♫レイヤが♫カラ〜な〜らば〜
ということで、2つの条件に合わせてレイヤの高さを取得します。
- 「もし」Anyが「True」ならば、選択されたレイヤの高さを…
- 「もし」Anyが「False」ならば、オブジェクトがあるレイヤの高さを…
これを実現するのがIfノードです。
- 使用するノード
- データフロー>If 2つ
まず、3上端のレイヤノードとGet Layer Elevationノードを切り離します。そこにIfノードを配置し、3上端のレイヤノードの出力「hLayer」をIfノードの入力「itemTrue」に接続します。Ifノードの出力「item」はGet Layer Elevationノードの入力「hLayer」につなぎます。
Ifノードの入力「itemFalse」には、Parent PIO>Get Layerノードの出力「hLayer」を接続します。
IfノードがTrueかFalseかを判定するために、入力「bTest」にnot equalノードの出力「b」をつなぎます。
これで、レイヤの選択が間違っていればオブジェクトが配置されたレイヤの高さを、正しければ指定されたレイヤの高さを取得して、柱状体作成に利用します。
5下端のレイヤノードの方も手を加えてみましょう。
できあがりは下図のようになります。
ネットワーク全体は下図のようになります。
このように比較的簡単なプログラムでもエラーの回避が必須になります。プログラムが大きくなるにつれて、エラー箇所の発見や修正が大きな作業になります。
これで今回のマリオネットの組み立ては以上となりますが、このままだと動かないので、次のセクションでオブジェクトノードに変換します。
この機能を利用できる製品
Vectorworks Architect建築設計や内装、ディスプレイデザインに対応した先進的なBIM・インテリア設計支援機能、拡張機能、さらには豊富な建築向けのデータライブラリを搭載した建築/内装業界向け製品 |
|
Vectorworks Landmark地形モデルや多彩な植栽、灌水設備計画等に対応するランドスケープデザイン機能、さらには豊富な造園向けのデータライブラリを搭載した都市計画/造園業界向け製品 |
|
Vectorworks Spotlightステージプランニングやライティング計画に対応した先進的な舞台照明計画支援機能、さらには各種メーカー製のトラスや照明機材、音響機器等の豊富なデータライブラリを搭載したエンタテインメント業界向け製品 |
|
Vectorworks Design Suite専門分野別(建築設計/ディスプレイデザイン、ランドスケープデザイン、ステージデザイン&スポットライトプランニング)の設計支援機能、拡張機能、さらには豊富なデータライブラリを搭載した最上位の製品 |