GHPython функция фон Кох ОШИБКА на Кузнечика

Впервые я использую Python Script на Grasshopper. Я не могу найти, где мои ошибки. Я почти в конце, но теперь у меня есть это сообщение об ошибке. Может ли кто-нибудь помочь мне найти ошибку?

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)

Скриншот

1 ответ

Ваша линия l = rs.AddPolyline([newPts(0), newPts(1), newPts(2), newPts(3), newPts(4)]) это неверно.

Доступ к элементу в кортеже требует квадратных скобок. Заменить следующей строкой:

l = rs.AddPolyline([newPts[0], newPts[1], newPts[2], newPts[3], newPts[4]])
Другие вопросы по тегам