【ARCHICAD】レイヤ名の先頭に共通の接頭語を一括してつける方法

読み込んだIFCファイルのレイヤ順序をまとめたいときなどに便利なTIPSを紹介します。

最近IFCファイルでデータをもらって、それをうまく意匠のマスターモデルに合わせるということをする機会がありました。
データを扱っている会社(業種)ごとに微妙にフロア設定が違ったりしてIFCは扱いにくく感じてたのですが、事前にそういう情報をIFCを結合した別のPLNファイルで調整しておいて、意匠マスターモデルにはホットリンクで表示させると言うやり方が良さそうなことに気づきました。

このやり方は結構便利ですが、ホットリンクした場合、レイヤもインポートされてマスターデータのレイヤと混ざってしまうんですよね。

上記のようにたくさんのレイヤーが混ざってしまった場合でもレイヤの管理をしやすくするためにホットリンク前のIFCファイルを結合したデータのレイヤ名の先頭に共通の接頭語を一括してつけるということを行いました。

そのための簡単なTipsの紹介です。

ARCHICADでレイヤ名の先頭に共通の接頭語を一括してつける方法

ARCHICAD内ではレイヤ名の先頭に一括して接頭語をつける方法がないため、一度レイヤ構成をXMLファイルで書き出して、そのファイルを編集するというやり方で行っていきます。

今回つける接頭語は、レイヤのなるべく下に表示させるために、「9999_」というものを一括してつけたいと思います。

現状レイヤ名の確認

まずはじめにIFCで取り込んだレイヤ名を見てみます。

こんな感じでメンバーごとに羅列されていることがわかります。実際にはレイヤ数は150以上ありました。

レイヤー情報を「属性マネージャー」からXML形式でエクスポート

これを属性マネージャーで開きます。属性マネージャーは、「オプション」>「属性設定」>「属性マネージャー」から開けることができます。

属性マネージャーを開いたら、レイヤーのタブのところで、「.IFCモデル」の拡張名のついたレイヤーをすべて選択し、中央の「索引>>」を押し、右側に移ったレイヤ設定を「エクスポート」で取り出します。

このときの拡張子は、「.XML」になります。

テキストエディタで接頭語を追加

取り出したXMLファイルをテキストエディターで開きます。テキストエディターは何でもいいです。ここではVS Codeを使用しています。

開いたらこんな感じかと思います。

ここでレイヤ名が記載されている箇所が2箇所あります。

<Layer Idx="3" Name="1C5A.IFCモデル">

というLayerタグの中のNameというセレクタと、

<Name>1C5A.IFCモデル</Name>

というように<Name>タグで囲まれた箇所です。

これの<Name>タグで囲まれたほうを変更するとレイヤ名が変わります。<Name>タグだけを変更するだけでも特に問題なく動きましたが、データ上正確にするために、Nameセレクタも一緒に変更しておいたほうがいいかもしれません。

変更は置換すれば全部一括でできますね。

セレクタなら、Name="Name="9999_に、

タグなら、<Name><Name>9999_に置換しちゃえばいいですね。

修正して上書き、または別名保存します。

再度、属性マネージャーで変更内容を取り込む

テキストエディタでの編集が完了したら、そのXMLファイルを再度ARCHICADの属性エディターにてインポートします。

今度は先程の逆で、「インポート」を選び、右側の接頭語のついた取り込まれたレイヤを全選択、中央の「<<索引」を押します。追加ではなく、索引とすることで、「#」の欄のIDと紐づく形でレイヤー名が置換されます。

OKを押して適用するとモデルの方にも反映されます。

以上、『【ARCHICAD】レイヤ名の先頭に共通の接頭語を一括してつける方法』でした。

大量のレイヤーを扱う際には便利かと思いますので、ぜひ使ってみてください。

コメント