线程评级:
Python路径,打印,调试等。
# 1
嗨,有几个问题。我目前正在通过在接口中添加python程序项来编写python脚本。

1.如果我添加一个print或sys.stderr.write(),它会去哪里?我试着从shell中启动Robodk,但是我没有从shell中的语句中看到任何输出。我想我可以用tkinter制作一个控制台,但如果它存在的话,我更喜欢更简单的东西。

2.我注意到在文档中提到了控制台模式,但我找不到使用它的文档。控制台模式是一种通过python shell与Robodk交互的方式吗?

2.我试着用Robolink.Selection ()
但我得到了一个错误:“Robolink”对象没有“Selection”属性
我在/Applications/RoboDK中注意到。app/Contents/Python有。/robolink.py还有/ robolink / robolink.py。第一个文件有Selection(),第二个文件没有。 有什么不同?和为什么我的脚本找到版本没有选择()时,在我的首选项中,我有Python文件夹路径设置为:/Applications/RoboDK。应用程序/内容/ Python / ?

多谢! !

朱利安
一些解决方案

1.我设置记录器写入一个文件,然后在shell中尾部-f以查看结果。

3.我删除了。/robolink/robolink.py,现在它只使用。/robolink.py,在这里可以找到Selection()。
# 3
嗨,朱利安,

要从您的Python程序显示消息到RoboDK窗口,您可以使用以下命令:
Robolink。ShowMessage("Your message", blocking = True)
如果设置为非阻塞,则该消息将显示在RoboDK窗口的状态栏中。如果你从RoboDK启动一个Python脚本,所有在Python中完成的打印(stdout, stderr)只有在你的脚本失败时才会显示。

您可以独立启动自己的Python程序,并使用RoboDK Python API与RoboDK交互。RoboDK API使用内部TCP/IP通信,因此您甚至可以远程控制RoboDK。你会发现一些额外的设置:
  • RoboDK-Preferences-Other-RoboDK API(如果你使用Mac)
  • Tools-Options-Other-RoboDK API(适用于Windows和Linux)
如果你想在与RoboDK交互时单独运行Python程序,你应该为Python安装RoboDK API:
PIP安装robodk

有一些命令行选项可以启动RoboDK:
//www.x7093.com/doc/en/RoboDK-API.html#CommandLine
例如,这允许您在设置项目时隐藏RoboDK。

在Mac上,当你从RoboDK启动Python脚本时,RoboDK自动使用以下文件夹作为Python路径:
/应用程序/ RoboDK.app /内容/ Python /

另外,最新版本的RoboDK for Mac (v3.4.6)正确地包含了Robolink.Selection()方法。

艾伯特
# 4
嗨,阿尔伯特,

这一切现在都说得通了。我安装了Python API,可以从Python shell与Robodk对话。我想这意味着我也可以直接从Maya内部与Robodk通信,例如,将动画转换为目标,或导出模型。

谢谢!
# 5
是的,可以将RoboDK与Maya结合起来。
你可以使用Python的RoboDK API同时集成Maya和RoboDK。

因此,如果你想使用Robodk之外的Robolink和Robodk库运行Python脚本,你可能必须为Python安装Robodk API,就像你使用pip安装任何其他Python库一样:
cd path-to-python-pip
PIP安装robodk

如果你遇到任何挑战,请告诉我,我可以帮助你。
# 6
谢谢阿尔伯特!到目前为止一切都很顺利。我写了脚本来在RoboDK中重新生成Maya对象:转换到框架,定位器到目标,网格到形状。接下来,我将发送玛雅曲线作为curveFollow项目。如果对任何人有用,我很高兴将此代码公开(当它被清理时)。

朱利安




浏览此线程的用户:
1客人(年代)