NCF参数化建筑论坛

标题: rhinoptyhon的小练习——for循环以及列表的应用 [打印本页]

作者: Maverick    时间: 2015-12-26 17:40
标题: rhinoptyhon的小练习——for循环以及列表的应用
#coding=utf-8
import rhinoscriptsyntax as rs
import math
#导入rhinoscriptsyntax模块以及math模块
a_radius=input("please enter a_radius:")
b_radius=input("please enter b_radius:")
FloorHeight=input("Please enter floor height of the building:")
FloorNumber=input("Please enter the floor numbers of the building:")
Angle=input("Please enter the floor angle of the rotating_action:")
#用户从命令行输入基本层平面形状的参数:半长轴,半短轴,层高,层数
if Angle<=2.0:
    origin=(FloorNumber+1)*[None]
    xaxis=(FloorNumber+1)*[None]
    yaxis=(FloorNumber+1)*[None]
#建立三个Plane构成参数的List,为后期平面进行在循环条件下的旋转提供参数
    for z in range(0,FloorHeight*(FloorNumber+1),FloorHeight):
        origin[int(z/FloorHeight)]= (0,0,z)
        A=(Angle/FloorNumber)*(z/FloorHeight)
        xaxis[int(z/FloorHeight)]= (math.sin(A*math.pi),math.cos(A*math.pi),0)
        yaxis[int(z/FloorHeight)]= (math.sin((A+1.0/2)*math.pi),math.cos((A+1.0/2)*math.pi),0)
#在循环条件下根据层高层数为origin列表,xaxis列表以及yaxis列表的索引值更改数据,使之不再是空列表
    id=(FloorNumber+1)*[None]
    for i in range(FloorNumber+1):
        ellipse=rs.AddEllipse(rs.PlaneFromFrame(origin[i],xaxis[i],yaxis[i]),a_radius,b_radius)
        id[i]=rs.FirstObject()
        print ellipse
    select_ellipse=(FloorNumber+1)*[None]
    for t in range(FloorNumber+1):
        select_ellipse[t]=rs.SelectObject(id[t])
        print select_ellipse[t]
    shape=rs.AddLoftSrf(id, start=None, end=None, loft_type=0, simplify_method=0, value=0, closed=False)



作者: 月之眼    时间: 2015-12-26 20:07
不错不错,感谢分享
作者: ly871108    时间: 2015-12-26 22:48
感谢分享……………………
作者: Maverick    时间: 2015-12-26 23:14
月之眼 发表于 2015-12-26 20:07
不错不错,感谢分享

最近才开始接触python,先一直还在犹豫是从grasshopper开始学还是从CODE开始学,不过现在发现CODE相比起GH有更大的灵活性,代码可以移植到其他平台存,可适应性也比GH 要强大,相比起学习一个软件还不如从底层学起,这样其他的软件对于自己来说只是不同的平台罢了。
作者: 月之眼    时间: 2015-12-27 00:43
Maverick 发表于 2015-12-26 23:14
最近才开始接触python,先一直还在犹豫是从grasshopper开始学还是从CODE开始学,不过现在发现CODE相比起G ...

这样是可以的,虽然进度要慢点,但你会代码后学gh也是很快的。很多人不愿意先从代码开始学比较见效慢。。加油,有代码作品可以相互交流
作者: lzeaf    时间: 2015-12-27 16:23
很赞!!!!!!!!!!!!!!!!!我也在学py的代码,有机会可以交流~~~~~~~~~
作者: tobyxxx    时间: 2016-1-8 17:48
厉害!歪日!加油加油加油加油




欢迎光临 NCF参数化建筑论坛 (http://bbs.ncf-china.com/) Powered by Discuz! X3.2