Dynamo读取Revit警告

Hello大家好!我是九哥~

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

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


 

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

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

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

warnings = doc.GetWarnings()

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

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

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

import clr
clr.AddReference('RevitServices')
from RevitServices.Persistence import DocumentManager
doc = DocumentManager.Instance.CurrentDBDocumentwarnings = 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版本以上,也是内置了警告相关的节点,很容易上手,我这里就不再赘述了哈。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/472948.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

使用html-webpack-plugin对HTML文件进行预处理

原文地址:https://segmentfault.com/a/1190000021518323作者:Fw恶龙本文首发于:思否 一、前言 先整理一波之前和webpack相关的文章: 使用Webpack对CSS文件进行后处理基于Webpack的CSS Sprites实现方案Stylus系列——webpack-spritesmith配合…

二、ActiveMQ安装

ActiveMQ安装 一、相关环境二、安装Java8三、下载安装包四、启动五、其他命令六、开放端口七、后台管理 一、相关环境 环境:Centos7.9安装ActiveMQ版本:5.15.9JDK8 二、安装Java8 安装教程:https://qingsi.blog.csdn.net/article/details/…

软件工程师,OpenAI Sora驾到,快来围观

概述 近期,OpenAI在其官方网站上公布了Sora文生视频模型的详细信息,展示了其令人印象深刻的能力,包括根据文本输入快速生成长达一分钟的高清视频。Sora的强大之处在于其能够根据文本描述,生成长达60秒的视频,其中包含&…

字符串拼接 - 华为OD统一考试(C卷)

OD统一考试(C卷) 分值: 200分 题解: Java / Python / C 题目描述 给定 M 个字符( a-z ) ,从中取出任意字符(每个字符只能用一次)拼接成长度为 N 的字符串,要求相同的字符不能相邻。 计算出给定的字符列表…

平时积累的FPGA知识点(10)

平时在FPGA群聊等积累的FPGA知识点,第10期: 41 ZYNQ系列芯片的PL中使用PS端送过来的时钟,这些时钟名字是自动生成的吗? 解释:是的。PS端设置的是ps_clk,用report_clocks查出来的时钟名变成了clk_fpga_0&a…

JavaScript设计模式与开发实战

JavaScript设计模式与开发实践 第一章、面向对象的JavaScript 1.1 多态 类似java面向对象,通过继承共有特征,来实现不同方法。JavaScript的多态就是把“做什么”和“谁去做”分离,消除类型间的耦合关系。 他的作用就是把过程化的条件分支…

解决LeetCode编译器报错的技巧:正确处理位操作中的数据类型

一天我在leetcode上刷题时&#xff0c;遇到了这样的题目&#xff1a; 随即我写了如下的代码&#xff1a; int convertInteger(int A, int B) {int count 0;int C A ^ B;int flag 1;while(flag){if (C & flag){count;}flag<<1;}return count;} 但LeetCode显示如下…

07-k8s中secret资源02-玩转secret

一、回顾secret资源的简单实用 第一步&#xff1a;将想要的数据信息【key&#xff1a;value】中的value值&#xff0c;使用base64编码后&#xff0c;写入secret资源清单中&#xff1b; 第二步&#xff1a;创建secret资源&#xff1b; 第三步&#xff1a;pod资源引用secret资源&…

建造者模式-Builder Pattern

原文地址:https://jaune162.blog/design-pattern/builder-pattern/ 引言 现在一般大型的业务系统中的消息通知的形式都会有多种,比如短信、站内信、钉钉通知、邮箱等形式。虽然信息内容相同,但是展现形式缺不同。如短信使用的是纯文本的形式,钉钉使用的一般是Markdown的形…

【研究生复试】计算机软件工程人工智能研究生复试——资料整理(速记版)——JAVA

1、JAVA 2、计算机网络 3、计算机体系结构 4、数据库 5、计算机租场原理 6、软件工程 7、大数据 8、英文 自我介绍 1. Java 1. 和 equals的区别 比较基本数据类型是比较的值&#xff0c;引用数据类型是比较两个是不是同一个对象&#xff0c;也就是引用是否指向同 一个对象&…

C#,计算几何,贝塞耳插值(Bessel‘s interpolation)的算法与源代码

Friedrich Wilhelm Bessel 1 贝塞耳插值&#xff08;Bessels interpolation&#xff09; 首先要区别于另外一个读音接近的插值算法&#xff1a;贝塞尔插值&#xff08;Bzier&#xff09;。 &#xff08;1&#xff09;读音接近&#xff0c;但不是一个人&#xff1b; &#x…

【二十一】【C++】模版特化

模版的参数 类型模板参数 类型模板参数允许在定义模板时指定一个占位符&#xff0c;这个占位符在模板实例化时将被具体的类型替换。这使得我们能够编写与类型无关的通用代码。例如&#xff0c;标准库中的 std::vector<T> 使用一个类型模板参数 T&#xff0c;这意味着你…