如何使用 Revit 翻转实时部分 API
How can I flip a live section with the Revit API
我希望能够使用 Revit 2017 翻转实时部分 API。这相当于我在下面的图片中看到的 UI 功能。
我试过使用内置的 ElementTransformUtils.MirrorElement
,但这只会创建带有第二个剖面视图的第二个剖面标记。有什么方法可以使用 Revit API?
您需要更改 ViewSection
对象的 CropBox
属性。 Min
和 Max
属性的 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);
我希望能够使用 Revit 2017 翻转实时部分 API。这相当于我在下面的图片中看到的 UI 功能。
我试过使用内置的 ElementTransformUtils.MirrorElement
,但这只会创建带有第二个剖面视图的第二个剖面标记。有什么方法可以使用 Revit API?
您需要更改 ViewSection
对象的 CropBox
属性。 Min
和 Max
属性的 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);