参数化建筑-基础-附表皮,建筑表皮,建筑立面# -*- co


建筑立面

# -*- coding:UTF8 -*-import rhinoscriptsyntax as rs # script written by www.dooo.cn # Script copyrighted by ZhangJinBo  strSurface =rs.GetObject("Please select the base surface",8) arrDomainU = rs.SurfaceDomain(strSurface, 0) arrDomainV = rs.SurfaceDomain(strSurface, 1) strObj = rs.GetObject("Please select the form") arrPtBoundingBox = rs.BoundingBox(strObj) ar = (arrPtBoundingBox[0],arrPtBoundingBox[1],arrPtBoundingBox[2],arrPtBoundingBox[3])sur1 = rs.AddSrfPt(ar)intUDiv = 8intVDiv = 10for i in range(0,intUDiv):    for j in range(0,intVDiv):        dblU = arrDomainU[0] + (arrDomainU[1] - arrDomainU[0])* (i/intUDiv)         u = arrDomainU[0] + (arrDomainU[1] - arrDomainU[0])* ((i+1)/intUDiv)         dblV = arrDomainV[0] + (arrDomainV[1] - arrDomainV[0])* (j/intVDiv)         v = arrDomainV[0] + (arrDomainV[1] - arrDomainV[0])* ((j+1)/intVDiv)         arrPt=[0,1,2,3]        arrPt[0]=rs.EvaluateSurface(strSurface, dblU, dblV)        arrPt[1]=rs.EvaluateSurface(strSurface, u, dblV)        arrPt[2]=rs.EvaluateSurface(strSurface, u, v)        arrPt[3]=rs.EvaluateSurface(strSurface, dblU, v)        sur2 = rs.AddSrfPt (arrPt)        rs.Command("_FlowAlongSrf _SelID "+ str(strObj)+" _Enter _SelID "+str(sur1)+" _SelID " + str(sur2))        rs.DeleteObject (sur2)if rs.DeleteObject(strSurface) and rs.DeleteObject(strObj) and rs.DeleteObject(sur1):    print "OK"

评论关闭