我准备了设计自动化应用程序,可将视图集导出到 DWG 文件。 WorkItem 包含 json 文件,该文件具有要导出的标准视图列表,但为了扩展应用程序,我需要向用户显示模型具有的视图列表,以便用户可以选择要导出的视图。
今天我测试了随机 6Gb 项目导出 7 个视图。
在这种情况下,如果我想向用户显示要导出的视图列表,我需要一个不同的 WorkItem 来收集模型中的所有平面图并作为列表返回,但用户无法等待近 1 小时只需获取视图列表或其他元素。
有没有一种方法可以在不打开Revit文件的情况下使用它来获取不需要模型渲染的数据?或者保持文件打开一段时间以运行不同的工作项以避免打开?或者有任何解决方案可以减少此大小及更大文件的 WorkItem 时间?
与打开 Revit 文件的 DA 工作人员保持活动连接(粘性会话)只是为了访问文件中的数据是可能的,但很可能成本效率低下。您最终将为没有人愿意连接到该会话的空闲时间付费。另外还存在一个问题,即您可以拥有多少个此类活动连接,因为每个文件将占用一个工作程序实例。
我对此的最佳建议是使用另一个活动/应用程序包,为您提供给定模型中的可用视图列表。定期运行此活动或在更新源 Revit 文件时运行此活动,以获取模型中的视图列表。在数据库中维护所有模型的返回视图列表。这将允许您在用户浏览给定模型时向用户呈现数据库中的视图列表。
数据同步存在一个小问题,该问题可能太重要也可能不太重要,具体取决于您的 Revit 模型何时更新以及视图列表提取活动何时运行。如果用户将视图添加到 Revit 模型并希望该视图立即出现在您的 UI 中,则这种情况可能不会发生。但它最终会出现,所以他们需要耐心。