Back

Revit二次开发 新创建构件无法使用JoinGeometry等问题

Language 中文 English

问题场景: 实现梁间墙封堵的功能,在我创建墙后希望将上部梁与墙连接处理,呈现更好的视觉效果,但是在我创建墙体后直接使用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();
            }

修改前:

在这里插入图片描述

修改后: 在这里插入图片描述