问题场景:
实现梁间墙封堵的功能,在我创建墙后希望将上部梁与墙连接处理,呈现更好的视觉效果,但是在我创建墙体后直接使用joinGeometry将会报错无法连接。
解决办法:
刷新一下文档
代码:
using (Transaction trans = new Transaction(doc,"Create Close Wall"))
{
trans.Start();
//Wall Type
var duplicate = CreateWallType(doc,wallWidth, $"FBQ - {Math.Round(wallWidth * 304.8)}");
var nWall = Wall.Create(doc, locationCurve, duplicate.Id, tLevel, value, 0, false, true);
doc.Regenerate();
if (!JoinGeometryUtils.AreElementsJoined(doc, beam1, nWall))
{
//首先连接梁与墙,按照剪切顺序,墙会剪切梁下一步需要切换剪切顺序
//此处更换两个构件的顺序依旧会是墙剪切梁
JoinGeometryUtils.JoinGeometry(doc,nWall,beam1);
//重新刷新文档
doc.Regenerate();
JoinGeometryUtils.SwitchJoinOrder(doc, beam1, nWall);
}
trans.Commit();
}
修改前:
修改后: