打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
Dynamo读取Revit警告

Dynamo案例百解累积更新(2021.10)介绍~

Dynamo PythonScript 代码速查手册By九哥

Rhino.Inside.Revit学习笔记来啦!售价199元~

在售的Dynamo教程,有兴趣小伙伴,可以加我微信,进行购买哦~

Hello大家好!我是九哥~

        之前看到群里小伙伴经常会问如何去掉Revit重复的图元,有推荐各种插件的,其实的,Revit本身就会提示你有哪些图元是重复的,就在管理选项卡下面的警告里,即查阅警告信息。

        点击警告后,Revit右下角就会弹出Revit警告窗口,这里显示了不同的警告信息,例如下面的提示:


        Revit会根据不同的问题,分类显示,然后我们可以手动一个一个的删除,而且通常情况下,这种警告都会有成百上千条,这对于实际操作者来说,就太麻烦了,这个时候,我们就可以寄希望于Dynamo了。

        我们到Revit API手册里搜一下,很容易就能在Document下找到GetWarnings的方法:

        基于此呢,很容易就能获取所有的Revit警告信息:

 warnings = doc.GetWarnings()

        然后,我们就可以根据所有的警告,逐条筛选出我们需要的即可。可是拿到警告信息以后,我们又不知道该如何上手了,这里需要了解一点,这些的警告消息,在Revit中被称为FailureMessage,我们需要搜一下:

        这里方法还挺多的,我们要关注的就是与警告相关的图元和中文描述,如上图中红框所示,然后我们就可以根据图元ID进行操作了。

        接下来以删除重复图元实例为例,进行代码展示:

import clrclr.AddReference('RevitServices')from RevitServices.Persistence import DocumentManagerdoc = DocumentManager.Instance.CurrentDBDocument
warnings = doc.GetWarnings()descriptions = []elements = []
for warning in warnings: descriptions.append(warning.GetDescriptionText()) ids_temp = warning.GetFailingElements() elements_temp = [] for id in ids_temp: elements_temp.append(doc.GetElement(id)) aids_temp=warning.GetAdditionalElements() for id in aids_temp: elements_temp.append(doc.GetElement(id)) elements.append(elements_temp)
OUT = descriptions, elements

        完整截图如下,过滤出【相同位置处具有相同实例】项,将图元删掉即可:

        另外还可以处理很多其他警告信息,小伙伴们自行尝试即可~     

        当然了,如果你是用的Revit2021,只需要将Dynamo升级到2.6版本以上,也是内置了警告相关的节点,很容易上手,我这里就不再赘述了哈。





早期文章整理目录:

『Dynamo教程目录整理2022.01』BIM的乐趣By九哥



有希望入群或者想要购买教程的小伙伴,都可以扫码,加我微信,备注来源,我来拉你入群哦~

下面是九哥的知识店铺

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
Computational BIM Workshops | PROVING GROUND
Dynamo初探——简介及安装
【IAR警告】Warning[Pa082]:?undefined?behavior:?th...
最短路径——通过Dynamo批量创建行进路线
我赌你不知道这个软件是什么!
Revit如何在三维中显示轴网?
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服