アドインクリエータを使うと、RoboDK アドインパッケージを簡単に作成したり変更したりすることができます。アドインクリエータはアドインマネージャの一部です。
Add-in Creatorは、Tools-Add-in Managerを選択し、Add-in Managerの下部にあるCreate Add-inボタンをクリックすることで開くことができます。

Add-in Creatorウィザードを開くと、以下のオプションを選択できます:
●新規アドインをゼロから作成: 新しい RoboDK パッケージ (RDKP ファイル) が作成されます。
●フォルダまたはレガシーアプリケーションから新規アドインを作成: この場合、アドインのファイルがあるフォルダへのパスを指定します。パッケージを作成しないオプションを使うと、RoboDK パッケージ(RDKP ファイル)を作成せずに、アドインがあるフォルダで直接アドインを編集することができます。
●既存のアドインを修正する: 既存の RoboDK パッケージを開いて修正し、新しいアドインを作成します。
タイプ、名前、作者情報などの基本情報を入力することで、簡単に新しいAdd-inを作成できます。

Add-on Creator ウィンドウでは、必須フィールドが太字で表示されます。全部で5つあります:
1.タイプアプリ、ロボットドライバ、言語など、Add-inのタイプです。
2.名前:アドインの名前。
3.固有の識別子: この特定のアドインに属する固有の識別子です。このフィールドの隣にあるチェックボックスをオンにすると、編集モードが有効になり、任意の識別子を設定することができます。
注:domain.company.type.nameの形式で記述された一意の識別子を使用することをお勧めします。別の形式の識別子を使用することも可能ですが、推奨される形式に従うことをお勧めします。
4.バージョン:バージョンはセマンティックバージョン形式(major.minor.patch)で記述します。
5.リビジョン:アドインの変更回数で、1以上の数値をとります。
残りのフィールドはオプションですが、アドインをより正確に説明することができます:
6.著者:著者の姓名、または会社名やチーム名(複数の著者がいる場合)。
7.会社名会社名
8.言語:アドインで使用される言語。IETF BCP 47標準のすべての言語がリストされています。
9.コンテンツのステータス:最終、内部テスト、ベータなど、アドインのステータス。
10.説明アドインの簡単な説明。
11.修正者:このフィールドは、誰かが他の作者のアドインを修正し、その修正の作者として言及されたい場合に使用できます。
12.作成日:アドインの最初のバージョンの作成日(自動的に入力されます)。
13.変更日:アドインの変更日(自動的に入力されます)。
14.電子メール販売、サポート、フィードバックのための電子メールアドレス。
15.ウェブサイト貴社(Add-inの開発者)のウェブサイト。
16.ドキュメントリンク:Add-inのドキュメントへのリンクです。
17.リポジトリリンク:オープンソースのAdd-inの場合、GitHubリポジトリやその他の公開リポジトリへのリンク。
18.キーワード:アドインマーケットプレイスでアドインを検索しやすくするためのキーワード(タグ)のリストです。
アドインの依存関係ページでは、アドイン(またはその中の特定のファイル)をインストールする前に満たすべき条件を定義できます。条件を満たさない場合、影響を受ける範囲(パッケージ全体または単一のファイル)はインストール時にスキップされます。

ページ上部のボタンを使用して、エントリを管理します:
追加:デフォルト値を持つ新しい依存関係の行を作成します。行内の各セルをクリックして設定します。
削除:現在選択されている行を削除します。あらかじめ行をクリックして選択しておく必要があります。
各依存関係の行には5つの列があります。斜体のグレーで表示されているフィールドは、未設定またはオプションの値であることを示します。
パッケージ:チェックに失敗すると、アドイン全体がインストールされません。要件が満たされない場合にアドインがまったく機能しない場合に使用します。
アセット:チェックに失敗すると、「識別子/ファイル名」列で指定された特定のファイルのみがスキップされます。アドインの残りの部分は通常どおりインストールされます。
スコープがアセットの依存関係では、「名前」列に特別な役割があります:依存関係グループを定義します。同じ名前を持つ複数の行は、同一のアセットファイルに対して順番に評価されます。
これは、ファイルが異なる条件下でインストールされる可能性がある場合に便利です。たとえば、Windows用とLinux用で異なるバージョンのファイルを提供する場合などです。各グループは全体として評価され、グループ内のいずれかの行が合格すると、そのアセットが含まれます。
「値」の入力方法は、依存関係のタイプによって異なります:
バージョンチェック:数学的な区間表記を使用します(バージョン範囲を参照)。
ファイル作成日時/ファイル更新日時:3つの日時モードから選択します(日時の値を参照)。
その他すべてのタイプ:編集時に「値」フィールドには2つの選択肢を持つドロップダウンが表示されます:
完全一致:システムの値が入力内容と一致する場合にチェックが合格します(大文字と小文字は区別されません)。
正規表現:システムの値が指定したパターンに一致する場合にチェックが合格します。
バージョンの値には、標準的な数学的区間表記を使用します:
角括弧「[」または「]」は、境界のバージョンが範囲に含まれることを意味します。
丸括弧「(」または「)」は、境界のバージョンが範囲に含まれないことを意味します。
上限または下限を省略すると、その方向には制限がないことを意味します。
ファイルの日時チェックでは、範囲表記は使用しません。
代わりに、次の3つのモードのいずれかを選択します:
完全一致:ファイルのタイムスタンプが指定した日時と完全に一致する必要があります。
以前:ファイルのタイムスタンプが指定した日時より前である必要があります。
以降:ファイルのタイムスタンプが指定した日時より後である必要があります。
タイプ | 説明 |
なし | チェックは実行されません。この依存関係は常に満たされているとみなされます。プレースホルダーとして便利です。 |
バージョンチェック | 選択したソフトウェアコンポーネントのバージョンが指定した範囲内にあるかどうかをチェックします。 識別子:チェック対象のソフトウェアを選択します:RoboDK、アドインマネージャー、Qt Framework、またはオペレーティングシステム。 値:区間表記によるバージョン範囲(バージョン範囲を参照)。 |
CPUアーキテクチャ | システムのプロセッサアーキテクチャが期待値と一致するかどうかをチェックします。 値:期待されるCPUアーキテクチャの文字列(例:x86_64、arm64、i386)。完全一致または正規表現に対応しています。 |
ビルドアーキテクチャ | 実行中のビルドの完全なアプリケーションバイナリインターフェース(ABI)文字列をチェックします。これはCPUアーキテクチャよりも詳細で、コンパイラ、データモデル、エンディアン情報を含みます。 値:例:x86_64-little_endian-lp64。完全一致または正規表現に対応しています。 |
カーネルタイプ | 基盤となるOSカーネルの識別子をチェックします。 値:例:winnt(Windows)、linux、darwin(macOS)。完全一致または正規表現に対応しています。 |
システムチェック | OS自体が報告するオペレーティングシステムの製品名をチェックします。 値:例:windows、ubuntu。完全一致または正規表現に対応しています。 |
ファイルバージョン(Windowsのみ) | Windowsの実行ファイルまたはライブラリ(.exeまたは.dll)に埋め込まれたバージョンリソースを読み取り、値または式と比較します。 値:例:1.4.3.3123。完全一致または正規表現に対応しています。 |
ファイル作成日時 | 指定したファイルの作成日時をチェックします。 識別子/ファイル名:確認するファイルのパス。 値:モード(完全一致、以前、または以降)を指定した日時(日時の値を参照)。 |
ファイル更新日時 | 指定したファイルの最終更新日時をチェックします。 識別子/ファイル名:確認するファイルのパス。 値:モード(完全一致、以前、または以降)を指定した日時(日時の値を参照)。 |
アドインには、1つ以上のアセットが含まれている必要があります。アセットとは、アドインのアクションを定義するスクリプトやアイコンのことです。

Add-in Assets] ページは、3 つの機能エリアに分かれています:
1.パッケージアイコン選択エリア。
2.ファイルツリー領域。
3.ファイル内容のプレビューエリア
このページのボタンとチェックボックスの目的:
●TargetPath:TargetPath: ターゲットパス] ボタンをクリックすると、現在のアイコンファイルのプロパティウィンドウが開き、ターゲットプロパティを設定できます(パッケージ内部の対応するセクションを参照してください)。
●アイコンの変更...ボタンで、現在のパッケージアイコンを新しいものに置き換えることができます。
●アイコンの削除]ボタンは、パッケージの現在のアイコンを削除し、作成されるパッケージのタイプに対応するデフォルトのアイコンを設定します。
●新規フォルダ]ボタンは、ファイルツリーの選択したブランチに新しいサブフォルダを作成します。
●Add Asset...ボタンは、ファイルツリーの選択したブランチに新しいファイルを追加します。
●削除] ボタンは、ロックされている項目を除き、選択した項目をファイルツリーから削除します。
●Make Python Packageチェックボックスは、Pythonインタプリタがプロジェクトのファイルを外部ロード可能なモジュールとして使用できるように、__init__.pyファイルをプロジェクトに追加します。
注: このオプションは、Appタイプのアドインを作成する場合にのみ表示されます。
Python スクリプトは、後で .pyc 拡張子を持つファイルにコンパイルするためにマークアップすることができます。コンパイルのプロセスはウィザードの次のページに表示されます。

Target Pathフィールドでは、各ファイルのターゲットプロパティを設定することができます。これは、必要なパスと変数名を入力して手動で行うか、ターゲット・パスの歯車ボタンをクリックしてプロパティ・ウィンドウを起動することで行うことができます:

ファイルプロパティダイアログボックスでは、ターゲット プロパティの値を設定し、使用可能な変数の便利なリストを提供します。また、ファイルがデプロイされるターゲットプラットフォームのパラメータ(OSタイプとバージョン、CPUモデル)を定義することもできます。

Add-in アセットの追加時に Python スクリプトが 1 つでも選択されていれば、Python Compilation ページが開きます。

コンパイルは、利用可能なすべての Python インタプリタによって実行されます。利用可能で使用されるインタプリタのリストは Add-in Manager Settings ウィンドウで編集できます。コンパイルプロセス自体はユーザーの介入を必要とせず、ページには潜在的な問題を発見するための詳細なコンパイルログが表示されます。
重要: スクリプトをコンパイルすることで、アプリケーションのソースコードを簡単に難読化することができます。しかし、知的財産を適切に保護することを心配するのであれば、 Python スクリプトから pyd や実行可能ファイルを作成する Cython のような他のコンパイル方法を使うことを検討すべきです。カスタム実行ファイルをアクションとして使うこともできます。
アプリの設定ページでは、作成したアクションやスクリプトを RoboDK ユーザーインターフェース (メニューやツールバー) からどのようにリンクさせるかをカスタマイズすることができます。App 設定ウィンドウは App タイプの Add-in を作成する場合に表示されます。

このページのパラメータは、AppConfig.iniファイルの内容を定義します。設定可能なキーと値はこのページに記載されています。RoboDKではアプリごとにメニューとツールバーがあります。メニュー項目やツールバーのボタンはアプリ用語でアクションと呼ばれます。アクションを表示するための条件や、メニュー内での順番、ホットキーの割り当てなどを定義することができます。
パラメータの基本セットは以下の通り:
●メニュー名:RoboDKのメインメニューの項目名です。
●表示します:このチェックボックスをオフにすると、RoboDKのメインメニューにメニューが表示されなくなります。
●親メニュー:アプリの子メニューを作成するメインメニュー項目を選択するか、新しいメインメニュー項目を作成する場合はMainを選択します。
●優先順位:他のAppのメニューに対して、このAppのメニューの表示順を決める優先順位を設定します(低い方が先に表示されます)。
●ツールバーエリアアプリのツールバーを配置する RoboDK メインウィンドウ上の位置(側面)。
●ツールバーのスケールRoboDK ツールバーアイコンの現在のサイズに対する比率です。
●コマンドアドインが有効化されたときに実行される RoboDK API コマンドです。
AppConfig.ini ファイルと同じフォルダにある Python スクリプトごとにアクションが作成されます。スクリプトが補助的な性質のものである場合、Visible プロパティを使用してそのようなアクションを抑制できます。
アクションプロパティは以下のリストで表されます:
●名前:メニューやツールバーに表示されるアクションの名前。
●説明: メニューアイテムやツールバーボタンの上にマウスポインタを置いた時のツールチップのテキスト。
●優先順位:このAppの他のアクションとの関係でアクションが表示される順序(低い方が先に表示されます)。
●ショートカット
●可視
●開発者専用: このアクションはRoboDKを開発者モード(Ctrl+Alt+Shift+G)に切り替えた場合にのみ表示されます。
●メニューに表示
●ツールバーに表示
●チェック可能:チェック可能なアクションを作成します。チェック可能なアクションは数字でグループ化することもできます。
●コンテキストメニューフィルター: RoboDKツリーの要素の種類を定義します。
●ダブルクリックフィルタ: ダブルクリック時にこのアクションを呼び出す RoboDK ツリーの要素の種類を定義します。
RDKパッケージをRDKPファイルとしてビルドすることで、アドインの作成は完了します。これがアドイン作成の最終ステップです。

パッケージを作成する直前の最終段階で、以下のオプションが利用できます:
●パッケージの暗号化:ファイルを暗号化することで、脅威検出システムを回避して簡単に電子メールで送信できるようにします(Googleメールサービスは、添付ファイル内の実行可能ファイルやPythonスクリプトの転送を直接禁止しています)。
●ビルド後にインストール: Add-in Managerに新しく作成したパッケージをインストールさせます。
●包含フォルダを開く:パッケージが作成されたフォルダを開きます。