在结构样板项目中,生成的墙会自带顶部约束
在Revit生成墙的坑这篇文章里,是墙的一个坑:底部约束。而本文要说的是另一个坑:顶部约束。
这样,同样在建筑样板中生成墙的代码,在结构样板项目中生成出来的样子就会变的不正确,不正确的地方就是墙的高度
因为顶部约束的存在,会使得你的墙最高点被固定为顶部约束所对应的标高的高度,如此一来设置墙高也没用
那么,解决方法就是首先要去掉顶部约束
Wall w;
w.get_Parameter(BuiltInParameter.WALL_HEIGHT_TYPE).Set(ElementId.InvalidElementId);
上面代码的意思,就是把墙的顶部约束,赋一个非法标高id,这样顶部约束就去掉了,如下图
然后再设置墙的高度(这个需要你手动计算一下真正的墙高)
Wall w;
double wallHeight;
w.get_Parameter(BuiltInParameter.WALL_USER_HEIGHT_PARAM).Set(wallHeight);