通过Dynamo删除Revit中族参数探究

起因是这样的,有位同事想在项目中直接删除revit族的参数,而不打开族,避免因为重载族,造成一些管件连接断开,于是就有了下面这些研究,当然是因为我没办法实现这个想法,所以这次可以分享下研究的过程。
 

首先,我先翻了一下Dynamo的节点库,并没有找到直接删除Parameter的方法,于是就百度搜了下,群里问了下,然并卵,并没有关于这些的教程或者思路分享。

于是,只能尝试写几行代码了。
 

但是翻阅API手册以后,我发现这个事情基本就泡汤了。因为很明确,删除族参数,必须打开族才能实现,瞬间就没那么复杂了,只要打开族,删除选中的参数ID就行了:

或者用针对族文件的:

当然,这里就怎么简单怎么来就行,然后就可以调用Python Script写代码了,如下:

# Copyright(c) 2019-2024, 九哥BIMer
import clr
clr.AddReference('RevitAPI')
from Autodesk.Revit.DB import*
import Autodeskclr.AddReference("RevitServices")
import RevitServices
from RevitServices.Persistence import DocumentManager
from RevitServices.Transactions import TransactionManager
from Autodesk.Revit.DB import Transactiondoc=DocumentManager.Instance.CurrentDBDocumentparamNames=IN[0]
paramToDel=[]for n in paramNames:paramToDel.append(doc.FamilyManager.get_Parameter(n))TransactionManager.Instance.EnsureInTransaction(doc)  
for p in paramToDel:try:doc.Delete(p.Id)except:pass  
TransactionManager.Instance.TransactionTaskDone()OUT=paramToDel

运行效果如下:
 

当然了,这里用RemoveParameter也是一样的,这里我就不附代码了,大家可以自己尝试。

到这里基本功能就已经实现了,这时候我想起了前几次讲过的DateSharp了,于是就稍微处理了下,把要输入的参数,通过可视化界面来选择,效果如下:

这里纯属娱乐,没必要搞得这么复杂


 

但是通过这个,也想到一个问题,就是好多族,都要删除相同的参数,一个个批量操作,才是Dynamo的优势啊!

而且很幸运,在尝试的时候,我在GitHub上搜到了一个节点包,“Orchid”,于是就下载了这个包,发现里面很很多关于参数的节点,不论是族参数还是项目参数。于是就测试了起来,这里省略一万字。。。
 

总之呢,就是我找到了一种批量删除族参数的方法:
 

首先,将需要删除参数的族,从项目中导出到一个指定文件夹中,通过Directory.Contents找到指定路径的所有族文件,之后再后台打开,如下图:

然后设置要删除的参数名称,到Orchid里找到Parameter.Delete删除参数即可,然后在用Document.Close关掉打开的族即可,如下图:

当然了,这里还不过瘾,我想在删除参数,保存族以后,也一并载入到项目中,其实Orchid也有所需的节点,只要在删除完参数,后面连一个Document.LoadFamily即可,如下图:

是不是很简单呢?
 


 

篇幅有限,今天就写到这里了,我还想到了添加共享参数,删除项目参数等操作,大同小异,这里就不在赘述了。

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

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

linux系统定时任务管理

crontab使用 一、crontab简介 crontab 这个指令所设置的工作将会循环的一直进行下去!可循环的时间为分钟、小时、每周、每月或每年等。crontab 除了可以使用指令执行外,亦可编辑 /etc/crontab 来支持。 至于让 crontab 可以生效的服务则是 crond 这个服…

39 MDK 的编译过程及文件类型全解

文章目录 39.1 编译过程39.1.1 编译过程简介 39.2 程序的组成、存储与运行39.3 编译工具链39.3.1 MDK编译文件39.3.2 设置环境变量39.3.3 运行39.3.4 armcc、armasm 及 armlink39.3.4.1 armcc39.3.4.2 查询具体的MDK编译选项的具体信息39.3.4.3 armasm39.3.4.4 armlink39.3.4.5…

“OLED屏幕,色彩绚丽,画面清晰,让每一帧都生动无比。“#IIC协议【上】

"OLED屏幕,色彩绚丽,画面清晰,让每一帧都生动无比。"#IIC协议【上】 前言预备知识1.IIC协议初识1.1 IIC协议概述1.2 IIC协议的特点1.3 IIC协议的构成 2. IIC起始信号和终止信号2.1起始型号和终止信号时序图分析2.2起始信号函数和终…

JAVA学习笔记9

1.Java API 文档 1.java类的组织形式 2.字符类型(char) 1.基本介绍 ​ *字符类型可以表示单个字符,字符类型是char,char是两个字节(可以存放汉字),多个字符我们用字符串String ​ eg:char c1 ‘a’; ​ char c2…

【Android】使用Android Studio运行Hello World项目

文章目录 1. JDK的安装与配置2. Android Studio的安装3. 运行Hello World项目3.1 新建项目3.2 修改项目配置3.2.1 修改UI界面3.2.2 配置 Android SDK 3.3 添加并运行虚拟设备3.4 运行项目 1. JDK的安装与配置 想要使用Android Studio,必须先配置Java环境&#xff0…

vue3初识

目录 一、前言二、主观感受三、vue3初探 原文以及该系列教程文章后续可点击这里查看:vue初识 一、前言 Vue.js是一款流行的前端框架,最初由尤雨溪(Evan You)于2014年创建,非常的年轻。官网为vue3, 但要注…

Learn LaTeX 015 - LaTex Typeset 抄录

https://www.douyin.com/user/self?modal_id7306721102380764453&showTabpost GitHub address: https://github.com/yasenstar/learn_latex Gitee address: https://gitee.com/yasenstar/learn_latex

windows 查看磁盘空间 treesizefree

https://downloads.jam-software.de/treesize_free/TreeSizeFreeSetup.exe

Hugging Face 刚刚推出了一款开源的 AI 助手制造工具,直接向 OpenAI 的定制 GPT 挑战

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗?订阅我们的简报,深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同,从行业内部的深度分析和实用指南中受益。不要错过这个机会,成为AI领…

清空队列的方法

注意&#xff1a;C中的队列queue自身不支持clear操作&#xff0c;但双端队列deque是支持clear操作的。 方法一&#xff1a;直接用空的队列对象赋值 代码&#xff1a; queue<int> q; qqueue<int>(); 方法二&#xff1a;遍历出队列 代码&#xff1a; while(!q…

C#系列-使用 Minio 做图片服务器实现图片上传 和下载(13)

1、Minio 服务器下载和安装 要在本地安装和运行 MinIO 服务器&#xff0c;你可以按照以下 步骤进行操作&#xff1a; 1. 访问 MinIO 的官方网站&#xff1a;https://min.io/&#xff0c;然后 点击页面上的”Download”按钮。 2. 在下载页面上&#xff0c;选择适合你操作系统的 …

AJ-Report 【开源的一个BI平台】

AJ-Report是全开源的一个BI平台&#xff0c;酷炫大屏展示&#xff0c;能随时随地掌控业务动态&#xff0c;让每个决策都有数据支撑。     多数据源支持&#xff0c;内置mysql、elasticsearch、kudu驱动&#xff0c;支持自定义数据集省去数据接口开发&#xff0c;目前已支持30…

【JS逆向六】(下)逆向解密某网站返回的密文的值 仅供学习

逆向日期&#xff1a;2024.02.07 使用工具&#xff1a;Node.js 文章全程已做去敏处理&#xff01;&#xff01;&#xff01; 【需要做的可联系我】 可使用AES进行解密处理&#xff08;直接解密即可&#xff09;&#xff1a;在线AES加解密工具 1、打开某某网站(请使用文章开头的…

2024年1月23日 Go生态洞察:开发者对Go的反馈分享

&#x1f337;&#x1f341; 博主猫头虎&#xff08;&#x1f405;&#x1f43e;&#xff09;带您 Go to New World✨&#x1f341; &#x1f984; 博客首页——&#x1f405;&#x1f43e;猫头虎的博客&#x1f390; 专栏链接&#xff1a; &#x1f517; 精选专栏&#xff1a;…

鸿蒙开发系列教程(十五)--gesture 手势事件

gesture 手势事件 手势操作是指在移动设备上使用手指或手势进行与应用程序交互的方式。手势操作可以包括点击、滑动、双击、捏合等动作&#xff0c;用于实现不同的功能和操作。 gesture 常规手势 参考代码&#xff1a; Entry Component struct Test03 {build() {Column() {…

Stable Diffusion 模型下载:ToonYou(平涂卡通)

文章目录 模型介绍生成案例案例一案例二案例三案例四案例五案例六案例七案例八案例九案例十 下载地址 模型介绍 ToonYou 是一个平涂风格的卡通模型&#xff0c;它的画风独特、光感强烈、画面表现力强、场景结构完整&#xff0c;一张张图犹如动画电影截图&#xff0c;非常值得推…

Python 错误及其解决方法

Python 是一种易于学习的编程语言&#xff0c;但初学者在学习和使用 Python 的过程中难免会遇到一些错误。以下是一些常见的 Python 错误及其解决方法&#xff1a; 1. 语法错误&#xff08;SyntaxError&#xff09;&#xff1a; python # 错误示例 print("Hello, World!…

React18原理: Fiber架构下的单线程CPU调度策略

概述 React 的 Fiber 架构, 它的整个设计思想就是去参考CPU的调度策略CPU现在都是多核多进程的&#xff0c;重点研究的是 CPU是单核单线程&#xff0c;它是如何调度的?为什么要去研究单线程的CPU&#xff1f; 浏览器中的JS它是单线程的JS 的执行线程和浏览器的渲染GUI 是互斥…

小程序-云开发 获取用户的openid等信息

说明介绍&#xff1a; 小程序云开发功能来获取用户的openid。 一般在我们需要用到用户登录的时候&#xff0c;通常是需要获取微信小程序的openid的&#xff0c;由于微信的限制&#xff0c;一般我们只能通过后台去调微信的接口&#xff0c;来授权获取&#xff0c;增加了后端开发…

fast.ai 深度学习笔记(二)

深度学习 2&#xff1a;第 1 部分第 4 课 原文&#xff1a;medium.com/hiromi_suenaga/deep-learning-2-part-1-lesson-4-2048a26d58aa 译者&#xff1a;飞龙 协议&#xff1a;CC BY-NC-SA 4.0 来自 fast.ai 课程的个人笔记。随着我继续复习课程以“真正”理解它&#xff0c;这…