通知:E拓建筑网正式更名为拓筑在线!

拓筑在线

 找回密码
 快速注册

QQ登录

只需一步,快速开始

微信登录

微信扫一扫,快速登录

GH中数据选取的语法规则变更(DataTree selection rules)


[版块:参数化设计] [分类:经验教程] [复制链接] 报告无效帖子查看: 2877|回复: 1   
拓邑团练|zdjdevil 发表于 2014-8-13 14:53:32 | 显示全部楼层
发帖得20e币  e币充值  开通VIP会员  快速免费获取e币
今天在处理一组树状数据结构的时候用到split tree这个电池,发现原先的masks的语法规则发生了变化,之前例如我需要提取前6个branches,需要写0-6即可,但是今天一直出错,上网一搜才发现在0.9版本后数据选取的规则发生了变化,现在需要写成0 to 6。为了方便大家之后在其他地方产生疑惑的查询,将作者David Rutten解释帖引用并提供链接,很简单的内容就不翻译了哈。顺带说一句,其实基本上对于树状结构的处理都可以通过Param Viewer转换成List的问题再用Tree Branch转回,但是既然都有这些直接处理树状结构的命令,还是应该多多挖掘其中的强大,例如下面内容会提到的类似编程语言的?和!的用法,会在某些时候给你带来意想不到的便捷。(单位没法上传图片就没法一一截图了,大家探索愉快!)
From David Rutten:

Imagine we have the following data tree, containing a bunch of textual characters:

[size=1em]{0;0} = [a,e,i,o,u,y]
{0;1} = [ä,ë,ê,ï,î,ö,ô,õ,ü,û,ÿ,y]
{1;0} = [b,c,d,f,g,h,j,k,l,m,n,p,q,r,s,t,v,w,x,z]
{1;1} = [ç,ĉ,č,ĝ,ř,š,ş,ž]

There are a total of four branches {0;0}, {0;1}, {1;0} and {1;1}. The first branch contains all the vowels that are part of the standard English alphabet. The second branch contains all non-standard vowels and branches three and four contain the standard and non-standard consonants respectively.


So what if we want to select from this tree only the standard vowels? Basically include everything in the first branch and disregard everything else. We can use the [Tree Split] component with a selection rule to achieve this:

[size=1em]{0;0}

This selection rule hard-codes the number zero in both tree path locations. It doesn't define an item index rule, so all items in {0;0} will be selected.


If we want all the vowels (both standard and non-standard), then we have several options:

[size=1em]{0;?}         = select all branches that start with 0
[size=1em]{0;(0,1)}    = select all branches that start with 0 and end in either 0 or 1
[size=1em]{0;(0 to 1)} =    ......................................... and end in the range 0 to 1.

Conversely, selecting all standard vowels and consonants while disregarding all non-standard character can be achieved with rules as follows:

[size=1em]{?;0}
[size=1em]{(0,1);0}
[size=1em]{(0 to 1);0}

It is also possible to select items from each branch in addition to limiting the selection to specific branches. In this case another rule stated in square brackets needs to be appended:

[size=1em]{0;?}[0 to 2]

The above rule will select the first three vowels from the standard and the non-standard lists.


Basically, rules work in a very consistent way, but there are some syntax conventions you need to know. The first thing to realize is that every individual piece of data in a data-tree can be uniquely and unambiguously identified by a collection of integers. One integer describes its index within the branch and the others are used to identify the branch within the tree. As a result a rule for selection items always looks the same:

[size=1em]{A;B;C;...;Z}              where A, B, C, Z and i represent rules.

It's very similar to the Path Mapper syntax except it uses square brackets instead of parenthesis for the index (the Path Mapper will follow suit soon, but that won't be a breaking change). You always have to define the path selector rule in between curly brackets. You can supply any number of rules as long as you separate them with semi-colons.

The index rule is optional, but -when provided- it has to be encased in square brackets after the path selection rule(s).


The following rule notations are allowed:

[size=1em]*  Any number of integers in a path

[size=1em]?  Any single integer

[size=1em]6  Any specific integer

[size=1em]!6  Anything except a specific integer

[size=1em](2,6,7)  Any one of the specific integers in this group.

[size=1em]!(2,6,7)  Anything except one of the integers in this group.

[size=1em](2 to 20)  Any integer in this range (including both 2 and 20).

[size=1em]!(2 to 20) Any integer outside this range.

[size=1em](0,2,...)  Any integer part of this infinite sequence. Sequences have to be at least two integers long, and every subsequent integer has to be bigger than the previous one (sorry, that may be a temporary limitation, don't know yet).

[size=1em](0,2,...,48)  Any integer part of this finite sequence. You can optionally provide a single sequence limit after the three dots.

[size=1em]!(3,5,...)  Any integer not part of this infinite sequence. The sequence doesn't extend to the left, only towards the right. So this rule would select the numbers 0, 1, 2, 4, 6, 8, 10, 12 and all remaining even numbers.

[size=1em]!(7,10,21,...,425)  Any integer not part of this finite sequence.

Furthermore, it is possible to combine two or more rules using the boolean and/or operators. If you want to select the first five items in every list of a datatree and also the items 7, 12 and 42, then the selection rule would look as follows:

[size=1em]{*}[(0 to 4) or (6,11,41)]

The asterisk allows you to include all branches, no matter what their paths looks like.


It is at present not possible to use the parenthesis to define rule precedence, rules are always evaluated from left to right. It is at present also not possible to use negative integers to identify items from the end of a list.


原始链接http://www.grasshopper3d.com/for ... ree-selection-rules





评分

参与人数 1e币 +5 收起 理由
DanielJin + 5 爆料兼分享,分享总让我们知更多。

查看全部评分

拓邦元帅|沧月 发表于 2014-8-13 19:41:15 | 显示全部楼层
发帖得20e币  e币充值  开通VIP会员  快速免费获取e币
相关的变更还有表达式的写法
您需要登录后才可以回帖 登录 | 快速注册 微信登录

中国最美50家民宿院子
中国最美50家民宿院子
编者按:本文来自微信公众号新微设计(公众号ID:land-2013),本站经授权转载。 注:文中大多数案例摘自《最美民宿》丛书当中,共3部,收录了100家当
  深圳老梁  方式是是是最后回复于 2025-07-05 项目实践·作品库

黑科技!贴图就能生成三维透视效果!出效果图必备素材!牛!(Enscape可用)
黑科技!贴图就能生成三维透视效果!出效果图必备素材!牛!(En
本EXR视差贴图模型可用于Enscape、Lumion、Vray等主流渲染器。 小伙伴们建模
  sadapple  阿白47923最后回复于 2025-07-05 虚拟化表现

材质贴图素材  2.57G
材质贴图素材 2.57G
材质对于设计师来说可以是相当重要,好的材质能把模型场景表现得更加优质,不管是平面、立面、效果图都是不可或缺的。 一些常用的材质贴图,内容如下: 百
  薛鹏鹏  阿白47923最后回复于 2025-07-05 大学生讨论区

图片干扰镂空表皮
图片干扰镂空表皮
帮朋友弄的个表皮,因为朋友是个GH盲所以给她标了很多说明性文字,干脆给大家分享下,适合初学者,大神可以无视。 这个表皮适合多边形的平面。
  S65510630  lgaoarch02最后回复于 2025-07-04 参数化设计

2025精选30种国外【建筑景观室内】设计杂志全年订阅 不定期提价
2025精选30种国外【建筑景观室内】设计杂志全年订阅 不定期提价
精选30种国外设计杂志大合集,建筑+景观+室内,2025全年订阅国外第一线专业资料,大大提升您的专业能力! 目前更新如下: 限时特价,仅 42.9 元!(根据更新
  设计杂志  JcSuar最后回复于 2025-07-04 设计杂志

自己收集的一些gh电池
自己收集的一些gh电池
[sell][sell=2]链接: https://pan.baidu.com/s/1mhJ5Nba 密码: bm39[/sell]
  在线咨询  lianyi0544最后回复于 2025-07-03 参数化设计

grasshopper参数化 图片生成表皮纹理(三种纹理)
grasshopper参数化 图片生成表皮纹理(三种纹理)
类似这种表皮,可以通过一张黑白贴图,然后控制,做出大小不同的单位的表皮机理,虽然没有图中那个手工黑白贴图做的那么精细,但是可控性,和简单性是完全秒杀手
  cyeeeez  lianyi0544最后回复于 2025-07-03 参数化设计

宜宾竹艺工坊:梯田间的大屋顶与小房子
宜宾竹艺工坊:梯田间的大屋顶与小房子
来源:成都在行建筑设计事务所 © 吕晓斌 / 存在建筑 四川宜宾安石村,一个普通乡村,背靠碾盘山。村落阡陌相通,田塘错落,屋树交织,是
  拓筑小助手  xdtld最后回复于 2025-07-03 项目实践·作品库

[北爱尔兰版]Perspective 建筑视角 Vol34 I3 2025
[北爱尔兰版]Perspective 建筑视角 Vol34 I3 2025
2025年精选30种国外【建筑+景观+室内】设计杂志超大合集 全年订阅链接:https://www.eeeetop.com/forum.php?mod=viewthread&tid=75981
  深圳老梁  深圳老梁最后回复于 2025-07-03 建筑景观

[澳大利亚版]Green 绿色可持续设计 2025年07-08期
[澳大利亚版]Green 绿色可持续设计 2025年07-08期
2025年精选30种国外【建筑+景观+室内】设计杂志超大合集 全年订阅链接:https://www.eeeetop.com/forum.php?mod=viewthread&tid=75981
  深圳老梁  深圳老梁最后回复于 2025-07-03 建筑景观

[美国版]Landscape Architecture 景观建筑 2025年07期
[美国版]Landscape Architecture 景观建筑 2025年07期
2025年精选30种国外【建筑+景观+室内】设计杂志超大合集 全年订阅链接:https://www.eeeetop.com/forum.php?mod=viewthread&tid=75981
  深圳老梁  深圳老梁最后回复于 2025-07-03 建筑景观

[美国版]Architectural Record 建筑实录 2025年07期
[美国版]Architectural Record 建筑实录 2025年07期
2025年精选30种国外【建筑+景观+室内】设计杂志超大合集 全年订阅链接:https://www.eeeetop.com/forum.php?mod=viewthread&tid=75981
  深圳老梁  深圳老梁最后回复于 2025-07-03 建筑景观

[韩国版]Space 空间 2025年07期
[韩国版]Space 空间 2025年07期
2025年精选30种国外【建筑+景观+室内】设计杂志超大合集 全年订阅链接:https://www.eeeetop.com/forum.php?mod=viewthread&tid=75981
  深圳老梁  深圳老梁最后回复于 2025-07-03 建筑景观

Enscape高级渲染参数预设合集(宝藏参数)
Enscape高级渲染参数预设合集(宝藏参数)
和所有软件的参数预设类似,仅仅需要在场景中简单加载渲染参数,即可得到已经调整好的渲染效果。让效果更上一层楼! 包含百余款渲染
  sadapple  sltqin最后回复于 2025-07-02 虚拟化表现

[日本版]Casa Brutus 建筑室内艺术杂志 2025年06期
[日本版]Casa Brutus 建筑室内艺术杂志 2025年06期
2025年精选30种国外【建筑+景观+室内】设计杂志超大合集 全年订阅链接:https://www.eeeetop.com/forum.php?mod=viewthread&tid=75981
  深圳老梁  深圳老梁最后回复于 2025-07-02 室内家居

[英国]Landscape 景观杂志 2025年08期
[英国]Landscape 景观杂志 2025年08期
2025年精选30种国外【建筑+景观+室内】设计杂志超大合集 全年订阅链接:https://www.eeeetop.com/forum.php?mod=viewthread&tid=75981
  深圳老梁  深圳老梁最后回复于 2025-07-02 建筑景观

[英国版]The English Garden 英式庭院 2025年07期
[英国版]The English Garden 英式庭院 2025年07期
2025年精选30种国外【建筑+景观+室内】设计杂志超大合集 全年订阅链接:https://www.eeeetop.com/forum.php?mod=viewthread&tid=75981
  深圳老梁  深圳老梁最后回复于 2025-07-02 建筑景观

[德国版]Baumeister 建筑大师 2025年07-08期
[德国版]Baumeister 建筑大师 2025年07-08期
2025年精选30种国外【建筑+景观+室内】设计杂志超大合集 全年订阅链接:https://www.eeeetop.com/forum.php?mod=viewthread&tid=75981
  深圳老梁  深圳老梁最后回复于 2025-07-02 建筑景观

官方综合交流QQ群(更多):

240721746

拓筑在线——面向建筑师群体的

设计交流论坛、软件学习社区、资料下载网站及企业服务平台!

微信扫一扫关注我们

微信公众号

拓筑小助手

GMT+8, 2025-7-6 01:18 , Processed in 0.137751 second(s), 21 queries , Gzip On, MemCached On.    拓筑在线 ( 粤ICP备11043922号 )

Powered by Discuz! X3.4  © 2011-2023 拓筑在线

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