X
返回顶部
当前位置: 首页> BIM资讯> BIM技术

revit怎么删除族参数?通过Dynamo删除Revit中族参数探究

发布:中文网小编3号 浏览:6340人 分享
发布于:2020-10-23 14:51

    文章来源:BIM的乐趣

image.png

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

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

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

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

image.png

    或者用针对族文件的:

image.png

image.png

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


# Copyright(c) 2019, 九哥BIMerimport clrclr.AddReference('RevitAPI')from Autodesk.Revit.DB import*import Autodesk
clr.AddReference("RevitServices")import RevitServicesfrom RevitServices.Persistence import DocumentManagerfrom RevitServices.Transactions import TransactionManagerfrom Autodesk.Revit.DB import Transaction
doc=DocumentManager.Instance.CurrentDBDocument
paramNames=IN[0]paramToDel=[]
for n in paramNames:  paramToDel.append(doc.FamilyManager.get_Parameter(n))
TransactionManager.Instance.EnsureInTransaction(doc)  for p in paramToDel:  try:    doc.(p.Id)  except:    pass  TransactionManager.Instance.TransactionTaskDone()
OUT=paramToDel

    运行效果如下:

101.gif

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

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

image.png

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

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

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

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

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

image.png

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

image.png

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

image.png

    是不是很简单呢?

    Revit中文网作为国内知名BIM软件培训交流平台,几十万Revit软件爱好者和你一起学习Revit,不仅仅为广大用户提供相关BIM软件下载与相关行业资讯,同时也有部分网络培训与在线培训,欢迎广大用户咨询。

    网校包含各类BIM课程320余套,各类学习资源270余种,是目前国内BIM类网校中课程最有深度、涵盖性最广、资源最为齐全的网校。网校课程包含Revit、Dynamo、Lumion、Navisworks、Civil 3D等几十种BIM相关软件的教学课程,专业涵盖土建、机电、装饰、市政、后期、开发等多个领域。

    需要更多BIM考试教程或BIM视频教程,可以咨询客服获得更多免费Revit教学视频

l  BIM培训网校课程目录

l  Revit零基础培训教程

l  BIM项目实战训练营




BIM技术是未来的趋势,学习、了解掌握更多BIM前言技术是大势所趋,欢迎更多BIMer加入BIM中文网大家庭(http://www.wanbim.com),一起共同探讨学习BIM技术,了解BIM应用!