1

我正在尝试使用 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)
4

1 回答 1

0

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

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 坐标是什么。

于 2015-08-04T21:21:55.780 回答