使用

在给定校准过的机器人和机器人程序的情况下,使用RoboDK可以通过调用FilterProgram过滤整个程序:

robot.FilterProgram(file_program)

在资源库的 "宏 "部分,有一个名为 "过滤程序"(FilterProgram)的宏示例。以下代码是使用 RoboDK API 过滤程序的 Python 脚本示例。

from robolink import *     # 与 RoboDK 通信的 API

from RoboDK import *       # 基本矩阵运算

导入 os                 # 路径操作

 

# 获取当前工作目录

CWD= os.path.dirname(os.path.realpath(__file__))

 

# 如果 RoboDK 没有运行,则启动它,并链接到 API

RDK = Robolink()

# 可选:提供以下参数,以便在幕后运行

#RDK= Robolink(args='/NOSPLASH /NOSHOW /HIDDEN')

 

# 获取校准后的工作站(.rdk 文件)或机器人文件(.robot):

# 提示:校准后,右键单击机器人,选择 "另存为 .机器人"。

calibration_file= CWD+ '/KUKA-KR6.rdk'

 

# 获取程序文件:

file_program= CWD+ '/Prog1.src'

 

# 载入 RDK 文件或机器人文件:

calib_item= RDK.AddFile(calibration_file)

if not calib_item.Valid():

    raise Exception("Something went wrong loading "+ calibration_file)

 

# 检索机器人(如果只有一个机器人,则无弹出窗口):

机器人= RDK.ItemUserPick('Select a robot to filter', ITEM_TYPE_ROBOT)

if not robot.Valid():

    raise Exception("未选择机器人或机器人不可用")

 

# 激活精度

机器人.setAccuracyActive(1)

# 筛选程序:这将自动保存一份程序副本

# 根据机器人品牌重命名文件

status, summary= robot.FilterProgram(file_program)

 

如果 status== 0

    print("Program filtering succeeded")

    print(summary)

calib_item.Delete()

RDK.CloseRoboDK()

否则

    print("Program filtering failed! Error code: %i" % status)

    print(summary)   

RDK.ShowRoboDK()