ArchicadのAutomationAPIについて

Archicad Pythonとは

Archicadの自動化ツール開発について

Archicadの自動化については、24以降の2020年からはじまったサービスです。Automation APIとしてPythonAPIとJsonAPIがArchicadのデータを通信するのに使用できるようになりました。これにより、Pythonというプログラミング言語の中で簡単な言語で様々な自動化が可能になりました。
以前だとアドオン開発が必要になり、ソフトウェアエンジニアでないと難しかった自動化ツールの作成が、Pythonを用いてスクリプトで実行できるようになりました。

開発環境について

  • Archicad - Version 24 以上が必要

  • Python - Pythonスクリプトを実行するため(バージョン3.7+)

  • archicad Python Package - この公式のarchicad PyPIパッケージ

  • 開発環境 - IDEを使用可能

Automation API概要

Automation APIの目的

Automation APIの目的は、ワークフローの自動化をサポートすることです。Pythonのラッパーがグラフィソフトから提供されていますが、このAPIにアクセスするには任意のプログラミング言語を使用することができます。ArchicadとPythonの間の通信は、JSONメッセージを使用してHTTPで行われます。Pythonパッケージは接続の確立を支援し、JSON通信します。

Python Paletteを用いた開発が推奨されています。

Options>Work Environment>More Options menuから設定できます。

画像引用:https://archicadapi.graphisoft.com/getting-started-with-archicad-python-connection
画像引用:https://archicadapi.graphisoft.com/getting-started-with-archicad-python-connection

スクリプトの書き方

ACConnectionとは?


ACConnectionはarchicad Python Packageのメインクラスです。このクラスは既存のArchicadのインスタンスへのライブ接続を表します。このクラスの最も重要な部分は以下の通りです。


  • connect このスタティックメソッドを使用してACConnectionのインスタンスを取得。実行中のArchicadインスタンスを自動的に認識。

  • commands: 現在接続されているArchicadインスタンスで利用可能なコマンドのコレクション。APIによって異なる関数がある。

  • types: APIに必要なタイプ。

utilities: API の使用を簡素化するユーティリティ関数。


画像引用:https://archicadapi.graphisoft.com/getting-started-with-archicad-python-connection

Python Palleteの使い方

Python PalleteでPythonを書くことが可能です。CPythonパレットのコンソールフィールドでスクリプトの出力を確認することができます。

フォルダを参照すると、その中にある実行可能なスクリプトが一覧表示されます。リスト内のスクリプトをダブルクリックするか、実行ボタンを押すと、選択したスクリプトが実行されます。

画像引用:https://archicadapi.graphisoft.com/getting-started-with-archicad-python-connection

IDEからPyhonを実行する

外部IDEを使うことで、デバッグがしやすくなり、開発も簡単に行うことができます。通常のPythonプログラムと同様に、実行するとArchicadのファイルが変更されます。

画像引用:https://archicadapi.graphisoft.com/getting-started-with-archicad-python-connection

事例

公式のサイトに様々なサンプルが載っています。日常の繰り返しの作業を効率化するのに、ぜひPythonで自動化ツールをつくってみたらいかがでしょうか。

GELでは企業向けのPythonの講習も開催しております。
GELで何かお手伝いできることがあれば、気軽にお問合せください。

参考

https://archicadapi.graphisoft.com/getting-started-with-archicad-python-connection

この記事が気に入ったらサポートをしてみませんか?