【发布时间】:2017-02-14 22:52:41
【问题描述】:
我希望能够使用 Revit 2017 API 翻转实时部分。它相当于我在下面的图片中看到的 UI 功能。
我尝试过使用内置的ElementTransformUtils.MirrorElement,但这只会创建带有第二个剖面视图的第二个剖面标记。有什么方法可以使用 Revit API 实现这一点?
【问题讨论】:
我希望能够使用 Revit 2017 API 翻转实时部分。它相当于我在下面的图片中看到的 UI 功能。
我尝试过使用内置的ElementTransformUtils.MirrorElement,但这只会创建带有第二个剖面视图的第二个剖面标记。有什么方法可以使用 Revit API 实现这一点?
【问题讨论】:
我在 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);
【讨论】:
您需要更改ViewSection 对象的CropBox 属性。 Min 和 Max 属性的 Z 分量应该倒置。
【讨论】:
mirrorCopies 设置为false(根据我的回答)对他们不起作用。我想知道我的答案是否不适用于旧版本的 Revit。