【问题标题】:How can I flip a live section with the Revit API如何使用 Revit API 翻转实时部分
【发布时间】:2017-02-14 22:52:41
【问题描述】:

我希望能够使用 Revit 2017 API 翻转实时部分。它相当于我在下面的图片中看到的 UI 功能。

我尝试过使用内置的ElementTransformUtils.MirrorElement,但这只会创建带有第二个剖面视图的第二个剖面标记。有什么方法可以使用 Revit API 实现这一点?

【问题讨论】:

    标签: c# revit-api revit


    【解决方案1】:

    我在 Revit API 论坛上的帖子 How can I flip a section using the Revit 2017 API 得到了解决方案。事实证明,我忽略了复数 ElementTransformUtils.MirrorElements 函数,我认为它与单数 ElementTransformUtils.MirrorElement 几乎完全相同,除了使用多元素镜像而不是单个镜像。复数ElementTransformUtils.MirrorElements 有一个bool mirrorCopies 参数,您可以将其设置为false,这将强制对原始部分进行镜像,而不是仅制作原始部分的镜像副本。这是并排的两个函数签名:

    void MirrorElement(
      Document document, 
      ElementId elementToMirror, 
      Plane plane
    );
    
    IList<ElementId> MirrorElements(
      Document document, 
      ICollection<ElementId> elementsToMirror, 
      Plane plane, 
      bool mirrorCopies
    );
    

    我的代码最终看起来像这样(elementsToMirror 只包含一个元素):

    ElementTransformUtils.MirrorElements(document, elementsToMirror, mirrorPlane, false);
    

    【讨论】:

      【解决方案2】:

      您需要更改ViewSection 对象的CropBox 属性。 MinMax 属性的 Z 分量应该倒置。

      【讨论】:

      • 是的,你能分享一个代码示例吗?在我得到 Revit API 论坛的回复之前,这就是我要走的路。此外,其中一位回复我帖子的人表示,将mirrorCopies 设置为false(根据我的回答)对他们不起作用。我想知道我的答案是否不适用于旧版本的 Revit。
      猜你喜欢
      • 1970-01-01
      • 2020-10-24
      • 1970-01-01
      • 2016-10-24
      • 2023-03-22
      • 2013-01-07
      • 1970-01-01
      • 2020-04-20
      • 1970-01-01
      相关资源
      最近更新 更多