2011年4月5日
アド設計

Revit と addCad の連携
I.

Revit と意匠図
A. Revit から作成した平面図を addCad で修正
Revit から書き出した平面図（DWG ファイル）の柱、壁、開口を addCad で修正する例をとりあげます。まず、addCad で Revit から書き出された平面図で何ができるかを紹介します。

1)

addCad で開口（建具）を削除
Revit から書き出した平面図の建具はブロックとして配置されます。建具を削除した
後、addCad の［建築］タブ⇒［壁］パネル⇒［壁編集］ドロップダウン⇒［壁を結合］
ボタンをクリックすれば、切断された壁は元どおり結合されます。

建具が線分に分解されている場合は、addCad の［建築］タブ⇒［開口］パネル⇒［開口削除］ボタンを使えば、建具の削除と壁の結合が同時に実行されます。

12)

addCad で開口（建具）を追加
新しい建具の配置は addCad の［建築］タブ⇒［開口］パネル⇒［開口平面（建具）］
ボタンを使って、①開口中心線分、②壁の外側となる線分、③壁の内側となる線分の順に指定します。建具の幅に応じて壁が切り取られ、建具が配置されます。

3)

addCad で壁を追加
Revit から書き出した柱や壁は線分に変換されています。図形は書き出しレイヤファ
イル「exportlayers-dwg-addCad.txt」（HP からダウンロードできます）に登録された画層におかれています。
addCad の［建築］タブ⇒［壁］パネル⇒［壁作成］ボタンを使うと、壁は自動的に包絡処理されます。

2

平面図の 柱中心① を壁の始点、柱中心② を壁の終点の順に指定すると、作成された壁と交差する「柱」画層の線分が包絡処理されます。

また壁どおしを十字に交差させると包絡されます。

3

B. Revit から DWG ファイルを書き出す「A. Revit から書き出した平面図を addCad で修正」で紹介した DWG を Revit で作成 す る 方 法 を 解 説 し ま す 。 こ こ で 使 用 す る Revit の 書 き 出 し レ イ ヤ フ ァ イ ル「exportlayers-dwg-addCad.txt」と addCad の画層設定ファイル「Layers_addCad.xml」
は HP からダウンロードできます。

1)

Revit の意匠モデルから DWG ファイルへの書出し
Revit で DWG ファイルに書き出すとき、「CAD 形式書き出し」ダイアログボックスでカテゴリごとに画層を指定することができます。この設定は「書き出しレイヤファイル（*.txt）」として保存することができます。
ここでは「Revit User Group」の「BIM モデリングガイド意匠」の下図の平面図を例として使用します。
［アプリケーションボタン］→［書き出し］→［CAD 形式］→［DWG ファイル］を選びます。

4

「CAD 形式書き出し」ダイアログボックスの［DWG プロパティ］タブを開き、レイヤとプロパティで「すべてのプロパティ BYLAYER、優先設定なし」を選び、線種尺度で「モデル空間（PSLTSCALE=0）」を選び、レイヤとプロパティ欄右側の［…］ボタンをクリックします。

「レイヤを書き出す」ダイアログボックスの［ロード］ボタンをクリックします。

「書き出しレイヤファイルをロード」ダイアログボックスであらかじめ 作成した
「exportlayers-dwg-addCad.txt」（HP からダウンロードできます）を選び、［開く］ボタンをクリックします。
読み込まれたレイヤ名を確認して、［OK］ボタンで「CAD 形式書き出し」ダイアログボックスに戻ります。
［次へ］ボタンをクリックします。

5

「シートの外部参照ビュー」のチェックをはずして、［OK］ボタンをクリックします。

2)

addCad で画層設定と読み込み
addCad を起動して Revit の意匠モデルから画層を指定して書き出した平面図を開き、［管理］タブ⇒［設定］パネル⇒［画層設定］ボタンをクリックします。設定ファイル
欄右側の［］ボタンで、Revit 書き出しレイヤファイル「exportlayers-dwg-addCad.txt」と対の設定ファイル「Layers_addCad.xml」（HP からダウンロードできます）を開き、［OK］ボタンで画層設定を読み込みます。

この操作で Revit から書き出した図面上にある「壁」画層の線分を壁として、「柱」画層の線分を柱として認識されることになります。

6

II.

Revit と構造図
A. Revit モデルから梁断面リストを作成
Revit の構造モデルから addCad で梁の断面リストを作成する例をとりあげます。
addCad では下左図のように整った書式の梁断面リストをワンクリックで作成することができます。Revit では梁は「構造フレーム」ファミリとして扱われます。断面のリストも Revit だけで作成することができますが、その書式は下右図に示したように確認申請図などで使うには不十分です。

addCad が作成する断面リスト
1)

Revit が作成する断面リスト

Revit の構造モデル
Revit では鉄筋と梁はそれぞれが独立したエレメントになります。そのため、同じ 3G1という符号の梁でも、異なる配筋が可能という妙なことがおきてしまいます。
そのようなことを防ぐために梁や柱のプロパティとして配筋データを持たせるということもよくおこなわれます。プロパティとして設定された配筋データは Revit の図として表示されることはありませんが、1 つの符号には特定の配筋という条件を実現することができます。

7

SS3 からインポートされたプロパティ

Revit サンプルデータのプロパティ

ここでは SS3 から Revit Structure Extension の SS3 インポート機能を使って作成した下図のような構造モデルを例として使用します。

82)構造フレームの集計表を作成
まず、この構造モデルの梁断面の集計表を Revit で作成します。
［表示］タブの「作成」パネル→「集計表/数量」をクリックします。

「新しい集計表」ダイアログボックスで「構造フレーム」を選び、[OK]ボタンをクリックします。

各ダイアログボックスでプロパティを図のように設定します。

9

これで下図のような集計表ができあがります。Revit での操作でモデルが変更になればただちに集計表も変わるダイナミックな集計表です。

10

3)

集計表を書き出しRevit からこの集計表を書きだして、Excel シートとしてで扱えるようにします。Revitのアプリケーションメニューから「書き出し」→「レポート」→「集計」を実行します。

「集計表を書き出し」ダイアログボックスでは図のような設定にしておきます。

この操作で「構造フレーム集計.txt」ファイルができました。このファイルは Excelで開くことのできるタブ区切りのテキストファイルです。

114)

Excel で梁リストを変更「構造フレーム集計.txt」を Excel で開きます。addCad が使う Excel ファイル「梁リスト ss.xlsx」も開いておきます。この二つのファイルを並べて表示したのが下の図です。

右の Revit が書きだしたデータを、左の addCad 用のシートに移す必要があります。
アド設計のホームページに次のような Excel VBA プログラムがありますので、これを使えば一気に書式を整えることができます。
この Excel VBA プログラムを次に示します。（HP からダウンロードできます）
Sub SetBeamList()
Set ListSheet = Workbooks("梁リスト ss.xlsx").Worksheets("梁リスト")
cFloor = 4cRow = 21cColumn = 2
Dim CellData(12) As String
For Row = 2 To 44
Floor = ThisWorkbook.ActiveSheet.Cells(Row, 1).ValueIf cFloor <> Floor ThencRow = cRow + 20cColumn = 2End IfFor Column = 1 To 13
CellData(Column - 1) = ThisWorkbook.ActiveSheet.Cells(Row, Column).Value12

Next Column
ListSheet.Cells(cRow, cColumn).Value = CellData(0)' レベル
ListSheet.Cells(cRow + 1, cColumn).Value = CellData(1)' 梁符号
ListSheet.Cells(cRow + 2, cColumn).Value = "左端"
ListSheet.Cells(cRow + 2, cColumn + 1).Value = "中央"ListSheet.Cells(cRow + 2, cColumn + 2).Value = "右端"
ListSheet.Cells(cRow + 3, cColumn).Value = CellData(3)'W
ListSheet.Cells(cRow + 3, cColumn + 1).Value = CellData(3) ' W
ListSheet.Cells(cRow + 3, cColumn + 2).Value = CellData(3) ' W
ListSheet.Cells(cRow + 4, cColumn).Value = CellData(4)'H
ListSheet.Cells(cRow + 4, cColumn + 1).Value = CellData(4) ' H
ListSheet.Cells(cRow + 4, cColumn + 2).Value = CellData(4) ' H
ListSheet.Cells(cRow + 5, cColumn).Value = 0
ListSheet.Cells(cRow + 5, cColumn + 1).Value = 0
ListSheet.Cells(cRow + 5, cColumn + 2).Value = 0
ListSheet.Cells(cRow + 6, cColumn).Value = 0
ListSheet.Cells(cRow + 6, cColumn + 1).Value = 0
ListSheet.Cells(cRow + 6, cColumn + 2).Value = 0
ListSheet.Cells(cRow + 8, cColumn).Value = Left(CellData(5), 1) ' 主筋左上
ListSheet.Cells(cRow + 7, cColumn).Value = Mid(CellData(5), 2) ' 主筋左上
ListSheet.Cells(cRow + 14, cColumn).Value = Left(CellData(6), 1) ' 主筋左下
ListSheet.Cells(cRow + 13, cColumn).Value = Mid(CellData(6), 2) ' 主筋左下
ListSheet.Cells(cRow + 8, cColumn + 1).Value = Left(CellData(7), 1) ' 主筋中央上
ListSheet.Cells(cRow + 7, cColumn + 1).Value = Mid(CellData(7), 2) ' 主筋中央上
ListSheet.Cells(cRow + 14, cColumn + 1).Value = Left(CellData(8), 1) ' 主筋中央下
ListSheet.Cells(cRow + 13, cColumn + 1).Value = Mid(CellData(8), 2) ' 主筋中央下
ListSheet.Cells(cRow + 8, cColumn + 2).Value = Left(CellData(9), 1) ' 主筋右上
ListSheet.Cells(cRow + 7, cColumn + 2).Value = Mid(CellData(9), 2) ' 主筋右上
ListSheet.Cells(cRow + 14, cColumn + 2).Value = Left(CellData(10), 1) ' 主筋右下
ListSheet.Cells(cRow + 13, cColumn + 2).Value = Mid(CellData(10), 2) ' 主筋右下
ListSheet.Cells(cRow + 16, cColumn).Value = Left(CellData(11), 1) ' ST 本数
ListSheet.Cells(cRow + 16, cColumn + 1).Value = Left(CellData(11), 1) ' ST 本数
ListSheet.Cells(cRow + 16, cColumn + 2).Value = Left(CellData(11), 1) ' ST 本数
ListSheet.Cells(cRow + 15, cColumn).Value = Mid(CellData(11), 2) ' ST 本数
ListSheet.Cells(cRow + 15, cColumn + 1).Value = Mid(CellData(11), 2) ' ST 本数
ListSheet.Cells(cRow + 15, cColumn + 2).Value = Mid(CellData(11), 2) ' ST 本数
ListSheet.Cells(cRow + 17, cColumn).Value = CellData(12) ' ST ピッチ
ListSheet.Cells(cRow + 17, cColumn + 1).Value = CellData(12) ' ST ピッチ
ListSheet.Cells(cRow + 17, cColumn + 2).Value = CellData(12) ' ST ピッチ
cColumn = cColumn + 3
cFloor = Floor
Next Row
End Sub

13腹筋の設定や幅止め筋など Revit で持っていなかった情報をここで追加することもできます。また全断面が同じ部材もここで調整することが可能です。
作成した Excel シートは適当な名前を付けて保存しておきます。

5)

addCad で梁リスト作成
addCad では「梁断面リスト作成」のコマンドを使います。

［構造］タブの「リスト」パネル→「梁断面リスト作成」をクリックします。
「リスト作成」ダイアログボックスでは次の手順で作業します。

1

2

1 の「ファイルを開く」ボタンをクリックし、「リストファイルを選択」ダイアログボックスを表示します。「リストファイルを選択」ダイアログボックスではファイルの種類を「Excel ファイル」に切り替えて、目的のファイルを選択します。

14

2 の「まとめて作図」をマークして、［OK］ボタンで addCad の作図ウィンドウに梁断面リストが一気に、下図のように作図されます。現在の図面の尺度が「リストファイルを選択」ダイアログボックスで指定した尺度と異なる場合は警告が表示されます。

15

なにか問題があれば Excel のシートを修正し、もう一度 addCad の「梁断面リスト作成」コマンドを実行します。
部分拡大した図を下に示します。

この梁断面リストは各符号ごとにブロックになっており、文字の情報は属性値として表示されています。

16