キャリブレーションされたロボットとロボットプログラムを使用して、RoboDKを使用して完全なプログラムをフィルタリングすることが可能です。 FilterProgram コール:
ロボット。FilterProgram(file_program)
FilterProgramと呼ばれるマクロの例は、ライブラリのマクロセクションにあります。次のコードは、RoboDK APIを使用してプログラムをフィルタリングするPythonスクリプトの例です。
から ロボリンク インポート * #RoboDKと通信するためのAPI
から Robodk インポート * #基本的な行列演算
インポート os #パス操作
#現在の作業ディレクトリを取得
CWD = os。道。dirname(os。道。リアルパス(__ファイル__))
#RoboDKが実行されていない場合は起動し、APIにリンクします
RDK = Robolink()
#オプション:バックグラウンドで実行する次の引数を指定します
#RDK = ロボリンク(args = '/ NOSPLASH / NOSHOW / HIDDEN')
#キャリブレーションされたステーション(.rdkファイル)またはロボットファイル(.robot)を取得します。
#ヒント:キャリブレーション後、ロボットを右クリックして[.robotとして保存]を選択します
Calibration_file= CWD + '/KUKA-KR6.rdk'
#プログラムファイルを取得します。
file_program= CWD + '/Prog1.src'
#RDKファイルまたはロボットファイルをロードします。
calib_item= RDK。AddFile(Calibration_file)
もし ない calib_item。有効():
上げる 例外(「読み込み中に問題が発生しました」 + Calibration_file)
#ロボットを取得します(ロボットが1つだけの場合はポップアップなし):
ロボット = RDK。ItemUserPick(「フィルタリングするロボットを選択してください」、 ITEM_TYPE_ROBOT)
もし ない ロボット。有効():
上げる 例外(「ロボットが選択されていないか、利用できません」)
#精度を有効にする
ロボット。setAccuracyActive(1)
#フィルタープログラム:プログラムのコピーを自動的に保存します
#ロボットのブランドに応じて名前が変更されたファイル
状態、 概要 = ロボット。FilterProgram(file_program)
もし 状態 == 0:
印刷する(「プログラムのフィルタリングに成功しました」)
印刷する(概要)
calib_item。削除する()
RDK。閉じるRoboDK()
そうしないと:
印刷する("プログラムのフィルタリングに失敗しました!エラーコード:%i" % 状態)
印刷する(概要)
RDK。ShowRoboDK()