マリオネット・スクリプト解説講座

第19回「輪切りのデザイン」

ArchitectLandmarkSpotlightDesigner2021

この記事は【2021年10月26日】に公開されたもので、2年以上経過しています。
記事の内容が古くなっていたり、新機能の追加・機能の改善が図られていることがあります。

ルーバーやプロダクトデザインなど採用される輪切り風のデザインは、マリオネットを使用すれば簡単に作成することができます。自由な形状のソリッドから輪切りのデザインを作成するプログラミング例を紹介します。

マリオネット解説講座 第9回「パラメトリックデザイン」では、板状の柱状体を積み重ねて柱のオブジェクトを作成する方法を紹介いたしましたが、今回はこの逆の発想で、自由なソリッドから板を切り出すイメージでデザインしていきます。

マリオネットツールではソリッド図形に対して等高線を作成する「Contour」ノードが搭載されています。今回はこのノードを使用して輪切りのデザインに反映するプログラムを紹介します。

19-1. 等高線作成ノード

「Contour」ノードはソリッド図形に等高線を作成するノードです。等高線の間隔と等高線を作成する方向のベクトルを指定します。

練習のため球体の輪切りをしながら解説します。

「Sphere」ノードで球体を作成します。球体の半径は1000mmとします。

球体のハンドルを「Contour」に繋ぎ、”nDelta”ポートに等高線の間隔200mmを入力してプログラムを実行します。球体を200mm間隔で輪切りにする等高線が作成されました。

※ 「Contour」ノードは元の図形が削除されませんので、不要な場合は「Delete」ノードで削除します。

“vDir”ポートには、等高線を作成する方向を3次元のベクトルで入力します。

xy平面から鉛直方向(z方向)に作成する:(0,0,1)

x方向に作成する:(1,0,0)

xy平面上で斜め45度に作成する:(1,1,0)

「Contor」ノードで作成される等高線はNURBS曲線です。NURBSをシェル図形に変換する「Shell」ノードを使用して等高線に厚みをつけます。間隔と厚みの寸法を同じにすることで隙間なく板を配置することができます。

19-2. ステップに変換する

斜面状の多段柱状体から等高線を作成して、ステップに変換するマリオネットコマンドを作成します。

あらかじめ複数の踊り場の平面を繋いだ多段柱状体を作成しておきます。多段柱状体には名前を設定します:”solid_obj”

「Name」ノードで多段柱状体のハンドルを取得して「Contour」ノードに接続します。元図形は塗り属性と線属性をなしに設定した「Attribute」ノードを使用して透明にします。

等高線の間隔がステップの高さに対応します。ステップの高さを150mmとします。

方向は鉛直方向です。「Vec3」ノードを使用して”vDir”ポートに(0,0,1)のベクトルを入力します。

「Contour」ノードの結果を「Shell」ノードに入力して等高線に厚みを与えます。

プログラムを実行します。階段状のオブジェクトが作成されました。

実行方法をマリオネットコマンド方式に変更します。「Name」ノードを削除してかわりに「Objs by Crit」ノードを繋ぎます。

“Criteria configuration…”ボタンをクリックして設定画面を開きます。条件を以下の通り設定します。

    • 左のプルダウン:選択の有無が
    • 右のプルダウン:選択されている

設定後、”Criteria”フィールドに「((SEL=TRUE))」が入力されていることを確認してください。

ステップ高さの値はコマンド実行のたびに入力できるように「Distance Dialog」ノードに置き換えます。入力画面の説明は「ステップの高さ」としておきましょう。

各種ノードの置き換えが済んだら、マリオネットネットワーク全体をラッパーノードに変換します。

コンテキストメニューから「メニューコマンドに変換…」を選択します。コマンド名を入力してOKを選択します。

ツール>マリオネットコマンドに、先ほど作成したコマンドが表示されます。

任意の多段柱状体や汎用ソリッドを選択状態にして、コマンドを実行します。

ステップに変換されました。

19-3. ルーバーオブジェクト

NURBS曲面から等高線を作成して、自由形状のファサードをルーバーに変換するマリオネットオブジェクトを作成します。

あらかじめファサードの自由曲面をNURBS曲面を使用して作図しておきます。NURBS曲面には名前を設定します:”nurbs_obj”

ステップのときと同様に「Name」ノードでNURBS曲面のハンドルを取得して「Contour」ノードに接続します。

等高線の間隔がルーバーの間隔に対応します。ルーバーの間隔を300mmとします。

等高線の方向は面の水平方向、つまりx方向に輪切りにしますので、”vDir”ポートに(1,0,0)のベクトルを入力します。

今回の等高線には面がありません。そのためシェルに変換することができません。ここでは3Dパス図形を用いてソリッド化していきます。

等高線のNURBS曲線をパス図形とします。断面図形はルーバーの板の断面として500mm×80mmの長方形を入力します。

プログラムを実行します。ルーバー状のオブジェクトが作成されました。

マリオネットオブジェクトに変換してルーバーのパラメトリックオブジェクトを作成します。

「Name」ノードを削除して代わりに「Control Geometry」ノードを繋ぎます。

間隔と板の大きさの入力ノードは「Slider」ノードに置き換えます。

置き換えが済んだらマリオネットネットワーク全体をラッパーノードに変換します。自由曲面のNURBS曲面をコントロールジオメトリに登録するので、ラッパーノードとNURBS曲面を選択した状態で、コンテキストメニューから「オブジェクトノードに変換…」を選択します。

ルーバーのマリオネットオブジェクトが作成されます。

スライダーでサイズを変更するとリアルタイムにオブジェクトに反映されます。

コントロールジオメトリの編集画面では自由曲面を編集することができます。

編集の結果はルーバーに直ちに反映されます。

サンプルファイルダウンロード

この機能を利用できる製品

Architect

Vectorworks Architect

建築設計や内装、ディスプレイデザインに対応した先進的なBIM・インテリア設計支援機能、拡張機能、さらには豊富な建築向けのデータライブラリを搭載した建築/内装業界向け製品
詳細情報 購入ページ

Landmark

Vectorworks Landmark

地形モデルや多彩な植栽、灌水設備計画等に対応するランドスケープデザイン機能、さらには豊富な造園向けのデータライブラリを搭載した都市計画/造園業界向け製品
詳細情報 購入ページ

Spotlight

Vectorworks Spotlight

ステージプランニングやライティング計画に対応した先進的な舞台照明計画支援機能、さらには各種メーカー製のトラスや照明機材、音響機器等の豊富なデータライブラリを搭載したエンタテインメント業界向け製品
詳細情報 購入ページ

Designer

Vectorworks Design Suite

専門分野別(建築設計/ディスプレイデザイン、ランドスケープデザイン、ステージデザイン&スポットライトプランニング)の設計支援機能、拡張機能、さらには豊富なデータライブラリを搭載した最上位の製品
詳細情報 購入ページ