Ghpython add recursive boxes



Plz I need to add a box extruded from a recursive squares

I found a script on Gh website and i would like to modify the script so that it is converted to a 3d recursive boxes.

I am wondering if I can add a surface connecting these four points (P1,P2,P3,P4 ) and then extrude this surface by a distance equals to (dist). recursively

Kindly find attached the GH file
Thank u in advance (17.7 KB)

this is the script

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 * h
    p2 = rs.VectorUnitize(p2)
    p2 *= dist * dist1
    p2 += v1 + cross
    p3 = v2 - v1
    p3 = rs.VectorUnitize(p3)
    p3 *= dist * dist2
    p3 += v1 + cross
    p4 = v2 - v1
    p4 = rs.VectorUnitize(p4)
    p4 *= dist * dist2
    p4 += v1 
    return [v1, p1, p2, p3, p4, 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],newPts[5]])
        recursive(newPts[0],newPts[1], gens-1, linelist)
        recursive(newPts[1],newPts[2], gens-1, linelist)
        recursive(newPts[2],newPts[3], gens-1, linelist)
        recursive(newPts[3],newPts[4], gens-1, linelist)
        recursive(newPts[4],newPts[5], gens-1, linelist)
        return linelist

allLines =[]

a = recursive(pt1,pt2, gens, allLines)

#a = koch (pt1,pt2)

#a = pt1 + pt2

this is the final result i need

Thank you in advance