我很好奇下面代码片段的结果。我想用名字来命名一个家庭,并插入该家庭中发现的第一个符号。
这对于带有多个符号的家庭适用。但是,对于那些没有特定类型定义的对象,有时symId.Count() = 1
有时会返回null异常。为什么会这样?
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项目,然后重新加载-我遇到相同的错误。
答案 0 :(得分:0)
您说,“有时会返回null异常”。
那不是很具体。
我建议您逐步调试代码,并确切确定哪个API调用引发了异常,并确定异常消息的内容。
这可能会澄清正在发生的事情。