打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
RevitAPI: 获取系统族的名称

对于自定义的族,我们可以使用如下方式,先从FamilyInstance获取FamilySymbol,然后从FamilySymbol.Family拿到对应的族,最后调用Name属性。

[csharp] view plain copy
  1. FamilyInstance instance;  
  2. var typeid = instance.GetTypeId();  
  3. var symbol = RevitDoc.GetElement(typeid) as FamilySymbol;  
  4. var familyName = symbol.Family.Name;  

但是对于系统族是获取不到Family的。我们的解决办法是:

1. 如果使用的是Revit 2014以前的版本,可以尝试使用一个隐藏的内建参数“族名称” SYMBOL_FAMILY_NAME_PARAM,使用方法如下:

[csharp] view plain copy
  1. Parameter symbolNameParameter = ceilingType.get_Parameter(  
  2. BuiltInParameter.SYMBOL_FAMILY_NAME_PARAM);  
  3. if (symbolNameParameter != null &&  
  4. symbolNameParameter.StorageType == StorageType.String)  
  5. {  
  6.      string symbolName = symbolNameParameter.AsString();  
  7. }  

2. 如果您使用的是Revit 2015或者之后的版本,除了可以使用上面的方法,还可以用一个更简便的方法ElementType.FamilyName:
[csharp] view plain copy
  1. string symbolName = ceilingType.FamilyName;  

其中FamilyName是ElementType的新的属性。

同样这个方法适用于FamilySymbol:

[csharp] view plain copy
  1. FamilyInstance instance;  
  2. var typeid = instance.GetTypeId();  
  3. var symbol = RevitDoc.GetElement(typeid) as FamilySymbol;  
  4. var familyName = symbol.FamilyName;  


本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
Revit二次开发:族、族类型、族实例之间到底如何转换?
各类制作软件 工具下裁地址
提花衣
c#$用法
allegro怎么更新封装
保暖披肩
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服