以墨代水 2019-03-11 23:42 采纳率: 33.3%
浏览 1118
已结题

Revit二次开发 关于构建的剪切的实现方法提问。

初学二次开发不久,最近在尝试用代码在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);



            //两个标准族实例的剪切

            SolidSolidCutUtils.AddCutBetweenSolids(doc, elem_1, elem_2);

原文链接:

这里这位大神是通过手动选取的方式完成的剪切,我想做到完全自动化,例如用元素的ID,元素名之类的来代替手动选取模型,自己多番尝试但均无果。

请问:假设用代码创建了两个相互交错的模型,有没有什么方法能做不需要手动选取就能完成剪切,还烦请各位大神给出具体思路或代码片段,感激不尽。

  • 写回答

3条回答 默认 最新

  • zMapler 2020-03-19 11:06
    关注

    需要使用的是InstanceVoidCutUtils.AddInstanceVoidCut方法,剪切出空心体
    空心体族的属性 familyDoc1.OwnerFamily.get_Parameter(BuiltInParameter.FAMILY_ALLOW_CUT_WITH_VOIDS);要设置为1。

    评论

报告相同问题?

悬赏问题

  • ¥15 C#算法问题, 不知道怎么处理这个数据的转换
  • ¥15 YoloV5 第三方库的版本对照问题
  • ¥15 请完成下列相关问题!
  • ¥15 drone 推送镜像时候 purge: true 推送完毕后没有删除对应的镜像,手动拷贝到服务器执行结果正确在样才能让指令自动执行成功删除对应镜像,如何解决?
  • ¥15 求daily translation(DT)偏差订正方法的代码
  • ¥15 js调用html页面需要隐藏某个按钮
  • ¥15 ads仿真结果在圆图上是怎么读数的
  • ¥20 Cotex M3的调试和程序执行方式是什么样的?
  • ¥20 java项目连接sqlserver时报ssl相关错误
  • ¥15 一道python难题3