线程评分:
  • 0投票 - 0平均
  • 1
  • 2
  • 3
  • 4
  • 5
导入并关注TXT文件的点
我正在尝试编写一个Python脚本来从TXT文件导入点列表,在每个点创建目标,然后将机器人TCP移至每个点以获取预定义的时间。问题在于rdk.addfile()函数不断给我错误,“无法打开文件:source_6pts.txt”,当我尝试以for for loop的导入点进行迭代时,它给出了错误,typeError:typeError:typeError:‘Item’ object is not iterable." Is there any way to import points from a TXT file to an iterable object type?

我编写的导致错误的代码如下所示,我试图从中导入点的TXT文件作为附件包括。

#添加机器人和工具
机器人= rdk.item('ur10')
工具= rdk.item('米')

#从stl文件和相应的参考框架添加对象
base = rdk.item('ur10 base')
sourceFrame = rdk.addframe('自动源参考',基础)
source = rdk.addfile(r'c:\ users \ michael \ document \ robodk \ source_stl.stl',source frame)

#添加TXT文件的点
点= rdk.addfile('source_6pts.txt')

#将当前位置设置为家
home_pos = robot.pose()

#移至每个点
对于点:
pose_i = home_pos
pose_i.setpos(点)
robot.setposetool(工具)
robot.movej(pose_i)
robot.pause(5000)


。文本文件 source_6pts.txt(尺寸:509字节 /下载:386)
如果要将列表点作为Robodk中的对象导入,则应使用GetPoint,然后遍历这些点。这是一个例子:

代码:
pointsObject = rdk.addfile(points_file_path)
pointlist,featurename = points.getPoints(feature_point)
对于点名单:
#point = [x,y,z,i,j,k]
x,y,z,i,j,k =点
打印(“ xyz = [%.3f,%。3f,%。3f]”%(x,y,z)

另外,您也可以使用loadList。例子:

代码:
pointlist = loadList(points_file_path)
对于点名单:
#点是文件的每一行作为float的列表
x,y,z =点
打印(“ xyz = [%.3f,%。3f,%。3f]”%(x,y,z)

我附加了一个示例项目,该项目显示了如何使用这两种方法浏览点。

我还附加了第二个示例,该示例允许您创建一个带有方向信息(Euler Angles)的点列表的程序。

这里更多示例:
//www.w5838.com/doc/en/pythonapi/exam...ugh-points


附加的文件
.rdk example-addfile-loadlist.rdk(尺寸:1.06 MB /下载:410)
。压缩 example-load-txt-xyzwpr.zip(尺寸:1.88 MB /下载:415)




用户浏览此线程:
1位客人