よくある質問解説講座

第53回「壁の構成要素が表示されない」

ArchitectLandmarkSpotlightDesigner2026

Vectorworks 2026では壁の仕様が変更され、2D表示を3Dの壁を切断したものから生成するようになりました。

これに伴い、高さのない壁の構成要素は切断面が発生しないため、2Dで表示されません。壁ツールの高さを設定せずに利用してきた方は、表示が変わってしまったのでビックリされたかもしれません。

ここでは、切断面の高さと壁、シンボルやプラグインオブジェクトとの関係をまとめます。

53-1. 切断面の高さ関係性

2026の壁の仕様変更を解説するにあたり、切断面の高さの関係性を把握する必要があります。

53-1-1. デザインレイヤの切断面の高さ

これまでもデザインレイヤの切断高さを設定することはできました。下図はバージョン2025のデザインレイヤの編集ダイアログですが、レイヤの高さからの切断面を有効にするというチェックがあり、ON/OFFすることができます。

ONにした場合は、任意の切断高さを入力することができます。

バージョン2025のデザインレイヤの編集ダイアログ

バージョン2026では、デザインレイヤの切断面が常に有効状態になりました。ユーザーは切断面の高さを指定できます。

この変更は今後の壁の機能強化に関わる部分で、壁の3D表示と2D表示に齟齬がないようにするためのものです。

バージョン2026のデザインレイヤの編集ダイアログ

53-1-2. 壁の切断面の高さ

バージョン2025までは、壁のタイプがカーテンウォールの場合のみ切断高さを設定できました。通常の壁の場合は、3Dの形状とは別に、定義された構成要素の2D属性をベースにした2D形状を生成していたためです。

バージョン2025の壁の設定ダイアログ

バージョン2026では、3D形状を任意の高さで切断した面を2Dとして表示する仕様に変更されました。

ここでデザインレイヤの切断高さとの関係性が生じます。

2026の壁の設定ダイアログでは、切断面の高さが一般の壁でも適用されるようになり、以下2つのパラメータに置き換わりました。

    • デザインレイヤの切断面を使用
    • 切断面の高さ
バージョン2026の壁の設定ダイアログ

デザインレイヤの切断面を使用をONにした場合、デザインレイヤの切断面の高さで切断した形状が、壁の2D表示となります。

OFFにすると、壁の設定ダイアログにある切断面の高さで切った形状が、壁の2D表示となります。

壁の切断面の高さに関しては、2通りの設定ができることになります。

    • デザインレイヤの切断面の高さを適用
    • 壁自体の切断面の高さを適用

基本的にはデザインレイヤの切断面の高さを使用し、状況に応じて壁の切断面の高さを使用するケースが使いやすいかと思います。

53-1-3. 挿入物の切断面の高さ

壁はそのままで存在するわけではなく、ドアや窓などの挿入物が配置されることが多いと思います。そういった挿入物に関しても切断面の高さを設定できます。

デザインレイヤと壁との関係性と同様のものが、壁と挿入物にも存在します。

プラグインオブジェクトの場合

ドア・窓などのプラグインオブジェクトは、配置済みのオブジェクトの上で右クリックし、プラグインオブジェクトオプションを選択します。

ダイアログに、壁の切断面の高さを使用2D/平面ビューの切断面の2つのパラメータがあります。これらは壁の設定ダイアログにあるものを同じような動作をします。

プラグインオブジェクトオプションダイアログ

シンボルの場合

シンボルはリソースマネージャに保存されるので、リソースマネージャのシンボルの上で右クリックし、シンボルオプションの編集を選択します。

プラグインオブジェクトと同様、壁の切断面の高さを使用2D/平面ビューの切断面の2つのパラメータがあります。

シンボルオプションダイアログ

53-2. まとめ

切断面の高さにおける関係性は、

デザインレイヤ >> 壁 >> 挿入物

という親子関係があり、上位の設定を継承するかどうかをそれぞれの設定ダイアログで決めることができます。

一例として、2つの壁とそれぞれに窓を配置したものを考えてみます。

右の壁はデザインレイヤの切断面の高さを使用していますが、窓は個別に切断面の高さを定義しています。

一方、左の壁は個別の切断面の高さを使用し、窓もその設定を使用するようにしています。

壁の高さや窓の位置など、さまざまなケースがあると思いますので、切断面の高さを設定することで、求める平面表現を得られるはずです。

53-3. 壁スタイルの設定をまとめて変えたい!

これまで切断面の高さに関して解説をしましたが、これまで高さを設定せずに壁ツールを使ったきた方も多いと思います。さらに構成要素を設定した壁スタイルを作りためた方も多くいらっしゃることでしょう。

いきなり、ストーリを活用して…壁の高さを定義して…というのもハードルが高いと思いますので、これまで作った壁スタイルの高さを一括で変更するスクリプトを作成しました。

以下のそれぞれのソースコードをコピーして、任意の名前でテキストファイルを保存してください。このとき、拡張子は.txtにしておいてください。

スクリプト使用上の注意使い方と仕様は後に記載していますので、必ずお読みください。

53-3-1. リソースマネージャの壁スタイル設定を変更する

PROCEDURE Main;
VAR
  listID, numItems, numComps, i, j : LONGINT;
  wallH : HANDLE;
  boo : BOOLEAN;
BEGIN
  listID := BuildResourceList(127, 0, '', numItems);
  FOR i := 1 TO numItems DO
  BEGIN
    wallH := GetResourceFromList(listID, 1);
    DelObjStoryBounds(wallH);
    SetObjectStoryBound(wallH, 1, 0, 0, '', 2000);
    SetObjectStoryBound(wallH, 0, 0, 0, '', 0);
    IF GetNumberOfComponents(wallH, numComps) THEN
      FOR j := 1 TO numComps DO
      BEGIN
        boo := SetCompTopIsRelStory(wallH, j, FALSE);
        boo := SetCompBotIsRelStory(wallH, j, FALSE);
      END;
  END;
END;
RUN(Main);

53-3-2. 配置済みの壁の設定を変更する

PROCEDURE Main;
VAR
  listID, numItems, numComps, i, j : LONGINT;
  wallH, layerH : HANDLE;
  boo : BOOLEAN;
BEGIN
  layerH := FLayer;
  WHILE layerH<>NIL DO
  BEGIN
    IF GetObjectVariableInt(layerH, 154)=1 THEN
    BEGIN
      wallH := FInLayer(layerH);
      WHILE wallH <> NIL DO
      BEGIN
        IF GetTypeN(wallH)=68 THEN
        BEGIN
          SetObjectVariableBoolean(wallH, 1167, TRUE);
          boo := SetWallOverallHeights(wallH, 0, 0, '', 0, 0, 0, '', 2000);
          IF GetNumberOfComponents(wallH, numComps) THEN
            FOR j := 1 TO numComps DO
            BEGIN
              boo := SetCompTopIsRelStory(wallH, j, FALSE);
              boo := SetCompBotIsRelStory(wallH, j, FALSE);
            END;
        END;
        ResetObject(wallH);
        wallH := NextObj(wallH);
      END;
    END;
    SetLayerCutPlane(layerH, 1000);
    layerH := NextLayer(layerH);
  END;
  ReDrawAll;
END;
RUN(Main);

53-3-3. リソースマネージャの壁スタイルと配置済みの壁の設定を変更する

PROCEDURE Main;
VAR
  listID, numItems, numComps, i, j : LONGINT;
  wallH, layerH : HANDLE;
  boo : BOOLEAN;
BEGIN
  listID := BuildResourceList(127, 0, '', numItems);
  FOR i := 1 TO numItems DO
  BEGIN
    wallH := GetResourceFromList(listID, i);
    DelObjStoryBounds(wallH);
    SetObjectStoryBound(wallH, 1, 0, 0, '', 2000);
    SetObjectStoryBound(wallH, 0, 0, 0, '', 0);
    IF GetNumberOfComponents(wallH, numComps) THEN
      FOR j := 1 TO numComps DO
      BEGIN
        boo := SetCompTopIsRelStory(wallH, j, FALSE);
        boo := SetCompBotIsRelStory(wallH, j, FALSE);
      END;
  END;
  layerH := FLayer;
  WHILE layerH<>NIL DO
  BEGIN
    IF GetObjectVariableInt(layerH, 154)=1 THEN
    BEGIN
      wallH := FInLayer(layerH);
      WHILE wallH  <> NIL DO
      BEGIN
        IF GetTypeN(wallH)=68 THEN
        BEGIN
          SetObjectVariableBoolean(wallH, 1167, TRUE);
          boo := SetWallOverallHeights(wallH, 0, 0, '', 0, 0, 0, '', 2000);
          IF GetNumberOfComponents(wallH, numComps) THEN
            FOR j := 1 TO numComps DO
            BEGIN
              boo := SetCompTopIsRelStory(wallH, j, FALSE);
              boo := SetCompBotIsRelStory(wallH, j, FALSE);
            END;
        END;
        ResetObject(wallH);
        wallH := NextObj(wallH);
      END;
    END;
    SetLayerCutPlane(layerH, 1000);
    layerH := NextLayer(layerH);
  END;
  ReDrawAll;
END;
RUN(Main);

53-3-4. スクリプト使用上の注意

これらのスクリプトは、高さ設定をしていない壁を2Dで正しく表示するためのものです。

また、スクリプトを実行する際は、必ずVectorworksファイルを複製してください。

ストーリやストーリレベルをきちんと使っているのに表示されない!という方は、レイヤの切断面の高さを確認してください。

ツール>オーガナイザを選択し、デザインレイヤタブで確認、修正が可能です。「0」になっていると正しい切断面が表示されません。壁が配置されているデザインレイヤの切断面の高さを設定してください。

オーガナイザダイアログ

53-3-5. スクリプトの使い方と仕様

Vectorworksで修正したいファイルを開き、ツール>プラグイン>スクリプトを実行を選択します。

ファイル選択ダイアログが開くので、先ほど保存したテキストファイルを指定します。

あとは自動で対象の壁スタイル、壁オブジェクトの高さを変更します。

デザインレイヤの切断面の高さは標準で1000となっているので、このプログラムでは以下のように変更します。

・壁の高さ基準(上)(下)をともに「レイヤの高さ」にします。
・壁のオフセット(上)を「2000」にします。
・壁のオフセット(下)を「0」にします。
・設定されているすべての構成要素の上端、下端ともに「壁を基準」にします。
・すべてのデザインレイヤの切断面の高さを「1000」にします。

これで、デザインレイヤの切断面の高さよりも高い壁になるので、2D/平面のビューで構成要素がきちんと表示されます。

これを機会に、ストーリをはじめとしたBIM機能を活用した建築モデリングを始めてみてください。

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

Architect

Vectorworks Architect

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

Landmark

Vectorworks Landmark

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

Spotlight

Vectorworks Spotlight

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

Designer

Vectorworks Design Suite

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