Python --- 关于grasshopper接入ghpython的数据结构问题和ghpython的Loop问题

[复制链接]
跳转到指定楼层
38965 zhugesilang 发表于 2015-10-10 18:20:52 楼主
大家好,
我是ghpython新手,今天在工作过程中遇到了一个很棘手的问题,思考很长时间无法解决,希望论坛里的大神能伸出援手。


问题是这样的。我做了80个大小相等的矩形标准单元,想从中随机取出几个2倍大小或4倍大小的矩形作为特殊单元(图中又红点标识出来的就是挑选出来的特殊单元),然后我想将这些单元从原来80个标准单元的list中删除,以免重复。我的思路是,在ghpython中通过循环,逐一判断80个标准单元与这12个特殊单元的中心点之间的包含关系,将所有结果为False的单元放到一个新的List里面,从而达到目的。
按照预计,新列表里应该包含(80-12=68)个数据,但是我得到的结果却是(80*12=960)个数据。python代码如下:

所以我的问题是,1.在ghpython中应该怎么实现这个运算?2.从grasshopper到ghpython,其树状数据结构是如何对应python里的数据结构的?item access/list access/tree access应该如何正确使用?3. 如果只用grasshopper的话,该怎么实现这个算法?
问题有点多,希望论坛里的高手不吝赐教。感激不尽。
附上gh源文件。gh版本0.9.0076
活字印刷墙面.rar (14.13 KB, 下载次数: 68)
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享
关于大陆地区Rhino原厂培训中心
 楼主| zhugesilang 发表于 2015-10-10 18:27:45
2
补充,只用grasshopper的话,通过RegionDifference可以实现。

但是感觉这个方法有些粗暴,不知道各位大神有没有更优美的只通过grasshopper来实现的方法?
再次感谢
筑梦NARUTO 发表于 2015-10-10 19:40:17
3
你这个做这样的效果做复杂了。自己看文件吧,复杂度没给你改,代码给你改了下

QQ图片20151010193019.png (156.11 KB, 下载次数: 29)

QQ图片20151010193019.png

活字印刷墙面.zip

21.4 KB, 下载次数: 54

评分

参与人数 1技术 +1 坛币 +4 收起 理由
admin + 1 + 4 很给力!

查看全部评分

安全下载 发表于 2015-10-12 14:23:33
4
不错不错!
诸葛四郎 发表于 2016-6-16 09:38:49
6
筑梦NARUTO 发表于 2015-10-10 19:40
你这个做这样的效果做复杂了。自己看文件吧,复杂度没给你改,代码给你改了下

您好,今天在做另一个项目的时候又碰到了同样的问题,用您之前给出的方法做了出来,不过还是想问一下您之前说做这样的效果做复杂了是指Python里面用来删除挑选出的单元的那段代码写复杂了吗?如果是有什么简单的方法吗?求赐教
您需要登录后才可以回帖 登录 | 注册成为会员

本版积分规则