NCF参数化建筑论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 12928|回复: 6
打印 上一主题 下一主题

[心得体会] rhinoptyhon的小练习——for循环以及列表的应用

[复制链接]
跳转到指定楼层
1m
发表于 2015-12-26 17:40:58 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
#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)


code_2015_12_26.py

1.64 KB, 下载次数: 18, 下载积分: 照度 -1 lux

售价: 2 lux照度  [记录]

评分

参与人数 2强度 +2 照度 +5 收起 理由
miniorange + 2 + 3 &lt;font&gt;&lt;font&gt;很有啟發!&lt;/font.
月之眼 + 2 感谢分享!

查看全部评分

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏2 分享分享
2m
发表于 2015-12-26 20:07:09 | 只看该作者
不错不错,感谢分享
3m
发表于 2015-12-26 22:48:59 | 只看该作者
感谢分享……………………
4m
 楼主| 发表于 2015-12-26 23:14:34 | 只看该作者

最近才开始接触python,先一直还在犹豫是从grasshopper开始学还是从CODE开始学,不过现在发现CODE相比起GH有更大的灵活性,代码可以移植到其他平台存,可适应性也比GH 要强大,相比起学习一个软件还不如从底层学起,这样其他的软件对于自己来说只是不同的平台罢了。

点评

这样是可以的,虽然进度要慢点,但你会代码后学gh也是很快的。很多人不愿意先从代码开始学比较见效慢。。加油,有代码作品可以相互交流  详情 回复 发表于 2015-12-27 00:43

评分

参与人数 1照度 +2 收起 理由
月之眼 + 2 表示赞同!

查看全部评分

5m
发表于 2015-12-27 00:43:40 | 只看该作者
Maverick 发表于 2015-12-26 23:14
最近才开始接触python,先一直还在犹豫是从grasshopper开始学还是从CODE开始学,不过现在发现CODE相比起G ...

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

小黑屋|手机版|NCF参数化建筑论坛 ( 浙ICP备2020044100号-2 )    辽公网安备21021102000973号

GMT+8, 2024-12-18 09:45 , Processed in 0.100767 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表