【发布时间】:2019-03-14 18:44:23
【问题描述】:
我很好奇下面代码片段的结果。我想按名称获取一个家族并插入在该家族中找到的第一个符号。
这适用于具有多个符号的家庭。但是,对于没有特定类型定义的那些,有时symId.Count() = 1 和其他时候,会返回一个空异常。为什么会这样?
Element el1 = new FilteredElementCollector(doc).OfClass(typeof(Autodesk.Revit.DB.Family)).FirstOrDefault(x => x.Name == familyName);
Autodesk.Revit.DB.Family fam = el1 as Autodesk.Revit.DB.Family;
ISet<ElementId> symIds = fam.GetFamilySymbolIds();
foreach (ElementId elid in symIds)
{
FamilySymbol symbol = doc.GetElement(elid) as FamilySymbol;
try
{
uidoc.PromptForFamilyInstancePlacement(symbol);
}
catch { }
break;
}
有趣的跟进。当我进入基本系列时,添加一些类型,删除 fom 项目并重新加载 - 我得到了同样的错误。
【问题讨论】: