我试图使用Rhino执行一段代码,下面的TypeError有一些问题:
消息:不是所有在字符串格式化期间转换的参数
我编写的代码旨在读取文件"newpoints.csv“中的点坐标,并将它们用作Rhino 'AddLine‘函数的参数。
#!/usr/bin/env python
import rhinoscriptsyntax as rs
file = open("C:\\Users\\Seshane Mahlo\\Documents\\MSc Thesis\\newpoints.csv", "r")
lines = file.readlines()
file.close()
ab = len(lines)
seq = range(0, ab-1, 2)
coordinates = []
startvals = []
stopvals = []
for line in lines:
coords = line.split(',')
xcoord = float(coords[0])
ycoord = float(coords[1])
point = (xcoord, ycoord)
coordinates.append(point)
starts = range(0, ab-2, 2)
ends = range(1, ab+1, 2)
for i,j in zip(starts, ends):
strt = coordinates[i]
stp = coordinates[j]
rs.AddLine(start=strt,end=stp)发布于 2015-08-04 21:21:55
我认为您的代码中有一个小错误:
starts = range(0, ab-2, 2)
ends = range(1, ab-1, 2)这应该是
starts = range(0, ab-1, 2)
ends = range(1, ab, 2)因为从range函数得到的最后一个元素比stop参数少一个。
但是导致这个错误的原因是,您正在尝试添加一条线,它使用一个二元组(x,y)由两个3d点组成。
要修复此更改,请执行以下操作:
point = (xcoord, ycoord)至
point = (xcoord, ycoord, 0)或者任何你想要的z坐标。
https://stackoverflow.com/questions/17347595
复制相似问题