天天看点

revit二次开发——uniqueId、versionId官方:uniqueId与versionGuid一、结论:二、总结:

官方:uniqueId与versionGuid

1、UniqueId可用于将标识符存储在外部数据库中,并在将来检索相同的元素(如果该元素仍然存在)。这个id可以传递给Document的Element属性以检索元素。UniqueId在升级和工作集操作(如Save To Central)中是稳定的,而ElementId属性可能会更改

2、如果保存的文件的两个实例中的某个元素的Guid版本相同,则可以保证这两个元素是相同的。一个元素版本涵盖的时间跨度大于单个事务:它是两次保存、同步到中心和最新重新加载之间的一段时间。因此,在保存或同步操作之间打开的文档中,此版本不能用于确定任何特定元素是否已更改。要监视会话中发生的元素更改,使用event [!:Autodesk::Revit::ApplicationServices::Application::DocumentChanged]。

一、结论:

1、新建项目:族、族类型、族实例的各种id都是新的(基于当前新建文档);

2、项目副本:都是原有的(基于副本文档)

3、uniqueId在当前文档中,标识element的身份证;

4、versionGuid在当前文档中,标识element的版本(有无修改)

二、总结:

1、新项目文档:所有(项目、族、构件)的uniqueId、versionId都是新的;

2、复制或另存的文档:项目的 uniqueId与versionId、构件的uniqueId与versionID前后不变;

3、族的修改,会改变族versionId并且覆盖所有构件versionId;

备注:族修改的