Dynamo与Revit参数怎么添加?Dynamo给Revit构件批量添加属性参数
文章来源:Building可视库
可视化编程为Revit建筑构件批量编码
——以停车场为例
为什么要批量编码?
在建筑设计中有很多实例需要编码,比如房间编号,预制构件编号,停车位编号等等,而且这类实例会在设计初期经常变更,导致编码也会随之变更,如果以人工方式编码,费时费力,且容易出错,所以使用自动排序编码的方式更准确、更高效。
题目目标:
学会给下图45个停车位进行批量编码,在属性——标识数据——标记中批量添加001-045
所用工具:
Revit2019+Dynamo1.3.3
大致思路:
在Dynamo中只要给予一条穿过所有停车位的模型线,将所有需要编码的物件串联起来,组合程序节点,形成干涉逻辑,执行此程序,则会按照曲线与实例的干涉顺序进行自动编码。
最终成果:
总体界面
节点图
31号停车位属性界面
实施路径:
A:曲线导入与分析点密度设定
B:停车位选取与取出
C:线性编码排序分析
D:排序编码位数和前缀词补充
E:资料回填到停车位对应栏位
路径剖析:
A:曲线导入和分析点设置
ModelElement
——从文档选择模型图元
CurveElement.Curve
——获取该几何图元上的几何图元曲线
Curve.PointsAtEqualSegmentLength
——返回基于输入的分段数沿曲线长度均匀分布的点
IntegerSlider
——用于生成整数值的滑块
List.Map
——将函数应用到列表的所有元素,由结果生成一个新列表
B:停车场选取
Categories
——所有内置图元
AllElementsofCategory
——从模型获取指定类别的所有图元
SetIntersection
——生成两个序列的交集
AllElementsInActiveView
——获取活动视图中可见的所有图元
Geometry.BoundingBox
——获取包含给定几何图形的边界位置
BoundingBox.Contains
——确定点是否在边界位置内部
Watch
——将节点输出内容可视化
C:车位排序
List.FilterByBoolMask
——通过在单独布尔列表中查找相应索引过滤序列
Flatten
——返回多维列表的展平一维列表
List.UniqueItems
——创建包含给定列表中所有唯一向的新列表
D:排序编码
Count
——返回指定列表中的项数
Sequence
——创建数字序列
Number
——创建数字
StringfromObject
——将对象转化为字符串表示
CodeBlock
——允许直接编写代码
String.PadLeft
——前缀词补充,可指定长度使字符串右对齐
E:回填资料
String
——创建字符串
Element.SetParameterByName
——设置一个图元参数
说在最后!
Dynamo是基于Revit的参数化设计的辅助工具,它可以实现Revit自身无法实现的功能,功能极其丰富和强大。由于Dynamo也是一种编程工具,它的程序足够灵活,可以跨行业规程进行使用,它的功能也许只受限于团队的想象力。
BIM技术是未来的趋势,学习、了解掌握更多BIM前言技术是大势所趋,欢迎更多BIMer加入BIM中文网大家庭(http://www.wanbim.com),一起共同探讨学习BIM技术,了解BIM应用!
相关培训