线程评级:
  • 0票(s) - 0平均
  • 1
  • 2
  • 3.
  • 4
  • 5
如何导入RoboDK API和工具箱?
# 1
嗨,我想几个月前在RoboDK树中添加新Python程序时的默认代码已经改变了RoboDK包的加载方式和'RDK'的分配方式。(后期编辑:正如我现在读到的:RoboDK 5.4.0的Python API

“旧的”代码行如下,我可以使用例如ITEM_TYPE_PROGRAM来搜索机器人程序:

代码:
* # RoboDK API
从robodk导入* #机器人工具箱
RDK = Robolink()

prog = RDK.Item('myProgram',ITEM_TYPE_PROGRAM)
print('程序名:' + prog.Name())
引发异常('Eof Exception .')

这仍然可以正常工作,找到程序并打印其名称。然而,带有“new”序言的版本是:

代码:
# robodk API
从robodk导入机器人工具箱
RDK = robolink.Robolink()

prog = RDK.Item('myProgram',ITEM_TYPE_PROGRAM)
print('程序名:' + prog.Name())
引发异常('Eof Exception .')

后者会导致错误:NameError:名称“ITEM_TYPE_PROGRAM”没有定义。
当我使用:prog = RDK.Item('myProgram',8)使用整数8代替ITEM_TYPE_PROGRAM字符串,项目确实被找到了。

为什么会出现这个错误?由于它似乎与软件包的加载有关,您建议如何加载所需的软件包?

最好的问候,

Maarten
# 2
嗨的时候,

您需要使用robolink.ITEM_TYPE_PROGRAM。
请阅读论坛的指导方针之前发帖!
有关RoboDK的有用信息,请访问我们的在线文档
你好,山姆,谢谢,这招很管用。因此,随着新的软件包更新,我可以使用“robolink”。ITEM_TYPE_PROGRAM'或相应的整数(在本例中为'8')在搜索项时?
# 4
不,不能保证对应的整数将来不会改变。

这更多地与python模块导入的方式有关。更多信息请点击这里://m.sinclairbody.com/doc/en/PythonAPI/robo...dk-package
请阅读论坛的指导方针之前发帖!
有关RoboDK的有用信息,请访问我们的在线文档
# 5
你好,Sam,在你上一个回复的后续部分:当使用Type()确定项目的类型时,它返回整数值,而不是ITEM_TYPE_*。如果不能保证整数值将来不会改变,那么在确定项的类型时如何避免这些变化呢?
# 6
您需要将Item.Type()的返回值与robolink进行比较。ITEM_TYPE_*。

代码:
如果item.Type() == robolink。ITEM_TYPE_ROBOT:
打印(“这是一个机器人”)
请阅读论坛的指导方针之前发帖!
有关RoboDK的有用信息,请访问我们的在线文档




浏览此主题的用户:
1客人(年代)