在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);

本文详细介绍了在Revit环境中处理无默认类型的参数设置问题,通过实例展示了如何检查并创建默认类型,进而成功设置参数值。文章提供了实用的代码示例,帮助解决在家庭管理器中遇到的异常问题。
3004

被折叠的 条评论
为什么被折叠?



