Archicadの属性xmlファイルを見てみる(1)(レイヤー編)
この記事でできるようになること
Archicadのレイヤー設定を出力したXMLファイルを編集することで変更できる
検証環境
- バージョン:Archicad 26 5002 JPN
- テンプレート:Archicad26 テンプレート.tpl
はじめに
Archicadは属性設定を別のPLNファイルに受け渡すためにエクスポートすることができます。
ファイル形式はxmlなので、書き換えることで属性設定をいじることが可能です。
レイヤー設定の出力
- オプション > 属性設定 > 属性 を開く
- レイヤーを選択し、右下のエクスポートボタンを押す
- 適当なフォルダを選択するとxmlファイルがエクスポートされる
中身を見てみる
適当なエディタでxmlファイルを開く
レイヤー名を変更してみる
レイヤー名らしきものを探してみる
「壁-躯体」というレイヤー名を探すと
<AttributeFile>
<RegisteredAttributes>
<Attributes Type="レイヤー">
<Layer Idx="2" Name="壁-躯体">
<Name>壁-躯体</Name>
となっているので、
<layer>
タグのName
アトリビュート と
<Name>
タグに記述されているらしいことがわかる。
この壁-躯体
という文字列を試しに両方ともWALL-STR
に書き換えてみる。
<Layer Idx="2" Name="WALL-STR">
<OdbObj Mv="2" Sv="0">
<OdbRef>
<guid>9F743904-4762-45CB-9494-E7898B34E732</guid>
</OdbRef>
<CreaTime>4199</CreaTime>
<ModiTime>4199</ModiTime>
</OdbObj>
<Name>WALL-STR</Name>
<Index>2</Index>
<Flags/>
<ModiTime>1467336944</ModiTime>
<RegMemoTable MemoNumber="0" Mv="1" Sv="0"/>
<ReadOnly>false</ReadOnly>
<ConnectionClassId>1</ConnectionClassId>
</Layer>
名前をつけて保存し、Archicadの属性画面からインポートボタンを押す。
① 一致設定:「インデックスによる」
② 参照から書き換えて保存したxmlファイルを選択する
③ 変更したWALL-STRの左のチェックを入れる(すべてにチェックを入れても良い)
④ インポートオプションを「上書き」にする
⑤ 「インポート」を押す。
レイヤーを見ると「壁-躯体」レイヤーが「WALL-STR」レイヤーに書き換わっている
レイヤー名以外のレイヤー設定
① 拡張名はレイヤー名の後ろに「.」を挟んで記述される
② インデックス名(属性でのみ表示)
③ レイヤー表示/ロック/ワイヤーフレーム表示状態 を|で区切って記述。
レイヤー表示/ロックなし/非ワイヤーフレームの場合は<Flags/>のみ記述される。
④ レイヤーの交差グループ番号
フォルダ
<AttributeFile>
<Folders>
<TypeRoot>
<Folder Name="[フォルダ名称]">
<Attribute Idx="[ID]"/>
に記述されている。
レイヤーインデックスが2と3のレイヤーが「デザイン」フォルダに含まれる場合は
<AttributeFile>
<Folders>
<TypeRoot>
<Folder Name="デザイン">
<Attribute Idx="2"/>
<Attribute Idx="3"/>
となる。
フォルダを移動してみる
「デザイン」フォルダに含まれている「オペレータ」レイヤーを「ドキュメント」フォルダに移動してみる。
「オペレータ」レイヤーを探すと
<Layer Idx="25" Name="オペレータ">
とあるので、レイヤーインデックス25を移動する
<Folders>
<TypeRoot RefID="1279351090">
<Folder Name="デザイン">
<Attribute Idx="2"/>
<Attribute Idx="3"/>
<Attribute Idx="4"/>
<Attribute Idx="5"/>
<Attribute Idx="6"/>
<Attribute Idx="7"/>
<Attribute Idx="8"/>
<Attribute Idx="9"/>
<Attribute Idx="10"/>
<Attribute Idx="11"/>
<Attribute Idx="12"/>
<Attribute Idx="25"/>
<Attribute Idx="27"/>
<Attribute Idx="28"/>
<Attribute Idx="29"/>
<Attribute Idx="30"/>
<Attribute Idx="34"/>
<Attribute Idx="35"/>
<Attribute Idx="36"/>
<Attribute Idx="37"/>
<Attribute Idx="40"/>
<Attribute Idx="41"/>
<Attribute Idx="42"/>
</Folder>
<Folder Name="ドキュメント">
<Attribute Idx="13"/>
<Attribute Idx="14"/>
<Attribute Idx="15"/>
<Attribute Idx="16"/>
<Attribute Idx="17"/>
<Attribute Idx="18"/>
<Attribute Idx="19"/>
<Attribute Idx="20"/>
<Attribute Idx="23"/>
<Attribute Idx="24"/>
<Attribute Idx="26"/>
<Attribute Idx="38"/>
</Folder>
<Folders>
<TypeRoot RefID="1279351090">
<Folder Name="デザイン">
<Attribute Idx="2"/>
<Attribute Idx="3"/>
<Attribute Idx="4"/>
<Attribute Idx="5"/>
<Attribute Idx="6"/>
<Attribute Idx="7"/>
<Attribute Idx="8"/>
<Attribute Idx="9"/>
<Attribute Idx="10"/>
<Attribute Idx="11"/>
<Attribute Idx="12"/>
<Attribute Idx="27"/>
<Attribute Idx="28"/>
<Attribute Idx="29"/>
<Attribute Idx="30"/>
<Attribute Idx="34"/>
<Attribute Idx="35"/>
<Attribute Idx="36"/>
<Attribute Idx="37"/>
<Attribute Idx="40"/>
<Attribute Idx="41"/>
<Attribute Idx="42"/>
</Folder>
<Folder Name="ドキュメント">
<Attribute Idx="13"/>
<Attribute Idx="14"/>
<Attribute Idx="15"/>
<Attribute Idx="16"/>
<Attribute Idx="17"/>
<Attribute Idx="18"/>
<Attribute Idx="19"/>
<Attribute Idx="20"/>
<Attribute Idx="23"/>
<Attribute Idx="24"/>
<Attribute Idx="26"/>
<Attribute Idx="38"/>
<Attribute Idx="25"/>
</Folder>
Archicadにインポートすると、移動している
最後に
レイヤーの対照表をExcelなどで作って、Python等でxmlファイルを書き換えることで、設計ー施工でテンプレートが違う場合の置き換えや、海外にモデル作成を発注する場合の言語変換などが可能です。
Discussion