带有共享族的载入,手工导入都会出现这个交互弹窗
而使用 document.LoadFamily(FamilyPath, out family);是会报错的
根据这篇文章的思路:Revit二次开发之编辑族并载入到项目文档里_ifamilyloadoptions_BIM_er的博客-CSDN博客
问题解决
if (family == null)
{
document.LoadFamily(FamilyPath, out family);
if (family == null)
{
projectFamLoadOption loadOption = new projectFamLoadOption();
document.LoadFamily(FamilyPath, loadOption,out family);
}
}
public class projectFamLoadOption : IFamilyLoadOptions
{
//当族实例在目标文档中被找到时,将被触发执行的回 调函数
bool IFamilyLoadOptions.OnFamilyFound(bool familyInUse, out bool overwriteParameterValues)
{
overwriteParameterValues = true;
return true;
}
//当共享族实例在目标文档中被找到时,将被触发执行 的回调函数
bool IFamilyLoadOptions.OnSharedFamilyFound(Family sharedFamily, bool familyInUse, out FamilySource source, out bool overwriteParameterValues)
{
source = FamilySource.Project;
overwriteParameterValues = true;
return true;
}
}