线程评级:
  • 0票(s) - 0平均
  • 1
  • 2
  • 3.
  • 4
  • 5
从RDK c++ API运行python脚本
# 1
你好,我需要执行嵌入在RDK项目的python脚本,但从应用程序使用RDK c++ API。有可能这样做吗?
# 2
使用ITEM_TYPE_PROGRAM_PYTHON,您可以检索Python脚本并运行它。

代码:
ITEM_TYPE_STATION=1 #站项rdk文件)
ITEM_TYPE_ROBOT=2 #机器人项目机器人文件)
ITEM_TYPE_FRAME=3 #参考框架项
ITEM_TYPE_TOOL=4 #工具项工具文件或没有几何图形的工具)
ITEM_TYPE_OBJECT=5 #对象仍然,一步,一步,……
ITEM_TYPE_TARGET=6 #目标项目
ITEM_TYPE_PROGRAM=8 #程序项(使用GUI制作)
ITEM_TYPE_PROGRAM_PYTHON=10 # Python程序或宏
例如:item_py = RDK.Item (ITEM_TYPE_PROGRAM_PYTHON”)
# 3
我尝试这样做如下(这只是为了测试目的片段):

代码:
如果(robodk_instance_ - >连接())
{
(.....)

robot_instance_ = std::make_shared(robodk_instance_->getItem(QString::fromStdString(remote_rdk_patner_->RobotName_), RoboDK_API::RoboDK::ITEM_TYPE_ROBOT));
auto robot_program_python_ = std::make_shared(robodk_instance_->getItem(QString::fromStdString("InitParam"), RoboDK_API::RoboDK::ITEM_TYPE_PROGRAM_PYTHON));
robot_program_python_ - >调用();

(.....)
}

其中'InitParam'是一个脚本。当我从RoboDK的角度运行这个脚本时,它工作了。脚本将显示用于为“worker”脚本提供参数的窗口。所以通过RDK API执行这个,我希望看到相同的行为,但不幸的是,我没有看到任何东西,除了一些奇怪的效果,像我将运行'worker'脚本-也许它的副作用…->RunProgram()…
说实话,我不确定RunProgram()是否可以执行选定的python脚本,或者它只是专门用于运行生成的程序。

所以我的问题是,如果只是通过。item(…)应该运行python脚本还是需要额外的调用(如RunProgram或其他东西)?




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

Baidu
map