NCF参数化建筑论坛

标题: 简单的python实现表皮洞口的模数化。。 [打印本页]

作者: KFC    时间: 2014-8-7 22:24
标题: 简单的python实现表皮洞口的模数化。。
本帖最后由 KFC 于 2014-8-7 22:29 编辑

最开始是半年前做一个小东西,表皮就是简单的开洞窗,然后用曲线干扰一下,不过突然想到应该做到模数化的,用有限的洞口种类,毕竟不可能每一个洞口都不一样大,然后就想怎么在gh里实现,无奈找了半天没找到。这时候想到了在这里看过有人发的一点python介绍,隐隐约约感觉条件语句能搞定,就买了本python的书,开始自学。

大概看了一周,知道了list的概念,也看了一些基础的语法,开始在gh里尝试,终于算是弄出来了。

                               
登录/注册后可看大图

不过能看出来这里有大量的重复性的代码,我知道这应该是有更好的方法来实现的。若有高手,望不吝赐教

                               
登录/注册后可看大图

                               
登录/注册后可看大图

                               
登录/注册后可看大图




作者: 方木    时间: 2014-8-8 14:48
能不能用函数把数据分成若干个组 每个组的数值是一定的。。 代码什么的我没用过 只是一个想法
作者: KFC    时间: 2014-8-8 17:06
方木 发表于 2014-8-8 14:48
能不能用函数把数据分成若干个组 每个组的数值是一定的。。 代码什么的我没用过 只是一个想法

我觉得可以吧,不过刚开是看函数部分,这方面的语法也刚接触,能改进的话,我就更新一下。。
作者: 月之眼    时间: 2014-8-8 18:57
多条件判断也可以这样写

作者: KFC    时间: 2014-8-8 20:34
月之眼 发表于 2014-8-8 18:57
多条件判断也可以这样写

嗯,谢谢指教,我说怎么看着那一堆的if感觉不对劲,貌似语法上就是if,elif,elif.....else。。
作者: 月之眼    时间: 2014-8-8 20:44
KFC 发表于 2014-8-8 20:34
嗯,谢谢指教,我说怎么看着那一堆的if感觉不对劲,貌似语法上就是if,elif,elif.....else。。

没事。大家一起学习,还有用GHPY的时候右键设置数据结构和物件属性啊。不用加你的第一句
作者: 超妹    时间: 2014-8-9 17:21
不会玩python...
作者: mysanaa    时间: 2014-8-9 18:58
感觉这个做法在实践中很有意义啊  方便建造
作者: KFC    时间: 2014-8-9 21:07
超妹 发表于 2014-8-9 17:21
不会玩python...

其实入门挺简单的,我是在跟着一本《Head First Python》学的
作者: zdjdevil    时间: 2014-8-12 10:38
很有帮助!最近也在学习Python,能解决很多纯gh不方便的问题。
作者: skylinensx    时间: 2014-8-12 18:20
把python和gh结合起来了,不错
作者: 熊猫无敌    时间: 2014-8-13 08:45
其实在gh里面也可以解决这个问题的,思路是一样的,而且参数改起来也直观,用算法的话,推荐用elif,可以明显减少内存占用,之前没有考虑过gh的内存占用,结果换到公司的电脑上(4g内存),经常性的死机呀
作者: KFC    时间: 2014-8-13 08:51
熊猫无敌 发表于 2014-8-13 08:45
其实在gh里面也可以解决这个问题的,思路是一样的,而且参数改起来也直观,用算法的话,推荐用elif,可以明 ...

现在对代码的运行机制不是很了解啊,不过应该是elif更好一些。。
作者: 野鹤    时间: 2014-12-3 14:42
应该有办法把数值变成slider 就可以控制了
作者: 彼岸花    时间: 2014-12-3 16:42
不错不错。。。学习中。。。。
作者: skywhll    时间: 2014-12-12 14:40
多谢楼主~真好,学会了!
作者: 1813680690    时间: 2014-12-24 12:06
好好看,我是初学者好好学习一下
作者: mshdyh    时间: 2019-4-24 15:01
a = x // y * y
一行搞定,y是模数,比如0.3m,y就是0.3,a的输出就是0.3的整数倍
作者: KFC    时间: 2019-4-30 20:01
mshdyh 发表于 2019-4-24 15:01
a = x // y * y
一行搞定,y是模数,比如0.3m,y就是0.3,a的输出就是0.3的整数倍

果然是这样啊
感谢感谢!!




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