集团宗旨:为了贯彻落实国家专业技术人才知识更新有关法律和行政法规,开展建筑信息化管理学科有针对性、专业性、实用性和前瞻性的新理论、新知识、新技术、新方法等专业技术知识更新的培训活动。
首页 BIM
BIM

Dynamo软件是如何处理数据的?

  1、快速筛选出一组物体中,有哪些物体与另一组物体相交

  这里,一般都会直接想到利用List.FilterByBoolMask,用步布尔值进行过滤,既方便又准确。

  

腿腿教学网-Dynamo技巧:Dynamo数据处理技巧,不学就亏大了!


  我们利用两个物体的BoundingBox,进行Intersects,就能得到哪些相交,注意这里,要把连缀方式改成叉积,不然并不能逐个比对。然后就是构造出和这组布尔值格式相同的原数据列表,方法如下:

  

腿腿教学网-Dynamo技巧:Dynamo数据处理技巧,不学就亏大了!


  通过获取原列表的长度,将另一组数据重复为相同长度,然后对列表进行转置,就可以匹配格式了,最后利用List.FilterByBoolMask就能把每组数据中心我们需要的那组数据提取出来了。

  2、获取族类型参数

  用过Dynamo的都知道,正常情况下,我们利用Element.GetParameterValueByName是无法获取族类型参数的,那么需要类型参数的时候该怎么做呢?

  其实很简单,只需要在中间添加两个节点,对图元进行转换,得到对应的族名称和族类别,就可以提取族类型参数,如下图:

  

腿腿教学网-Dynamo技巧:Dynamo数据处理技巧,不学就亏大了!


  之后通过Element.GetParameterValueByName就可读取族类型参数了。当然了,现在有很多节点包可以帮我们解决这个问题,现在只需要下载一个Rhythm节点包,就能利用下面这个节点,直接读取族的类型参数:

  

腿腿教学网-Dynamo技巧:Dynamo数据处理技巧,不学就亏大了!


  3、如何简单的,将列表中相同的数据进行分组呢?

  这个其实也很简单,和第一条里面的方法差不多,利用List.FilterByBoolMask进行过滤。我们先利用List.UniqueItems获取列表中的唯一项的新列表,然后通过“=="进行比对得到一组布尔值,然后在过滤就可以了,如下图:

  

1.jpg


  4、创建指定位数的编号

  这个在车位编号之类的操作时候,很常用,将模型排好序以后,我们创建对应长度的编号,写入参数就行,这里就不多解释了,直接上节点:

  

2.png


  上面List.Count的级别设置为2,是因为我多列表里有多个子列表,要分别排序,如果你是单个列表,直接取消级别即可。


百高数据管理集团

Baigao Data Management

全国咨询热线

8610-68315846

全面贯彻落实职业教育终身制要求

Copyright © BAIGAO 2022 All Right Reseved 京ICP备19020478号