在Revit中,如何获取族的实例参数和类型参数?这两种的获取方式有些区别。
一、实例参数
![a296d8a0adeb1dee282c799eaedf5274.png](https://i-blog.csdnimg.cn/blog_migrate/f6c5627a7439e1b1cdd1452a50e6c108.jpeg)
![a428fc93e7a9fb0b94d05165134769b4.gif](https://i-blog.csdnimg.cn/blog_migrate/0c512c55bbd544f0aa4fc961b4abdcf3.gif)
如上图,左侧的是实例参数,我们如何取“标高”这个参数呢?
答:直接使用LookupParameter方法即可实现。
![a75f0319c27133798eeef59ce986bad0.png](https://i-blog.csdnimg.cn/blog_migrate/d0e2d05b3940a0207dc02a9774002d47.jpeg)
![7fceddbabe8ad9d6659e7b1683b1923a.gif](https://i-blog.csdnimg.cn/blog_migrate/56ca007cd8426bcd971d2b3e6aeaf9a7.gif)
Element element = new Element();var parameter = element.LookupParameter("标高");var value = parameter.AsValueString();
![d9a72bdcfa88e7aaaed863b437f5e067.gif](https://i-blog.csdnimg.cn/blog_migrate/30d7c875dd232e8827e2340e9d14905d.gif)
二、类型参数
这个有点小麻烦,不过我们可以通过下面的方式来查找一个族的类型参数,然后再去编写代码。
1.选中一个图元后,我们使用Revit Lookup查看器去看一下参数
![91627c767bc17af66c4dbdd0cb70b408.png](https://i-blog.csdnimg.cn/blog_migrate/8728b55a4f1439ba33e22038810642bd.jpeg)
![f7ae5536ca4488442a569126a559aba7.gif](https://i-blog.csdnimg.cn/blog_migrate/839e08a51301ec4121af660718b75f50.gif)
2.找到GetValidTypes,点进去
![5fd52423265dc341d417c0bc1d0d01bb.png](https://i-blog.csdnimg.cn/blog_migrate/6bb8a42888b9fb83c4090334ab171536.jpeg)
![24f74d38bad6df2fbe93c74ae92f6394.gif](https://i-blog.csdnimg.cn/blog_migrate/2bb2c8e7d1b65bb4f8e0dd90cd06d6b7.gif)
3.注意看下图的2个红圈,左上角的表示它的类型,右边的则表示可以获取Parameters参数。注意左上角的红圈类型,是因为我们写代码的时候要用。
![c12a7bb6953757255e9ad36f02d32e60.png](https://i-blog.csdnimg.cn/blog_migrate/2b2371947bc0f3f9e9e61fa391c13b20.jpeg)
![b5b644c8967dc400009f2fdb4a4c69f8.gif](https://i-blog.csdnimg.cn/blog_migrate/dc321b43e66ce294f57ed9a32c63e506.gif)
4.进入Parameters后,我们就会看到所有的类型参数了。这样,我们就可以有办法写出对应的程序代码。
![3077ae76f8fb05dc9c93bdd940959361.png](https://i-blog.csdnimg.cn/blog_migrate/a1206277ebc0e63d9b461e4c2f216499.jpeg)
![a9d4e842e9998ae495e590716f25ad9f.gif](https://i-blog.csdnimg.cn/blog_migrate/328b5d1e7fa8f88cda2f5dceccc1b5e1.gif)
5.编写获取类型参数的程序代码
Element element = new Element();var types = element.GetValidTypes();foreach (var elementId in types){ var familySymbol = this.Document.GetElement(elementId) as FamilySymbol; var parameter = familySymbol.LookupParameter("带宽");}
![7d7b290526777aeb36ce6020cefd84b2.gif](https://i-blog.csdnimg.cn/blog_migrate/2909b536a2115bdfb26ae333b4764d11.gif)
祝您用餐愉快。