EaBIM

标题: 如何编程判别一个Revit族的主题对象是墙还是基于面? [打印本页]

作者: 萧闫子    时间: 2014-1-15 14:03
标题: 如何编程判别一个Revit族的主题对象是墙还是基于面?
得到这个问题
叶老师,想请教一个问题:在项目上布置一个灯具之前,如何判断这个灯具族是基于墙还是基于面的,我查到一个方法,获取族的“主体”参数,代码如下:family.get_Parameter(BuiltInParameter.FAMILY_HOSTING_BEHAVIOR).AsInteger(),它返回的是数值。请问返回的数值准确对应基于的主体吗?这些数值分别代码了什么?或者其他方法。谢谢!


答:
你基本找到问题的解决办法了:
通过获取Family的BuiltInParameter.FAMILY_HOSTING_BEHAVIOR 参数值来判别。
若参数值为1,则表明族是基于墙的。
若参数值为0,则表明族可能是基于面的。
    此时若Family对象的FAMILY_WORK_PLANE_BASED 参数值为0,表明不是基于工作平面的。若参数值为1,表明是基于工作平面的。
若参数值为3,则表明是易于吊顶的。
若参数值为5, 则表明是基于Face的
若参数值为2, 则表明是基于Floor(楼板的)


你可以在Revit里面打开该族的定义文件,在族的参数界面中找到该族的Host或主体参数值,一眼可以看出主体的对象类别。然后读取该Family的FAMILY_HOSTING_BEHAVIOR 参数值来获取更多的这里未列出的参数值。从而建立参数值与主题类别的关系。


转载请复制以下信息:
原文链接: http://blog.csdn.net/joexiongjin/article/details/11542943
作者:  叶雄进 , Autodesk ADN


作者: 楚客    时间: 2014-2-14 10:16
顶!!!!!!!!!!
作者: 苦田辛君    时间: 2014-2-15 14:28
顶起来…………
作者: 慕容柔晴    时间: 2014-2-15 14:33
顶!!!!!!!!!!!!!!!!!!!!!!!!!
作者: 卡巴kala    时间: 2014-2-15 14:41
顶...... 楼下跟上.....
作者: 猫猫girl    时间: 2014-2-18 12:03
顶起来…………
作者: 静儿    时间: 2014-2-19 14:55
顶...... 楼下跟上.....
作者: dglei88    时间: 2014-2-20 14:04
路过!!! 不发表意见……




欢迎光临 EaBIM (https://eabim.net/) Powered by Discuz! X3.2