我第一次在Grasshopper上使用Python脚本。我找不到我的错误在哪里。我快要结束了,但现在我有了这条错误信息。任何人都可以帮我找到错误吗?
import rhinoscriptsyntax as rs
def koch(v1,v2) :
dist=rs.Distance(v1,v2)
p1=v2-v1
p1=rs.VectorUnitize(p1)
p1*=dist*dist1
p1+=v1
p2=v2-v1
cross=v2-v1
cross=rs.VectorUnitize(cross)
cross=rs.VectorRotate(cross, 90, (0,0,1))
cross*=dist*dist4
p2=rs.VectorUnitize(p2)
p2*=dist*dist2
p2+=v1+cross
p3=v2-v1
p3=rs.VectorUnitize(p3)
p3*=dist*dist3
p3+=v1
return (v1,p1,p2,p3,v2)
def recursive(v1,v2,gens, lineList):
if(gens>0):
newPts = koch(v1,v2)
l = rs.AddPolyline([newPts(0),newPts(1),newPts(2),newPts(3),newPts(4)])
lineList.append(l)
recursive(v1,newPts(0),gens-1)
return lineList
allLines=()
a=recursive(pt1,pt2,2,allLines)
答案 0 :(得分:0)
您的第l = rs.AddPolyline([newPts(0), newPts(1), newPts(2), newPts(3), newPts(4)])
行不正确。
访问元组中的项目需要 square 括号。替换为以下行:
l = rs.AddPolyline([newPts[0], newPts[1], newPts[2], newPts[3], newPts[4]])