テクニカルサポート 年末年始休業について
休業期間:12月28日(土)~ 1月5日(日) 最終受付:12月27日(金) 17:00まで
休業期間中にいただたお問い合わせは、1月6日(月)より、順次、対応再開いたします。
2024-02-13 11:51 PM
Forwardツールの「プロパティによる表現の上書き」、表現の上書きセットを作るのに便利ですよね。
ただ、オプションセットまたはTrue/Falseで指定できるプロパティのみへの対応のため、スラブレベルの色分け図に使うのはむずかしいです。
そこで、スラブなどのレベル色分け図を作成するときの表現の上書きセット作成の補助ツールを作ってみました。
免責事項:
動作条件:
Archicad27
Pythonパレットが動く環境
必要なPythonモジュール:
archicad , configparser , pandas , openpyxl
<手順>
1.色分けしたいスラブを全て選択
2."01_LevelExporter_v1.0.0.py"を実行
3.Excelが開くのでレベルごとにB列(color)に背景色を設定
※ 「テーマカラー」で入力すると色を取得できないので、動画のように「色の設定」から直接指定してください
4.Excelを保存
5."02_OverrideXMLCreater_v1.0.0.py"を実行
6.生成されたXMLファイルを表現の上書きにインポート
新たなレベルのスラブを追加した場合は、新しく追加したスラブも含め選択してから手順を繰り返してください。
(前回設定した色は"設定.ini"に保存され、Excelにも初期値として反映されます)
天井にも適用可能です。
<手順>
1.条件を天井に合わせて表現の上書きを作成する(レベル設定は適当で良い)
2.表現の上書きセットを作成し、.pyファイルと同じフォルダにエクスポートする
3."設定.ini"を開き「表現の上書きファイル名 =」の右側をエクスポートしたxmlファイル名に変更する
※この際、前回の値が[SavedColors]に保存されている場合は、[SavedColors]の文字列ごと下の内容を削除する
4."設定.ini"を保存する
5.天井を全て選択する
以下同じ
分類がArchicad分類-スラブでは無い場合など、条件が異なる場合も同じ手順でXMLファイルをエクスポートしてから使用してください。
「下部オフセット」のパラメータがある要素なら使えるので屋根・梁も同じように適用可能です。
設定.iniの各パラメータについて
[Settings]
小数点以下有効桁数 = 3
# 精度設定。mスケール
# 3の場合は小数点以下3桁まで有効(4桁目で四捨五入)
# 3の場合、1.3445 → 1.345(1345mm)
# 4の場合、1.3445 → 1.3445(1344.5mm)
表現の上書きファイル名 = スラブレベル上書き.xml
# 元になる表現の上書きエクスポートファイル
表現の上書きセット追加文字列 = (自動作成)
# 表現の上書きセットの末尾に追加される文字列(任意)
[DefaultColors]
def1 = 255, 0, 0
.
.
def12 = 50, 205, 50
# デフォルトカラー(12色)
# 前回の設定(SavedColors)が残っていない場合、Excel出力した際の初期値として設定される。
# 任意に変更・追加して良い
[SavedColors]
# 前回の設定
# 初期化する場合は[SavedColors]の文字列ごと削除する
よければ使ってみてください。
2024-02-14 08:39 AM
すごいですねー
当社はPythonを使いこなす技術も技量もないので
表現の上書きの下部オフセットで色分け図を作っております😅
2024-02-17 09:39 PM
面倒くさがりゆえ、それを手入力するのが嫌になっちゃったので作りました😎
一応Pythonの知識が無くても環境が整えられれば使えるようにはしているので、気が向きましたら是非~
2024-02-17 11:47 PM - 編集済み 2024-02-18 10:05 AM
早速使わせて頂きました〜
チョー簡単に色分けが出来て最高です。
Pythonだけで完結出来ないところをexcel と連携させるなんて思いもつきませんでした。
スクリプトを見て色々と勉強になりました。
有り難うございました。
2024-02-22 12:34 PM
今回「色を指定」を簡単にできないと意味ないなぁと思ってたのでなんらかのインターフェイスは必須でした。
かつノンプログラマー(私もプログラマーではないですが)にも使いやすく、となるとExcelはベターかもしれません。
(C++のアドオンのようにUIをArchicad内に作れればもっと良いですが・・・)
ごちゃごちゃしたスクリプトですが参考になれば幸いです。😋