如何使用 Revit 翻转实时部分 API

How can I flip a live section with the Revit API

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

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

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

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

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);