我希望能夠使用Revit 2017 API翻轉實時部分。這將是我在下面的圖片中看到的UI功能的等同物。如何使用Revit API翻轉實時部分
我已經嘗試使用內置ElementTransformUtils.MirrorElement
但這隻會造成與第二剖面圖的第二部分標記。有什麼方法可以使用Revit API實現此目的?
我希望能夠使用Revit 2017 API翻轉實時部分。這將是我在下面的圖片中看到的UI功能的等同物。如何使用Revit API翻轉實時部分
我已經嘗試使用內置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分量。
保健佳品參考代碼?謝謝! – konrad
是的,你可以分享一個代碼示例嗎?在我得到Revit API論壇的迴應之前,這是我走下的道路。此外,其中一位回覆我的帖子的人聲稱,將「mirrorCopies」設置爲「false」(根據我的回答)並不適用於他們。我想知道我的答案是否適用於舊版本的Revit。 – skeletank