【问题标题】:Unique Revit Model Identifier 2016-2018唯一的 Revit 模型标识符 2016-2018
【发布时间】:2019-01-22 21:41:59
【问题描述】:

我们正在寻找一种方法来区分来自多台不同计算机的 Revit 模型。对于 BIM360 和 Revit Server 模型,我们可以使用

document.GetWorksharingCentralModelPath().GetModelGUID()

但是,对于本地模型和中心模型,我们无法为模型获取任何类型的唯一标识符。由于多个用户从模板 Revit 模型开始,因此我们无法使用 GUID 设置参数,因此复制唯一标识符并使​​其不唯一。有什么方法可以使用 Revit API 唯一区分 Revit 模型?

【问题讨论】:

  • 可能是用户名和中心路径的组合?我不知道任何特殊标识符,但模型将具有特定于用户的本地路径和应该共享的中心路径。

标签: revit-api revit


【解决方案1】:

The Building Coder 讨论了创建自己的唯一项目 id 和使用Named Guid Storage for Project Identification 的问题。

【讨论】:

  • 感谢您的回复。 GUID 返回很好,但不幸的是,如果我将该 *.rvt 文件从一个位置复制到另一个位置,则 GUID 会跟随复制的项目。
  • 是的,当然。如果这让您感到困扰,您将必须实施一些措施,以确保项目文件的名称和位置以及任何内容以您关心的任何方式保持不变和完整,并在不是这种情况时发出警告并创建新的 GUID .如何使用操作系统来确保根本无法复制文件? :-)
【解决方案2】:

在我看来,复制 Revit 文档不应产生新的 ProjectId。

此外,这些成员没有提供好的结果:

Document.ProjectInformation.Id
Document.ProjectInformation.UniqueId

如果您想对某种上传器进行编程,那么 The Building Coder 提出的上述建议将起作用。然后,您将创建一个 GUID 并将其保存在名为 ExtensibleStorage 的“不可见存储”中,只有您的程序可以再次读取。

最简单的方法是:

ExportUtils.GetGBXMLDocumentId(Document);

【讨论】:

  • ExportUtils.GetGBXMLDocumentId 稳定吗?它的目的是什么?有什么理由不将其用作唯一的文档 ID?
猜你喜欢
  • 1970-01-01
  • 2018-01-10
  • 2016-10-13
  • 2011-08-17
  • 2012-07-18
  • 1970-01-01
  • 2014-03-05
  • 2012-06-02
  • 2012-11-21
相关资源
最近更新 更多