Rhino:不是所有参数都在字符串格式化过程中转换



我正试图使用Rhino Python执行一段代码,但我遇到了以下TypeError的一些问题:

消息:在字符串格式化期间,并非所有参数都已转换

我编写的代码旨在从文件"newpoints.csv"中读取点坐标,并将其用作Rhino Python的"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)

我认为您的代码中有一个小错误:

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参数少一个。

但导致错误的原因是,您正试图添加一条线,该线由两个使用2元组(x,y)的3d点组成

要修复此更改:

point = (xcoord, ycoord)

point = (xcoord, ycoord, 0)

或者你想要的z坐标。

最新更新