加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

Revit二次开发之 构件的连接和剪切

(2017-06-07 10:12:41)
分类: Revit二次开发
           UIApplication uiapp = commandData.Application;
            UIDocument uidoc = uiapp.ActiveUIDocument;
            Document doc = uiapp.ActiveUIDocument.Document;

            Reference refer_1 = uidoc.Selection.PickObject(ObjectType.Element);
            Element elem_1 = doc.GetElement(refer_1);

            Reference refer_2 = uidoc.Selection.PickObject(ObjectType.Element);
            Element elem_2 = doc.GetElement(refer_2);
            #region//实体剪切和相交 工程扣减时很有用
            Transaction ts = new Transaction(doc, "cut");
            ts.Start();
            //两个标准族实例的剪切
            SolidSolidCutUtils.AddCutBetweenSolids(doc, elem_1, elem_2);
            //获取剪切实例的个数
            ICollection list = SolidSolidCutUtils.GetCuttingSolids(elem_1);
            //判断两个构件是否连接
            if (JoinGeometryUtils.AreElementsJoined(doc, elem_1, elem_2) == true)
            {
                //取消连接
                JoinGeometryUtils.UnjoinGeometry(doc, elem_1, elem_2);
                //取消剪切
                SolidSolidCutUtils.RemoveCutBetweenSolids(doc, elem_1, elem_2);
                //连接
                JoinGeometryUtils.JoinGeometry(doc, elem_1, elem_2);
                //切换连接顺序
                JoinGeometryUtils.SwitchJoinOrder(doc, elem_1, elem_2);
                //获取连接对象的个数
                ICollection listid = JoinGeometryUtils.GetJoinedElements(doc, elem_1);
            }
            ts.Commit();

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有