【Revit二次开发】族载入问题-具有共享族的族无法自动加入

文章介绍了在Revit二次开发过程中遇到的加载族到项目文档时的交互弹窗问题及解决方案。通过使用IFamilyLoadOptions接口,自定义回调函数,确保在族实例或共享族已存在时覆盖参数值,从而避免弹窗并成功加载族文件。
摘要由CSDN通过智能技术生成

带有共享族的载入,手工导入都会出现这个交互弹窗

而使用 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;
            }
        }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值