根据Excel创建管道系统及材质
Dynamo案例百解——简单实用的Dynamo图文教程已经可以购买并学习了哈!有兴趣小伙伴,可以点击链接,了解详情~
之前看过程鑫老师的文章,介绍过根据Excel数据创建管道系统,但是有小伙伴问过我,照着他这个做,没成功,于是呢,我就想试下,结果发现也没成功。
然后我逐个节点过了一遍,发现可能是因为版本问题,有些API和节点有调整,造成了程序不成功。
但是大致思路是没问题的,所以我照着他这个教程,结合我的思路,替换了一些节点,把教程分享给大家,用的是Revit2020和Dynamo2.3版本。
我们说是创建管道系统,其实并不是真的创建,而是获取Revit样板自带的系统,进行复制和调整。
首先,准备我们本次要用的基础数据,打开Excel,基本数据如下:
image image image由上面两张图可以看图,Excel中第一列是Revit自带的系统类型,第二列是我们要新建的系统类型,两列是一一对应的关系,需要我们人为指定。
后面几列就都比较好理解了,根据需要设置即可。
基础数据准备好了,我们就可以着手开始写程序了。
首先,分两步,一是读取Excel数据,用Data.ImportExcel节点即可,二是获取Revit自带的管道系统(这部分是程鑫老师教程里的,后面会单独介绍我的方法),用Element Types节点,选择管道系统和通风系统,并获取所有系统。
image image然后我们提取Excel数据,首先用List.Deconstruct节点,去掉第一行标题,然后用List.Transpose节点,对数据转置,获取每列的数据。我们从Excel中可以看出,Revit系统类别这列是有重复的,那么我们可以对其他列的数据进行分组,根据Revit系统类型这列里同名的系统。
image另一边,根据项目中所有的管道系统,比对Excel中的名称,来获取管道系统:
image但是这样操作太复杂了,新手很难理解这里在做什么,实际上是有简单的方法的,这里我用到了Orchid节点包里的ElementType.ByName节点,直接根据Excel里的系统名称,获取系统类型:
image之后用Code Block,系统名称和缩写连接在一起:
image然后可以根据名称,复制系统类型,用到ElementType.Duplicate节点:
image系统复制好以后,我们可以对系统材质进行设置:
这里有个前提,就是我们Excel里材质名称列里的材质,必须是项目中有的,然后我会根据这个材质,复制我们所需要的的材质:
image之后就可以复制材质,并根据Excel数据给材质设置颜色:
image最后将材质,添加给系统即可:
image最后附上完整截图:
image好了,今天的教程就到这里了,主要是解答下小伙伴的提问,在程鑫老师的教程基础上,更新了下,当然还需要大家自行尝试,有不对的地方,请指正哈!
BIM的乐趣“群成员已经过百了,有希望入群的小伙伴,可以加我好友,备注来源,我来拉你入群哦~