RevitAPI: FamilyManager.Set - InvalidOperationException: There is no current type

在Family中调用Set(FamilyParameter)的时候,会抛出异常InvalidOperationException: There is no current type,例如下面的代码:

var para = RevitDoc.FamilyManager.AddParameter("Length", BuiltInParameterGroup.INVALID, ParameterType.Length, false);
RevitDoc.FamilyManager.Set(para, 123.1);
在没有默认类型的时候,我们是依然可以调用AddParameter的。

但是却不能设置参数的值,因为没有类型的话,参数的值就没有意义嘛。

所以,这里我们需要创建一个新的,然后再设置Parameter。在此之前,可以使用FamilyManager.CurrentType是否为空来判断有没有默认的类型。

if (familyMgr.CurrentType == null)
    familyMgr.NewType("A new type");
var para = familyMgr.AddParameter("Length", BuiltInParameterGroup.INVALID, ParameterType.Length, false);
RevitDoc.FamilyManager.Set(para, 123.1);


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值