我仍然不清楚Revit插件如何在运行时知道是否有其他活动本地文件(其他活动用户)。
正在考虑的插件需要在共享参数'SPuniqueID'中提供所有已调度元素及其UniqueID。目的是可以将此SPuniqueID添加到计划中(遗憾的是,无法通过Revit用户界面将UniqueID直接添加到计划中)。
接下来,可以将包含字段SPuniqueID的计划添加到计划中,然后将其导出到Excel。因为包含UniqueID的SPuniqueID被添加到excel表中,所以可以编写ScheduleCompare程序,比较在revit项目的生命周期中的不同时刻生成的2个数量调查,并找出差异(已更改的数量)对于某些文章)。
我已经构建了这个ExportSchedules插件,可以在独立的revit文件上完美运行,甚至可以使用revit链接中的链接元素。但是,当我在中央模型的本地副本上运行时,我当然会得到一些异常,即某些元素被其他用户借用,并且无法设置SPuniqueID。
我想事先检查一下我是否拥有所有预定元素的完全权利。 'WorksharingUtils.CheckoutElements()'是否在计划元素列表上运行并捕获异常,这是实现此目的的唯一方法吗?
我认为某处可能存在跟踪活动本地用户的日志文件。当且仅当此列表仅包含我的名字时,我会让插件继续,因为我会自动知道所有元素都可以编辑。
亲切的问候
Paulus的
答案 0 :(得分:0)
Paulus的, 查看WorksharingUtils.GetCheckoutStatus()方法 - 它可以告诉您元素是否已签出,以及是否已签出。
除此之外,唯一可以通过监视Central File文件夹中的SLOG文件(但是 - 哎呀!)。
最诚挚的问候, 马特