最近为川建国同志操碎了心,希望你能好好的,失败了也没事,把祖国交代给你的事情办好早日回来吧。
应以为粉丝的要求,让我写一篇异形柱翻模的文章,今天来写一下,捋一捋思路和方法,当我们拿到CAD图纸,上边有很多异形柱或者约束边缘构件,手动翻模很费劲的,确实需要API来解决。目前有很多插件都有这个功能,但我在网上搜罗了一圈就一篇这类型的文章(我是歌手写的),源代码量还很少,我就顺手写了一篇,但功能不是特别完备,还需要完善一下,看一下成果:
五边形的图纸是我自己用CAD画的,使用链接到revit中,点击拾取图层自动根据图层线绘制一个异形柱的族,并加载到项目里,下面看一下全过程:
1.获取图纸对象:
Reference
2.获取到图纸的图层,并对该图层隐藏(这样在图纸比较乱的情况下容易分辨是否全部选中创建了)最后要不要显示,看你自己,小编这里只隐藏了。
GeometryObject
3.获取该图层的线这里只是提供了一下PolyLine的获得方法,实际上还是有bug的,小编这里只测试一组图案就把Line一股脑的全放在CurveArray里了,实际上还要去区分,还要自己写算法,小编就先不测试了。
/// <summary>
4.确定要创建的样板
//确定族样板
5.打开族样板后添加一个族类型
FamilyManager
6.添加材质
//添加材质参数
7.利用拉伸来创建一个异形柱
//创建拉伸
8.创建约束
//创建约束
9.关联材质
//关联材质参数
10.载入族
Family
11.给族重命名
因为打开族样板,族的名称默认是族1,没办法在族文件里修改,小编没找到方法,所以只能在项目里修改族名称,要是知道的小伙伴请在文章末尾留言哦。
fa
12.创建柱
/// <summary>
这里有一点非常值得注意,因为Revit 2016不会自动激活没有用到的族类型,因此如果没激活的话会抛出异常The symbol is not active.,解决这个问题的办法是将族类型激活即可。
if
整个思路就是这样子的,全部源代码请关注微信公众号:精讲Revit二次开发。