最近遇到的需求,写了个小插件。搞了一天,现在把代码发出来,revit2018版本。转载能否保留我的公众号,感激不尽。
思路:
1、新建项目文档,运行插件,第一个事务:loadfamily 载入族文件, 列出全部schema, 根据S chema Nam e有选择的过滤删除。2、第二个事务,editfamily,返回一个族文档,新建一个FamilyManager对象,过滤删除参数。3、把族文档,Save As()保存到新目录下,因为2018的revit,所以保存的也是2018的版本。 使用方法:把需要删除族参数的族文档放到E:\familys\old文件夹下,打开Revit2018新建项目,运行插件。转完圈圈后,删了参数的族保存在new文件夹下。没做异常处理,如果遇到错误,重新打开revit,再运行插件就行了。实在不行,删掉old文件夹下的这个出错误的族文件。 PS:写这篇文章的时候想到,我没做载入族的时候的无人值守功能。会导致问题:高版本的族会中断运行,1%的概率会遇到族文件的错误,也会终止插件的运行。解决办法:版本号可以通过BasicFileInfo过滤,错误处理有个WarningSwallower,在Jeremy老爷子的 b log上有源码。![279be09cf37e9e6f7587e60cb0e9ed63.png](https://img-blog.csdnimg.cn/img_convert/279be09cf37e9e6f7587e60cb0e9ed63.png)
#region Namespacesusing System;using System.Collections.Generic;using System.Diagnostics;using System.IO;using Autodesk.Revit.ApplicationServices;using Autodesk.Revit.Attributes;usin