X
返回顶部
当前位置: 首页> BIM资讯> BIM技术

Dynamo与Revit参数怎么添加?Dynamo给Revit构件批量添加属性参数

发布:中文网小编3号 浏览:5412人 分享
发布于:2020-06-15 16:35

    文章来源:Building可视库

    可视化编程为Revit建筑构件批量编码

    ——以停车场为例

    为什么要批量编码?

    在建筑设计中有很多实例需要编码,比如房间编号,预制构件编号,停车位编号等等,而且这类实例会在设计初期经常变更,导致编码也会随之变更,如果以人工方式编码,费时费力,且容易出错,所以使用自动排序编码的方式更准确、更高效。

    题目目标:

    学会给下图45个停车位进行批量编码,在属性——标识数据——标记中批量添加001-045

image.png

    所用工具:

    Revit2019+Dynamo1.3.3

    大致思路:

    在Dynamo中只要给予一条穿过所有停车位的模型线,将所有需要编码的物件串联起来,组合程序节点,形成干涉逻辑,执行此程序,则会按照曲线与实例的干涉顺序进行自动编码。

    最终成果:

image.png

    总体界面

image.png

    节点图

image.png

    31号停车位属性界面

    实施路径:

    A:曲线导入与分析点密度设定

    B:停车位选取与取出

    C:线性编码排序分析

    D:排序编码位数和前缀词补充

    E:资料回填到停车位对应栏位

    路径剖析:

    A:曲线导入和分析点设置

    ModelElement

    ——从文档选择模型图元

    CurveElement.Curve

    ——获取该几何图元上的几何图元曲线

    Curve.PointsAtEqualSegmentLength

    ——返回基于输入的分段数沿曲线长度均匀分布的点

    IntegerSlider

    ——用于生成整数值的滑块

    List.Map

    ——将函数应用到列表的所有元素,由结果生成一个新列表

image.png

    B:停车场选取

    Categories

    ——所有内置图元

    AllElementsofCategory

    ——从模型获取指定类别的所有图元

    SetIntersection

    ——生成两个序列的交集

    AllElementsInActiveView

    ——获取活动视图中可见的所有图元

    Geometry.BoundingBox

    ——获取包含给定几何图形的边界位置

    BoundingBox.Contains

    ——确定点是否在边界位置内部

    Watch

    ——将节点输出内容可视化

image.png

    C:车位排序

    List.FilterByBoolMask

    ——通过在单独布尔列表中查找相应索引过滤序列

    Flatten

    ——返回多维列表的展平一维列表

    List.UniqueItems

    ——创建包含给定列表中所有唯一向的新列表

image.png

    D:排序编码

    Count

    ——返回指定列表中的项数

    Sequence

    ——创建数字序列

    Number

    ——创建数字

    StringfromObject

    ——将对象转化为字符串表示

    CodeBlock

    ——允许直接编写代码

    String.PadLeft

    ——前缀词补充,可指定长度使字符串右对齐

image.png

    E:回填资料

    String

    ——创建字符串

    Element.SetParameterByName

    ——设置一个图元参数

image.png

    说在最后!

    Dynamo是基于Revit的参数化设计的辅助工具,它可以实现Revit自身无法实现的功能,功能极其丰富和强大。由于Dynamo也是一种编程工具,它的程序足够灵活,可以跨行业规程进行使用,它的功能也许只受限于团队的想象力。


BIM技术是未来的趋势,学习、了解掌握更多BIM前言技术是大势所趋,欢迎更多BIMer加入BIM中文网大家庭(http://www.wanbim.com),一起共同探讨学习BIM技术,了解BIM应用!