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

拓筑在线

 找回密码
 快速注册

QQ登录

只需一步,快速开始

微信登录

微信扫一扫,快速登录

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


[版块:参数化设计] [分类:经验教程] [复制链接] 报告无效帖子查看: 2916|回复: 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币
相关的变更还有表达式的写法
您需要登录后才可以回帖 登录 | 快速注册 微信登录

空间句法分析软件DepthMap3.0
空间句法分析软件DepthMap3.0
初次学习空间句法 软件贡献给大家
  wstcsty  gisweis最后回复于 2025-09-18 建筑师讨论区

匠人无寓钢笔画教程[最新高清晰版].pdf
匠人无寓钢笔画教程[最新高清晰版].pdf
网上好心的网友收集的,匠人无寓的在abbs上的手绘教程,不敢私藏,拿出来和大家分享,希望给大家有帮助。
  lpj17530  已而不知最后回复于 2025-09-17 大学生讨论区

【By DanielJin】RegionDif运算器优化小练习一则
【By DanielJin】RegionDif运算器优化小练习一则
群里一个朋友的问题,他们有上万根杂乱的线,想要做成图中给的云彩线,用了Region Different运算器。大家基本都知道布尔动不动就出错,bug,遇到布尔加还
  DanielJin  马金国最后回复于 2025-09-17 参数化设计

Rhino&Grasshopper系列教程案例征集
Rhino&Grasshopper系列教程案例征集
楼主在第十三期内就已经提过,接下来的教程以小实例的模拟为主。这种情况下,楼主希望能更多的帮助到大家,最大程度的提供思路,而不是一直以自己东西做案例,
  沧月  huzi33最后回复于 2025-09-16 参数化设计

【By DanielJin】由浅入深学grasshopper BASIC 01
【By DanielJin】由浅入深学grasshopper BASIC 01
大家好,我的《Grasshopper从入门到进阶》课程已经开课了。 有兴趣欢迎关注:https://www.tuozhu123.com/course-54.html 前言:个人由于要出国读研,对参数
  DanielJin  马金国最后回复于 2025-09-16 参数化设计

【SEG出品】GH讲解之File
【SEG出品】GH讲解之File
原帖内容由微信公众账号【SecondEffectGroup】 【江河梦】小组发布,由【DanielJin】获得独家授权,进行重新整理和编辑后发布。转载请保留此行信息。欢迎大家下
  DanielJin  马金国最后回复于 2025-09-16 参数化设计

【E拓参数化论坛】精品贴汇总导读
【E拓参数化论坛】精品贴汇总导读
本帖主要是E拓参数化论坛的各种汇总贴。 其中官方公告的一些精品贴和资源帖在主贴附出 E拓参数化论坛各作者的教程在1楼至8楼 预留前20楼以备后期编辑添加新内
  DanielJin  马金国最后回复于 2025-09-15 参数化设计

18J811-1 《建筑设计防火规范》图示(按《建筑设计防火规范》GB50016-2014(2018年版)编
18J811-1 《建筑设计防火规范》图示(按《建筑设计防火规范》GB50
本图集收集于网络,仅供学习研究,侵删。若您发现有更新版本,请回复提醒或直接上传新版本。以下为百度网盘下载链接: [sell=1]链接:https://pan.baidu.com/s/1
  建筑范儿  jamdcba-TZ最后回复于 2025-09-15 建筑图集

《走向新建筑》勒·柯布西耶
《走向新建筑》勒·柯布西耶
1.柯布西耶 走向新建筑 第二版 陈志华译 2.走向新建筑 陈志华译(扫描版) 3.柯布西耶 走向新建筑Towards a New Architecture 链接:https://pa
  静宝贝  马金国最后回复于 2025-09-15 电子版图书

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

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

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

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

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

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

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

从画图狗到事业编
从画图狗到事业编
小弟出生在东部沿海二线地级市下属县级市,大学在市里二本大学读的建筑学5年制。当年高考分数500不到,这分数本来是要去外省读三本的,巧的是市里的这所
  夜尽天明610  hanxiangyu最后回复于 2025-09-03 建筑师讨论区

2024一级注册建筑师资格考试教材,最新版注考书籍
2024一级注册建筑师资格考试教材,最新版注考书籍
2024一级注册建筑师考试还剩一个月了,分享下最新版注考书籍,祝小伙伴们旗开得胜 2024-级注册建筑师考试教材---设计前期与场地设计.pdf 2024-级注册建筑
  马甲不能少  hanxiangyu最后回复于 2025-09-03 建筑师讨论区

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

240721746

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

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

微信扫一扫关注我们

微信公众号

拓筑小助手

GMT+8, 2025-9-18 08:43 , Processed in 0.146555 second(s), 22 queries , Gzip On, MemCached On.    拓筑在线 ( 粤ICP备11043922号 )

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

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