完善主体资料,免费赠送VIP会员!
* 主体类型
* 企业名称
* 信用代码
* 所在行业
* 企业规模
* 所在职位
* 姓名
* 所在行业
* 学历
* 工作性质
请先选择行业
您还可以选择以下福利:
行业福利,领完即止!

下载app免费领取会员

NULL

5cdd2dc095060.jpg

Dynamo如何提取墙体厚度

发布于:2019-03-22 10:48:41
首页/技术分享/Dynamo
收藏
12354

朱光旺

更多

        通过Dynamo提取Revit中相关图元的参数是我们经常需要的一个步骤,但是仅仅通过Dynamo自身的节点只能获取图元的实例参数。

        例如,通过节点“Select Model Elements”先选择图元,再通过节点“Element.GetParameterValueByName”提取墙体实例参数中名为“无连接高度”的参数值。

        但是,我们继续使用该节点提取墙体的类型参数,比如,提取墙体的“厚度”。如下图所示,得到的结果为空的字符串。

        因此,我们通过另一种方式获取墙体的类型参数。

        1、通过第5至第9行将Revit的API导入当前的Python Script。

        2、定义一个变量“wall”表示解封以后的墙体,由于Revit的图元进入Dynamo都是被封装的,因此需要解封才能使用。

        3、通过变量“wallWidth”表示墙体的厚度,提取该厚度的原理是墙体的函数“Width”可以识别墙体厚度。

        4、由于获得的结果是英尺(ft),所以将结果乘以304.8变为毫米。


05 Python提取类型参数.png

        当前只有一个墙体,那如果有多个墙体该怎么办呢?

        1、创建一个空列表“wallsWidth”表示储存这些墙体的厚度。

        2、创建一个循环,该循环判断如果元素存在于列表“walls”中就提取它的厚度,并且将结果填入列表“wallsWidth”。

        3、再创建一个空列表“Width”表示将英尺转换为毫米,之后便利用一个循环判断如果元素存在于列表“wallsWidth”中就将其乘以304.8,并且将结果填入列表“Width”

        4、输出列表“Width”。

        总结:当前的是墙体,那如果换一种图元要怎么办呢?这时我们就需要知道我们要提取的参数是怎样的函数。还是以墙体为例,打开RevitAPI,找到Autodesk.Revit.DB Namespace,再选择Wall Class中的Wall Members,在右侧就能找到方法Width,提取墙体的厚度。09 API.png

本文版权归腿腿教学网及原创作者所有,未经授权,谢绝转载。

pic.gif

上一篇:Revit中,要如何更新屋顶和幕墙系统的面选择?

下一篇:Revit如何更新建筑图元以反映对体量所作的修改?