本文主要是介绍Revit API 判断族 基于面 or 基于主体,判断基于主体的类型,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
得到这个问题
叶老师,想请教一个问题:在项目上布置一个灯具之前,如何判断这个灯具族是基于墙还是基于面的,我查到一个方法,获取族的“主体”参数,代码如下: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
这篇关于Revit API 判断族 基于面 or 基于主体,判断基于主体的类型的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!