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から設定できます。
スクリプトの書き方
ACConnectionとは?
ACConnectionはarchicad Python Packageのメインクラスです。このクラスは既存のArchicadのインスタンスへのライブ接続を表します。このクラスの最も重要な部分は以下の通りです。
connect このスタティックメソッドを使用してACConnectionのインスタンスを取得。実行中のArchicadインスタンスを自動的に認識。
commands: 現在接続されているArchicadインスタンスで利用可能なコマンドのコレクション。APIによって異なる関数がある。
types: APIに必要なタイプ。
utilities: API の使用を簡素化するユーティリティ関数。
Python Palleteの使い方
Python PalleteでPythonを書くことが可能です。CPythonパレットのコンソールフィールドでスクリプトの出力を確認することができます。
フォルダを参照すると、その中にある実行可能なスクリプトが一覧表示されます。リスト内のスクリプトをダブルクリックするか、実行ボタンを押すと、選択したスクリプトが実行されます。
IDEからPyhonを実行する
外部IDEを使うことで、デバッグがしやすくなり、開発も簡単に行うことができます。通常のPythonプログラムと同様に、実行するとArchicadのファイルが変更されます。
事例
公式のサイトに様々なサンプルが載っています。日常の繰り返しの作業を効率化するのに、ぜひPythonで自動化ツールをつくってみたらいかがでしょうか。
GELでは企業向けのPythonの講習も開催しております。
GELで何かお手伝いできることがあれば、気軽にお問合せください。
参考
https://archicadapi.graphisoft.com/getting-started-with-archicad-python-connection
この記事が気に入ったらサポートをしてみませんか?