GHPython Von Koch在Grasshopper上运行ERROR

时间:2017-10-08 11:59:14

标签: python grasshopper rhino3d

我第一次在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)

screenshot

1 个答案:

答案 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]])