Marionette入門|ノードをつなぐVectorworks自動化を5ステップで始める
Marionette入門|ノードをつなぐVectorworks自動化を5ステップで始める
Vectorworksで同じ図形を寸法違いで何度も作り直したり、規則的な繰り返し配置を手作業で並べたりして、時間を取られていませんか。こうした繰り返し作業を、コードを書かずに自動化できるのがMarionette(マリオネット)です。Vectorworksに標準で用意されたビジュアルスクリプティング(部品を線でつないでプログラムを組む仕組み)機能で、プログラミング未経験の方でも扱えます。
この記事では、Marionetteの「ノード」と「ネットワーク」という2つの基本概念から、円を押し出す最小の作例、ワークシートやデータとの連携までを、はじめての方向けに順を追って解説します。Marionetteを使ったVectorworksの自動化を、実際に手が動くところまで落とし込むのがねらいです。
Marionetteの基本|ノードとネットワークで作る自動化
Marionetteは、Vectorworksの操作を「部品を並べて線でつなぐ」だけで自動化できる機能です。公式ヘルプでは、Pythonという基盤言語を理解しなくても複雑なスクリプトを視覚的に組めるビジュアルスクリプティングと説明されています(Vectorworks公式ヘルプ、2026年7月25日確認)。難しそうな名前ですが、覚えることは2つの言葉だけです。
ノードは「1つの作業」、ネットワークは「作業の流れ」
Marionetteの正体は、フローチャートを組むと図形やデータ処理が自動で走る仕組みだと考えると理解しやすいです。まずノード(node)は「円を作る」「押し出す」といった1つの動作を表す部品を指します。そのノードを順に並べたものがネットワーク(network)で、作業の流れそのものにあたります。
公式ヘルプによると、ノードは順番に実行されるネットワークとして配置されます。スクリプトは左から右へ読み、データは一方向に流れていきます。前のノードが出した結果が次のノードへ渡り、その連鎖の最後に図形やデータが出力される、という単純なルールです。
たとえば「整数を渡す」ノードの結果を「円を作る」ノードの半径に流し、その円を「押し出す」ノードへ送れば、数値から立体が生まれます。この一本道の流れが、Marionetteの土台になります。
プログラミングは不要、でも中身はPython
コードを1行も書かずに始められるのが、Marionetteの入口のやさしさです。公式ヘルプでも、経験の浅いユーザーがPythonを理解しなくても複雑なスクリプトを組める点が強調されています。文字でコードを打たないので、タイプミスで動かないという初心者ならではの挫折が起きにくいのが利点です。
一方で、内部はPythonで動いています。慣れた上級者はPythonライブラリを使って独自のノードを作り、配布することもできます。つまり入口は簡単でありながら、天井は高いという構造です。最初はやさしく始めて、必要になったら深く踏み込める余地が残されています。
同じ「ノードをつないで組む」タイプの仕組みは、RhinoのGrasshopperやRevitのDynamoにもあります。Marionetteはその仲間をVectorworksの標準機能として使えるものだと捉えると、位置づけがつかみやすいでしょう。
使えるのはどのVectorworks?
Marionetteは、Design Suite製品で利用できる機能です(公式ヘルプ記載、2026年時点)。すべてのエディションに入っているわけではないので、自動化を目的にVectorworksを選ぶなら、この点を先に確認しておくと安心です。
エディション別の利用可否や価格の細かい違いは、この記事では扱いません。仕様や料金の比較は db.persc.jp/vectorworks/ にまとめているので、購入検討の段階ではそちらを参照してください。
3種類のノードを知る(基本・ラッパー・オブジェクト)
ネットワークを組むときに出会うノードは、大きく3種類に分かれます。最初にこの区別を押さえておくと、他の人が作ったサンプルを開いたときに「これは何をする部品か」を見分けやすくなります。
| ノード種別 | 役割 | 使いどころ |
|---|---|---|
| 基本ノード | 処理の最小部品(作る・渡す・押し出す) | 最初のネットワーク作り |
| ラッパーノード | 複数ノードを1つに統合 | 大きくなった処理の整理・共有 |
| オブジェクトノード | 生成物を再利用できる部品として保存 | くり返し使う部品の資産化 |
(ソース: Vectorworks公式ヘルプ Visual scripting with Marionette、2026年7月25日確認)
基本ノード|処理の最小部品
はじめて触るときに使うのは、ほとんどこの基本ノードです。基本ノード(basic node)は、コマンドの実行・演算・パラメータ値の提供といった標準的な処理を担います。「円を作る」「数値を渡す」「押し出す」などは、すべてこの基本ノードにあたります。
最初のうちは、基本ノードだけでネットワークが完成します。あとで紹介する円を押し出す作例も、使うのは基本ノードだけです。まずはこの部品に慣れることが、Marionette習得の第一歩になります。
ラッパーノード|複数ノードを1つにまとめる
ネットワークが大きくなってきたら、ラッパーノードの出番です。ラッパーノード(wrapper node)は、複数のノードからなるネットワークを1つのノードに統合できます。統合したノードの入力はオブジェクト情報パレット(画面右側で選択中の部品の設定を表示・編集するパネル。OIPと略します)から直接触れるので、他の人と共有したり再利用したりしやすくなります。
たとえば「窓を1つ作る一連の処理」を10ノードで組んだあと、それを1つのラッパーにまとめておけば、次からは幅と高さの数値を入れるだけで窓を量産できます。よく使う処理をボタン化する感覚で使う部品です。
オブジェクトノード|再利用できる部品として保存
作った結果を資産として残したいときは、オブジェクトノードを使います。オブジェクトノード(object node)はMarionetteオブジェクトを生成し、スタイルリソース(設定ごと保存して使い回せる部品)として保存できます。
このノードで作ったオブジェクトは、ワークシートやリストの値に依存させておけば、元のデータが変わったときに再実行で自動更新されます。手すりの本数や什器の数量など、後から変わりうる要素をデータとひも付けて持たせておける点が便利です。
最初のネットワークを作る|円を押し出す5ステップ
Marionetteは、手を動かして1つ作ってみるのが理解の近道です。ここでは公式クイックスタートに沿って、円を作って押し出すだけの最小ネットワークを組みます(Vectorworks公式クイックスタート、2026年7月25日確認)。使うノードは3つだけです。
| ステップ | 操作 | 使うノード/つなぐポート |
|---|---|---|
| 1 | 円を作る部品を置く | Create Circle |
| 2 | 半径の数値を渡す部品を置く | Integer(初期値4) |
| 3 | 押し出す部品を置く | Extrude |
| 4 | 部品同士を線でつなぐ | Integer→Radius、Circle→Objectプロファイル |
| 5 | ネットワークを実行する | 右クリックRun/OIPのRun |
ノードを3つ置く(円・整数・押し出し)
材料となる3つのノードを画面に配置するところから始めます。「Circle」を検索してCreate Circle(円を作る)ノードを置き、「Integer」を検索してInteger(整数を渡す)ノードを置き、「Extrude」を検索してExtrude(押し出す)ノードを置きます。
このうちIntegerノードは、オブジェクト情報パレットで値を設定します。公式の例では初期値を4にして、「Circle radius」など分かる名前を付けています。何の数値かを名前で示しておくと、あとでネットワークを見返したときに迷いません。
ポートを線でつないでデータを流す
ノードを置いただけでは、まだ何も起きません。ポート(ノードの左右にある入出力の接続点)を線でつないで、データの流れを作ります。まずIntegerの出力を、Create Circleの半径(Rad)入力につなぎます。次にCreate Circleの出力を、Extrudeのプロファイル(Obj)入力につなぎます。
つながった順に、整数から円へ、円から押し出しへと左から右へデータが流れます。この一本の流れが、まさにネットワークです。線でつなぐという操作が、そのままプログラムの「順番」を決めていると考えてください。
スクリプトを実行する
流れができたら、ネットワークを走らせます。ネットワーク内の任意のノードを右クリックして「Run Marionette Script」を選ぶか、オブジェクト情報パレットの「Run」ボタンを押すと実行されます。
実行すると、半径4の円を押し出した立体がグループとして生成されます。結果はグループにまとまっているので、グループを解除すると中の押し出し本体にアクセスできます。ここまでで、数値から立体が自動で生まれる最小の自動化が完成しました。
数値を変えて作り直す=パラメトリックの体験
Marionetteの一番のうまみは、この次の一手で体感できます。Integerの値を4から6に変えて再実行すると、それだけで円の半径が変わり、押し出した立体も大きくなります(公式クイックスタートの例)。もう1つIntegerノード(例: 値10、名前は「Extrude height」)を足してExtrudeのTop(高さ)入力につなげば、高さも数値で操作できるようになります。
パラメータ(数値)を差し替えるだけで形が変わるこの仕組みが、パラメトリックです。建築の実務では、たとえば同じ柱を直径だけ変えて何パターンも出したいとき、あるいは階数に応じて手すりの段数を自動で増やしたいときに効いてきます。1つずつ描き直す代わりに、数値を打ち替えるだけでバリエーションを量産できるのが強みです。
ワークシート・データと連携する
Marionetteは図形を作るだけでなく、Vectorworksの強みであるデータやワークシート(Vectorworks上の表計算シート)ともつながります。この連携こそが、図面と数量を自動で連動させる入口になります。
ワークシートの値を読み書きする
Marionetteには、ワークシートのセルから数値や文字列を読み取ったり、セルへ値を書き込んだりするノードがあります(Worksheet - Input系。Vectorworks公式ヘルプ、2026年7月25日確認)。
これができると、「表に入れた寸法の一覧から図形をまとめて作る」「Marionetteの処理結果を表に書き出す」といった往復が可能になります。たとえば部屋ごとの面積表を用意しておき、その値を読んで各部屋のダイアグラムを自動生成する、といった使い方です。ワークシートそのものの作り方や関数、数量集計の手順は、ワークシートで数量表・集計表を自動作成するで解説しているので、この記事はMarionetteからの読み書きに絞ります。
レコード情報を使った自動処理
オブジェクトに付けたレコード情報(部品に持たせる属性データ)を条件にして、処理を組むこともできます。ワークシートやリストの値に依存するオブジェクトは、元データを変えたあとに再実行すると更新されます。
たとえば建具に「防火種別」というレコードを持たせておき、その値に応じて注記や色分けを自動でふり分ける、といった処理が考えられます。レコードフォーマットの作成やオブジェクトへの付与そのものは、レコードフォーマットでオブジェクトに情報を持たせるで解説しています。この記事では、作ったレコードをノードで扱えるという入口だけ押さえておいてください。
Marionetteについての編集部の見解|未経験者が最初に触れる価値
公式ドキュメントを読み解くと、Marionetteは「自動化の入口として学びやすいものの、成果を出すには段階的な学習がいる機能」だと整理できます。編集部の見解として、プログラミング未経験の建築実務者が最初に触れる自動化ツールとしては相性が良いと考えています。
コスト面と実用面では、Design Suite製品を使っていれば追加費用なしで標準機能として使える点が入りやすさにつながります。文字でコードを書かない分、動かない原因を線のつなぎ間違いなど目で追える範囲に絞れるので、独学でも原因を切り分けやすいのが実用上の利点です。
制約もあります。公式ヘルプが述べるとおり利用はDesign Suite製品に限られ、Fundamentalsなどでは使えません。またノード1つずつの意味を覚えるまでは手が止まりやすく、複雑になったネットワークは線が増えて読みにくくなります。未経験者ほど、最小の作例から範囲を少しずつ広げる進め方が向いています。
推奨できるのは、繰り返しの多い図形作成やデータと連動した注記に時間を取られている実務者です。逆に、単発の図面をたまに描くだけの使い方であれば、学習コストに見合わないこともあります。自分の作業に「同じことのくり返し」がどれだけ含まれるかが、取り入れる価値の目安になります。
未経験者がつまずかない学習の順番
Marionetteで挫折しないコツは、いきなり大きな仕組みを目指さないことです。少ないノードで完成する小さな成功体験を先に積み、そこから範囲を広げるのが、遠回りに見えて一番の近道になります。
まず既存サンプルを触ってから自作へ
最初の一歩は、この記事の円を押し出す例のように、ノードが3つで完結する作例を実際に動かすことです。動く手ごたえを先につかんでおくと、その後の学習が続きやすくなります。
慣れてきたら、数値をパラメータ化する、ラッパーノードで整理する、ワークシートやレコードと連携する、という順で少しずつ範囲を広げると無理がありません。途中で意味の分からないノードに出会ったら、名前で検索して1つずつ役割を確かめる習慣をつけると、独学でも詰まりにくくなります。
活用シーン|Marionetteを学んだ先に広がること
数値でかたちを操れるようになると、これまで手作業で何度も描き直していた場面が、値の打ち替えだけで済むようになります。たとえば敷地条件ごとに寸法の違うプレゼン用ボリュームを何案も出す、規則的なルーバーやパネル割りをまとめて生成する、部屋数に応じた什器配置を自動で並べる、といった作業です。
さらにデータ連携まで進めば、図面と数量表が別々に管理される状態から、片方を変えればもう片方も追従する状態へと変わります。Marionetteを学んだ人と学んでいない人の差は、単発の図面では見えにくくても、案件が増え、変更が重なるほど制作スピードとしてはっきり表れてきます。
まとめ
Marionetteは、Vectorworksの操作をノードでつないで自動化するビジュアルスクリプティング機能です。プログラミング未経験でも始められ、慣れれば繰り返し作業やデータ連携を大きく効率化できます。この記事の要点を4つに整理します。
1つ目は、ノードが「1つの作業」、ネットワークが「作業の流れ」を表し、データは左から右へ一方向に流れるという基本ルールです。2つ目は、コードを書かずに組めるため、初心者でも挫折しにくいことが挙げられます。3つ目は、Integerの値を4から6へ変えるだけで立体の大きさも変わるように、数値を差し替えるだけで形を操れるパラメトリックが最大のうまみです。4つ目は、ワークシートやレコードとの連携で、図面と数量を連動させられる点にあります。まずはDesign Suite製品で、円を押し出す最小の作例から手を動かしてみてください。
建築知識の教科書