キャンセル
提案をオンにする
自動提案では、入力時に可能な一致が提案されるので検索結果を素早く絞り込むことができます。
次の結果を表示 
次の代わりに検索 
もしかして: 
  • フォーラム
    • インストール&アップデート
    • ライセンス
    • モデリング
    • ライブラリ&オブジェクト
    • ドキュメント
    • ビジュアライズ
    • BIMx
    • プロジェクト管理
    • パラメトリックデザイン
    • サスティナブルデザイン
    • チームワーク&BIMcloud
    • OPEN BIM
    • フリートーク
    • Our Community
  • ナレッジベース
    • インストール&アップデート
    • ライセンス
    • Archicadをはじめよう
    • モデリング
    • ライブラリ&オブジェクト
    • ドキュメント
    • ビジュアライズ
    • BIMx
    • プロジェクト管理
    • チームワーク&BIMcloud
    • OPEN BIM
    • Communityの使い方
  • Building Together
    • Insights
    • Archicadユーザーグループ
      • ユーザーグループ紹介
      • ユーザーグループからのお知らせ
      • Archicadユーザーグループマガジン
      • 施工ユーザーグループ メンバー専用
      • ワークフロー研究会 メンバー専用
    • USERFEST
      • USERFEST 2022
      • USERFEST 2023
      • USERFEST 2024
      • USERFEST 2025
    • チャレンジ(コンテスト)
      • Your Best Design Option
    • BIM相談室 配信情報
    • How to use Archicad - NEW
    • ウィッシュリスト
    • ロードマップ
    • Graphisoft テクノロジープレビュープログラム 2025
      • フォーラム
      • 新機能ガイド
      • ダウンロード
  • 製品ヘルプ
  • Service & Support
    • スキルアップ動画
search
ヘルプサインイン
キャンセル
提案をオンにする
自動提案では、入力時に可能な一致が提案されるので検索結果を素早く絞り込むことができます。
次の結果を表示 
次の代わりに検索 
もしかして: 
BMP10

BIM マネージャープログラム、11/4からライブクラス スタート。
受講生募集中!詳しくはこちらをご覧ください!

  • 日本コミュニティ
  • :
  • フォーラム
  • :
  • ドキュメント
  • :
  • ゾーンから要素プロパティに各仕上面の表面積等を取得するPyhonスクリプト【Pythonパレット】
オプション
  • RSS フィードを購読する
  • トピックを新着としてマーク
  • トピックを既読としてマーク
  • このトピックを現在のユーザーにフロートします
  • ブックマーク
  • この話題を購読する
  • ミュート
  • 印刷用ページ
ドキュメント
Archicadでドキュメントツール、ビュー、レイアウト、発行など図面化に関するフォーラムです。

ゾーンから要素プロパティに各仕上面の表面積等を取得するPyhonスクリプト【Pythonパレット】

ymch
ymch
Enthusiast
オプション
  • 新着としてマーク
  • ブックマーク
  • 購読
  • ミュート
  • RSS フィードを購読する
  • ハイライト
  • 印刷
  • 不適切なコンテンツを報告

‎2023-10-16 08:13 AM - 編集済み ‎2023-10-21 06:15 PM

‎2023-10-16 08:13 AM

試験機能として搭載されているPythonパレットを利用し、ゾーンから要素プロパティに各仕上面の表面積等を取得するスクリプトを作成してみました。
1ボタンでフロアに存在するゾーンの3Dバウンディボックスの座標を利用して、プロパティに仕上面積等の数値を自動入力することができます。


改良の余地は色々とありますが、一応使える場面もでてきたので、この場で公開をさせていただきます。

スクリプトは改良OKですので、よさげな改良方法と活用方法・アイディアがありましたら是非教えていただきたいと思います!!


●使えそうなシチュエーション
1_企画設計や基本計画段階での各室の壁仕上数量のざっくり算出
  →仕上表に仕上面積を追加とかもやろうと思えば可能
  →室グレードごとに、面積集計とかもできそう?

2_仮設計画における東西南北の見付け面積を手早く算出
3_ゾーン高さをプロパティに値として一括取得


●注意事項
1_プロパティのグループ名・プロパティ名を変更するとスクリプトは動作しなくなります。
  VScode等でプロパティ名を直接編集していただければ問題なく動作させることが可能です。
2_正確な値が取得できるのはゾーンが矩形の場合のみです、非矩形の場合は、正確な値では取得できません。
  これはゾーンの周長等から値を取得しているのではなく、3DのバウンティボックスのXYZの座標値を取得しているためです。
  そのため、実施設計等において柱型やPS壁などがある場合は、手動で減算するなどの措置が必要なため使用ケースが限られます。
   ・・・一応、減算用のゾーンを手動で作ったりすれば、数式プロパティを組み合わせることで非矩形にも対応できるかもしれません(未実証)


3_Pythonパレットの使用方法
https://support.graphisoft.co.jp/hc/ja/articles/900004054666Archicad%E3%81%A7Python%E3%82%92%E5%88%A...

 

●使う手順
1_プロパティのXMLデータをインポート
2_Pythonパレットを起動し、[zone_all_plus_wall_area_properties_setter_final_jp.py]を実行
3_各ゾーンの要素プロパティに数値が記入される


●取得できる値・・・・・・プロパティの名称
総仕上面積・・・・・Total Surface Area
天井仕上面積・・・Ceiling Area
床仕上面積・・・・・Floor Area
壁仕上面積・・・・・Total Wall Area

上辺壁面積・・・・・Top Wall Area
下辺壁面積・・・・・Bottom Wall Area
左辺壁面積・・・・・Left Wall Area
右辺壁面積・・・・・Right Wall Area

天井高さ・・・・・・・Zone Height
上辺長さ・・・・・・・Top Perimeter
下辺長さ・・・・・・・Bottom Perimeter
左辺長さ・・・・・・・Left Perimeter
右辺長さ・・・・・・・Right Perimeter
周長・・・・・・・・・・Total Perimeter

 

Pythonスクリプトの使用手順.png

 

Pythonスクリプトを用いたゾーンの仕上面積の取得.zip
ラベル:
  • ラベル:
  • その他
16 件のいいね!
返信
  • すべてのフォーラムトピック
  • 前のトピック
  • 次のトピック
9件の返信9
TOMIMARI
TOMIMARI
Advocate
オプション
  • 新着としてマーク
  • ブックマーク
  • 購読
  • ミュート
  • RSS フィードを購読する
  • ハイライト
  • 印刷
  • 不適切なコンテンツを報告

‎2023-12-19 09:42 AM

‎2023-12-19 09:42 AM

PYTHON入れてみようとしましたが、

なぜかエラーです。

 

ArchicadでPythonを利用する方法 – GRAPHISOFTナレッジセンター

 

 

この通りやったり、PYTHONも再度インストールしたんですけどね。

困った。。。

エラー.PNG

1 件のいいね!
返信
TOMIMARI
TOMIMARI
Advocate
オプション
  • 新着としてマーク
  • ブックマーク
  • 購読
  • ミュート
  • RSS フィードを購読する
  • ハイライト
  • 印刷
  • 不適切なコンテンツを報告

‎2023-12-19 09:44 AM - 編集済み ‎2023-12-19 09:51 AM

‎2023-12-19 09:44 AM

OSエラーのためパッケージをインストールできませんでした: プロキシ URL を確認してください。形式が正しくないため、ホストが欠落している可能性があります。警告: pip の最新バージョンをチェック中にエラーが発生しました。

 

翻訳するとこんな感じですね。

現在、サポートに問い合わせ中です。

 

ぜひ、解決したらトライさせて頂きます。

 

 

 

1 件のいいね!
返信
Kotetsu
Kotetsu
Expert
オプション
  • 新着としてマーク
  • ブックマーク
  • 購読
  • ミュート
  • RSS フィードを購読する
  • ハイライト
  • 印刷
  • 不適切なコンテンツを報告

‎2023-12-19 09:55 AM

‎2023-12-19 09:55 AM

@TOMIMARI さん

 

会社の通信にプロキシを使用しているのであれば、下記の記事で紹介した設定でうまくいくかもしれません。

https://howtousearchicad.com/addons/8593/

※ システム環境変数をいじるので自己責任 or システム管理者に相談の上実施してください。


▼ウィッシュリスト(投票が集まるとGSの検討対象になります。賛同してくださる方は投票をお願いします!)
「仕上げツール」を本体機能に | 「メッシュから屋根を作成」を本体機能に | フロアレベルからメッシュ点高度 | 躯体以外を表示 | メッシュ頂点に一括ラベル | 断面形状パラメータパレット | STB取込みで梁端部を柱面 | RFAをパラメトリック | レイヤーセットを現在の設定で更新 | ひとつひとつの線の線種/色/表示非表示を変更できる機能(ラインワーク) | 「線として表示」としてもBIMx上で通り芯を表示 | 部材の始点/終点座標を一覧表とプロパティで取得 | 通り芯と要素の連動 | 表現の上書きに数式
Win10 / 13th Gen Corei7 / 32GB RAM / RTX2000Ada Laptop
AC17 - 27 / ACUG
1 件のいいね!
返信
TOMIMARI
TOMIMARI
Advocate
Kotetsuに対する応答
オプション
  • 新着としてマーク
  • ブックマーク
  • 購読
  • ミュート
  • RSS フィードを購読する
  • ハイライト
  • 印刷
  • 不適切なコンテンツを報告

‎2023-12-19 01:08 PM

‎2023-12-19 01:08 PM

ありがとうございます。

システム管理者に相談してみます!

0 件のいいね!
返信
KJKAN
KJKAN
Contributor
オプション
  • 新着としてマーク
  • ブックマーク
  • 購読
  • ミュート
  • RSS フィードを購読する
  • ハイライト
  • 印刷
  • 不適切なコンテンツを報告

‎2024-01-19 06:37 PM

‎2024-01-19 06:37 PM

こんにちは

うまく動作いたしました。

実はこちらでも、ゾーンの壁面積を接する壁毎に分けて集計出来ないか悩んでいます。

特にゾーンから室の外壁側の面積と間仕切り壁側の面積をそれぞれ区別して集計したいのですが、以下の様な考え方でコードを作れないでしょうか。

(ArchiCAD Python APIは素人でまだよく分かりません。)

 

(1)ゾーンは壁オブジェクトに囲まれているとする。

(2)ゾーンを囲っている壁のリノベーションフィルタを、デフォルトの「既存」から「解体」に変更すると、ゾーンの壁表面積には「解体」に変更した壁の面積は計上されずに、「既存」の壁のみからなる値が集計される。

(3)よって、一つのゾーンに対して全ての壁のリノベーションフィルタを順番に1つづつ「既存」状態にし、壁の仕上を表す適当なIDとセットで壁面積を各ゾーンに保存していけば、ゾーン毎に壁種毎の面積が集計出来ないでしょうか。(下記のイメージ)

    for ゾーン in 全ゾーン 

     for 壁 in 全壁

      順番に1つの壁のリノベフィルタのみ「既存」とし、他は「解体」として、壁表面積と壁種IDをゾーンに記録

2 件のいいね!
返信
ymch
ymch
Enthusiast
オプション
  • 新着としてマーク
  • ブックマーク
  • 購読
  • ミュート
  • RSS フィードを購読する
  • ハイライト
  • 印刷
  • 不適切なコンテンツを報告

‎2024-02-01 08:14 AM

‎2024-02-01 08:14 AM

KJKAN様

返信遅くなりました。
やりたいことのイメージが理解できていないかもしれないのですが、リノベーションフィルタを利用したうえで、壁に仕上IDをプロパティ等で入力し、その情報をゾーンのプロパティに入力させるようなイメージでしょうか?

 

既存のPythonAPIでは壁ツールで書いた情報を特定のゾーンツールのプロパティに移し替えることは困難かもしれません。

壁の情報→ゾーンの情報に移し替えるということは、壁がどのゾーンのどの面に設置しているかをコード上で表現してプロパティの情報を移し替える感じになると思うのですが、Pythonのコマンド的にそれを判断する方法は現状ないと思われるからです。

 

2 件のいいね!
返信
KJKAN
KJKAN
Contributor
KJKANに対する応答
オプション
  • 新着としてマーク
  • ブックマーク
  • 購読
  • ミュート
  • RSS フィードを購読する
  • ハイライト
  • 印刷
  • 不適切なコンテンツを報告

‎2024-02-01 05:04 PM - 編集済み ‎2024-02-02 09:33 AM

‎2024-02-01 05:04 PM

(投稿場所誤り削除)

0 件のいいね!
返信
KJKAN
KJKAN
Contributor
ymchに対する応答
オプション
  • 新着としてマーク
  • ブックマーク
  • 購読
  • ミュート
  • RSS フィードを購読する
  • ハイライト
  • 印刷
  • 不適切なコンテンツを報告

‎2024-02-01 05:13 PM

‎2024-02-01 05:13 PM

ご連絡ありがとうございます。

(簡潔にまとめるのが下手で申し訳ありません。)

 

>やりたいことのイメージが理解できていないかもしれないのですが、リノベーションフィルタを利用したうえで、壁に仕上IDをプロパティ等で入力し、その情報をゾーンのプロパティに入力させるようなイメージでしょうか?

 

はい、ご理解の通りと思いますが、分けて書きますと、

(1)やりたいことは、各室毎に天井下までの壁面積を出来れば壁の種類毎に(少なくとも、外壁側と間仕切壁を分けて)出したい。

(2)開口部は除かれた壁面積で。ゾーンの高さは天井高とします。種類毎というのは接している壁の種別ID毎です。

(3)ゾーンのプロパティ「壁表面積」(a) が目的の値に近いですが、これは接している壁がある場合の全ての面積の合計です。

(4)壁オブジェクトのリノベーションフィルタを「既存」→「解体」にすればその壁のみゾーンの(a)の面積から除外されるので、この性質を利用。

 

>既存のPythonAPIでは壁ツールで書いた情報を特定のゾーンツールのプロパティに移し替えることは困難かもしれません。

壁の情報→ゾーンの情報に移し替えるということは、壁がどのゾーンのどの面に設置しているかをコード上で表現してプロパティの情報を移し替える感じになると思うのですが、Pythonのコマンド的にそれを判断する方法は現状ないと思われるからです。

 

なるほど、そうなんですね。因みに私が、Python APIでできるかな、と思った点は、

(6)Pythonでは図形オブジェクトを新規作成は出来ない(?)が、プロパティ値の変更は可能なはず(?)。

(7)ご指摘の「壁がどのゾーンに属すか」の判定については、特定のゾーンに対して、図面内の壁の方を総当たりで1つのみリノベフィルタで「既存」に切り替えて、ゾーンに壁面積(a)が現れるまで試すので、現れた時点の壁IDと面積でもってゾーンと壁を特定し、ゾーンのカスタムプロパティに記録出来るかもしれないと思いました。(総当たりのイメージは下記)

   for ゾーン in 全ゾーン 

      for 壁 in 全壁

         順番に1つの壁のみリノベフィルタを「既存」(他は「解体」)とし、

         面積が(a)に発生したときの値と壁種IDを同じゾーンのカスタムプロパティ

        「壁面積1」~「壁面積4」「ID1」~「ID4」に記録(ID別に加算上書き)

 

(8)「壁がゾーンのどの面に属すか」につきましては、面積とセットの壁種IDがあれば具体的な面の位置については必要ないと思いました。

 

(※2)そもそも、壁オブジェクトのプロパティ(ここではカスタムプロパティの種別ID)の取得や変更はPython APIでは出来ないということなのでしょうか。プロパティの種類にPythonで取得・代入が出来るものと出来ないものがあるのでしょうか。(もちろん形状に関わるものは変更出来ないと思いますが)

 

(※3)総当たりというのはプログラムの効率が悪いとは思いますが、工夫できそうかなあとも...

(※4)サンプルプログラムのFill Zone Overall with Dimensions.py を編集して、独自に作ったゾーンのカスタムプロパティに2Dバインドボックスの値を代入したりは出来ました。 ただし、例えば壁表面積(a)の取得が出来なかったりと、うまくいきません。

(※5)カスタムプロパティであれば、Pythonから取得や追加ができるのかと、ArchiCAD 上でゾーンのデフォルトプロパティの壁表面積を、同じゾーンのカスタムプロパティとして代入式で表示は出来ましたが...Pythonでの取得と値の代入方法が良く分かりませんでした。

1 件のいいね!
返信
TOMIMARI
TOMIMARI
Advocate
オプション
  • 新着としてマーク
  • ブックマーク
  • 購読
  • ミュート
  • RSS フィードを購読する
  • ハイライト
  • 印刷
  • 不適切なコンテンツを報告

‎2024-02-07 11:56 AM

‎2024-02-07 11:56 AM

PYTHONが、、、、

やっと、、、、

使えるようになったので報告します。

 

12/19にここでコメントして、本日やっと使えるようになりました。

 

何度もABKSSサポートセンター様や、うちの会社のセキュリティ担当と、

何度も何度も打ち合わせしてやっと。

 

プロキシや、マカフィーや、URLブロック解除や、

セキュリティを弱めたり?色々な事を行って出来たので報告します。

 

たくさん時間を使ってもらったので、サポート対応の方に感謝です。

各社セキュリティ対応も違うと思いますが、これだけ時間がかかった報告でした。

1 件のいいね!
返信
返信を見逃したくないですか?
トピックを購読する
Ignite Graphisoft Conference 2025 - October 6-8, 2025 - Budapest

回答が見つかりませんでしたか?

このフォーラムで
他の記事をチェック

フォーラムへ戻る

最新の解決策をチェック

採用された解決策

新しいディスカッションを始める

投稿する

フォーラム

  • インストール&アップデート
  • ライセンス
  • モデリング
  • ライブラリ&オブジェクト
  • ドキュメント
  • ビジュアライズ
  • BIMx
  • プロジェクト管理
  • パラメトリックデザイン
  • サスティナブルデザイン
  • チームワーク&BIMcloud
  • OPEN BIM
  • フリートーク
  • Our Community

ナレッジベース

  • インストール&アップデート
  • ライセンス
  • Archicadをはじめよう
  • モデリング
  • ライブラリ&オブジェクト
  • ドキュメント
  • ビジュアライズ
  • BIMx
  • プロジェクト管理
  • チームワーク&BIMcloud
  • OPEN BIM
  • Communityの使い方

Building Together

  • Graphisoft Insights
  • Archicadユーザーグループ
  • USERFEST
  • チャレンジ(コンテスト)
  • BIM相談室 配信情報
  • How to use Archicad - NEW
  • ウィッシュリスト
  • 製品ロードマップ
  • Graphisoft テクノロジープレビュープログラム 2025
Powered by Khoros
Copyright © 2025 GRAPHISOFT. All rights reserved.
  • プライバシーポリシー
  • 利用規約
  • コミュニティ投稿ガイドライン

GraphisoftはNemetschekのグループ企業です