我仍然不清楚Revit插件在運行時如何知道是否存在其他活動本地文件(其他活動用戶)。Revit工作共享 - 獲取活動本地用戶
正在考慮的插件需要在共享參數'SPuniqueID'中提供所有具有其UniqueID的預定元素。其目的是可以將此SPuniqueID添加到日程表中(遺憾的是,無法通過Revit用戶界面將UniqueID直接添加到日程安排中)。
接下來,可以將帶有添加到日程表中的字段SPuniqueID的日程表導出到excel。由於包含UniqueID的SPuniqueID被添加到Excel表中,因此可以編寫一個ScheduleCompare程序,比較在Revit項目生命週期中不同時刻生成的2個數量調查,並找出差異(已更改的數量對於某些物品)。
我已經構建了這個ExportSchedules插件,可以在獨立的修復文件中完美工作,甚至可以使用來自修復鏈接的鏈接元素。但是,當我在中央模型的本地副本上運行此操作時,我當然會遇到一些例外情況,即其他用戶借用了某些元素,並且無法設置SPuniqueID。
我想事先檢查我是否對所有預定的元素擁有完整的權利。 在預定的元素列表上操作'WorksharingUtils.CheckoutElements()'並捕獲異常,實現此目的的唯一方法是?
我以爲有可能是一個日誌文件的地方,將跟蹤活動的本地用戶。當且僅當此列表僅包含我的名字時,我會讓插件繼續,因爲我會自動知道所有可用於編輯的元素。
親切的問候
保盧斯
C.F.也http://forums.autodesk.com/t5/revit-api/worksharing-get-active-local-users/td-p/5888747 –
你檢查了Document.HasAllChangesFromCentral()方法嗎?它可能有用,但我懷疑它沒有報告其他用戶在本地文件中借用的元素,但沒有將這些更改同步到中央。 –
感謝您的回答cs1088。 Howerver我不需要知道我的本地文件是否是最新的。我知道我是最新的,因爲我在出口數量調查之前與CM同步。正如你所提到的,我需要知道其他用戶是否仍然活躍和工作。他們不應該,而不是在進行數量調查時。 –