2016-11-24 76 views
0

我有一個由家庭類型類型參數控制的嵌套系列家族。 (存儲類型ElementId)Revit API:如何檢索存儲類型爲ElementId的參數的可能值

如何查詢項目文件以檢索elementId類型的參數的可能值?

我已經探聽了家庭實例,看看當我選擇不同的類型時爲參數設置了什麼值。我可以找到這些elementIds,可以將它們硬編碼,並且它可以工作。但我真的需要能夠在運行時弄清楚這一點。

例如:我家族中嵌套(不共享)的家庭類型之一被命名爲「循環」。我已經通過filteredElementCollector(revitDoc)在主文檔中搜索了所有元素和元素類型,但找不到一個名爲「Circular」的文檔,但是,如果我要求文檔獲取與硬編碼ID相關的元素,它會給我一個元素名稱爲「Circular」。所以我知道它在文檔中!

家族文檔本身的元素ID不正確。我的懷疑是,當家庭被加載到Revit項目文檔中時,嵌套系列會被賦予元素ID,但不能通過過濾元素收集器進行訪問。

注意:如果他們被共享但他們不共享,他們可能會被發現。 (如果它們是共享的,則可以通過已放置的系列實例的「子組件」屬性找到它們,並且從那裏開始,我假設我們可以獲得它們的類型)

回答

1

恐怕您提到的硬編碼解決方案是隻有現在就接近。我會添加斷言和單元測試套件,以確保您真正捕獲並支持所有可能的狀態。您可能需要檢查Revit Idea工作站願望清單中標記爲API的項目,並查看是否有合適的願望記錄將其包含在內,或者是否可以記錄新的項目。當然,我會盡可能保持通用。

http://forums.autodesk.com/t5/revit-ideas/idb-p/302

http://forums.autodesk.com/t5/revit-ideas/idb-p/302/label-name/api

+0

嗨傑里米,謝謝你的確認不存在這個其他優雅的解決方案。我一定會將其添加到Revit Ideas中。我想我可以蠻橫的,只是從1-n循環元素ID,並收集所有的家庭符號,然後找到我正在尋找的。我製作了這個家庭,所以我知道我正在尋找哪些人,但沒有辦法確定他們的元素ID。 – MarshAPI

+0

http://forums.autodesk.com/t5/revit-ideas/retrieve-possible-values-for-parameters-of-the-storage-type/idi-p/6709635 – MarshAPI

相關問題