有时候,Revit 2016调用NewFamilyIntance的时候抛出异常The symbol is not active. Parameter name: symbol.
这个问题解决办法是,在调用NewFamilyInstance之前,需要先判断FamilySymbol.IsActive,如果返回false的话,就要调用FamilySymbol.Activate(),把这个类型激活。
原因:2016为了提升性能,把没有用到的Symbol就不加载。
if (!symbol.IsActive)
{
symbol.Activate();
}
instance = RevitDoc.Create.NewFamilyInstance(
new XYZ(0, 0, 0), symbol, level, StructuralType.NonStructural);