2015年3月8日日曜日

ファミリの一括処理(1)

Revitでも連続処理ができる!

あまり知られていませんが、RevitでもAutoCADみたいにファイルの連続処理ができます。たとえば

  • 複数のファミリのバージョンをアップグレードする
  • 複数のファミリのプロパティに値を設定する

などの作業ができます。手順を追って説明します。

ContentBatchUtility

連続処理を行うユーティリティが以下のフォルダにあります。
C:\Program Files\Autodesk\Revit 2015\ja-JP\Utilities\ContentBatchUtility
このフォルダの中に次の3つのファイルがあります。

  • readme.english.txt 説明書きです。
  • Upgrade_RFA.bat  ファイルをリストアップするバッチファイル
  • Upgrade_RFA.txt  ファイルをアップグレードするジャーナルファイル(呪文のようなもの)


ファイルリストを作成する

旧バージョンのファミリを一括で現バージョンにアップルグレードしてみましょう。「開いて上書き保存」を繰り返せばいいだけです。以下の手順に沿ってアップグレードするファミリファイルのリストを作成します。

(1)新しくフォルダ(ここではFolderAとします)を作成して、そのフォルダの中にアップグレードしたいファイルをコピーします。サブフォルダがあってもかまいません。

(2)(1)で作成したFolderAにUpgrade_RFA.batをコピーします。

(3)Upgrade_RFA.batを右クリックして「編集」を選択します。お好みのテキストエディタで開いていただいても結構です。

(4)先頭行のCHCP 1252 を 932に書き換えて保存します。(CHCPはChange Code Pageのコマンドで932はshift-jisの文字コードを示します。ちなみに1252は英語一般のことです。)
CHCP 1252を

CHCP 932 に書き換えて保存
(5)Upgrade_RFA.batをダブルクリックして実行しすると、famlist_rfa.txtというテキストファイルが作成されます。
Upgrade_RFA.batをダブルクリックするとfamlist_rfa.txtができる。

このファイルを開いてみると、このフォルダ内にあるrfaファイルの絶対パスのリストができていることがわかります。

(6)ファミリファイルの属性の「読み取り専用」属性を外す。
ファミリが入っているフォルダを右クリックして「プロパティ」を選択し、「全般」タブの属性の「読み取り専用」のチェックが外れていることを確認してください。
読み取り専用では上書き保存が出ないので、チェックされていたら外す。

ファミリをアップグレードする。

今度はファミリを連続で「開いては保存して閉じて」みます。ちょっと意外な動きをするので慎重に手順を追ってください。

(1)Revitを閉じます。デスクトップにRevitのアイコンが表示されていることを確認してください。

(2)Upgrade_RFA.txtをドラッグして、デスクトップのRevitアイコンにドロップします。

するとまるでRevitが自動運転されているように、次々とファイルを「開く」→「保存して閉じる」を繰り返します。

ジャーナルファイル

この処理はジャーナルファイルというあなたのRevitの操作を記録しているファイルです。以下のパスを確認してみてください。

C:\Users\(ユーザー名)\AppData\Local\Autodesk\Revit\Autodesk Revit 2015\Journals

この中にたくさんのテキストファイルがあります。これらはあなたがRevit上で行ったすべての操作がマウスの動きまで含めて記録されているファイルです。

このファイルを上記と同様にRevitのアイコンにドラッグドロップすれば、今日の皆さんの操作が再現されるというわけです。

もちろん今日の操作前のファイルが残っていれば、ということですが。

次回はこれを利用して、ファミリのプロパティを一気に更新する方法をご紹介します。