2017-02-10 27 views
0

我希望能夠使用Revit 2017 API翻轉實時部分。這將是我在下面的圖片中看到的UI功能的等同物。如何使用Revit API翻轉實時部分

Before After

我已經嘗試使用內置ElementTransformUtils.MirrorElement但這隻會造成與第二剖面圖的第二部分標記。有什麼方法可以使用Revit API實現此目的?

回答

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

您需要更改ViewSection對象的CropBox屬性。應該顛倒MinMax屬性的Z分量。

+0

保健佳品參考代碼?謝謝! – konrad

+0

是的,你可以分享一個代碼示例嗎?在我得到Revit API論壇的迴應之前,這是我走下的道路。此外,其中一位回覆我的帖子的人聲稱,將「mirrorCopies」設置爲「false」(根據我的回答)並不適用於他們。我想知道我的答案是否適用於舊版本的Revit。 – skeletank