CRI ADX2(AtomCraft)
ロボット編09 オブジェクト取得関数の種類

ここまでのチュートリアルでは、ツリー構造のルートオブジェクトから階層を辿る方法で目的のオブジェクトを取得してきました。
本チュートリアル以降では別の取得手段として、オブジェクトを一括で取得する方法を説明します。

  • あるオブジェクト以下の階層全体から、同じ種類のオブジェクトを一括取得する
  • あるオブジェクト以下の1階層(子階層)のみから、同じ種類のオブジェクトを一括取得する
  • GUI上で選択中のオブジェクトを一括取得する
これらの方法はオブジェクト取得の際に、プロジェクトのツリー構造をあらかじめ把握しておく必要がない、というメリットがあります。

オブジェクト取得関数の種類

CRI Atom Craft ロボット でのオブジェクト取得は、主に次の2つの方法で行います。

  • 指定オブジェクト直下の子オブジェクトだけを取得する方法
  • 指定オブジェクト以下の構造を再帰的に辿って目的のオブジェクトを取得する方法
それぞれ、条件に一致するオブジェクトを1つだけ取得する方法と、複数オブジェクトをリスト形式で取得する方法を用意しています。

指定オブジェクト直下のオブジェクト取得関数

関数名 説明
get_child_objects 親オブジェクトを指定して、複数の子オブジェクトをリスト形式で取得します
get_child_object 親オブジェクトを指定して、子オブジェクトを取得します

これまでのチュートリアルでは、プロジェクトのオブジェクト構造を辿るのにget_child_object関数を使用してきました。

指定オブジェクト以下を再帰的に辿るオブジェクト取得関数

関数名 説明
find_objects 再帰検索を行い一致した全てのオブジェクトをリスト形式で取得します
find_object 再帰検索を行い一致した最初のオブジェクト取得します

この他、CRI Atom CraftのGUI操作と連携した処理を行うために、GUIにて選択しているオブジェクトを取得する以下の関数も用意しています。
CRI Atom CraftのGUIにて選択しているオブジェクトを取得することで、スクリプトでのオブジェクト取得処理を簡略化することができます。

CRI Atom Craft上の選択オブジェクト取得関数

関数名 説明
get_selected_objects GUI ツリーで選択中のオブジェクトを取得します
規模が大きいプロジェクトデータに対して、find_objects関数で構造上上位に位置するオブジェクトを起点に指定すると取得に時間がかかる場合があります。
効率のよい処理とするためには、データ構造、オブジェクト構造の理解と適切な取得関数の使用が必要になります。