如何编程判别一个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


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值