从“接收”选项卡接收时,首先启用对链接模型的支持,>单击“高级设置”>“接收链接模型”。接收时,我们不会尝试以任何方式修改链接的模型文件,但是当打开“接收链接模型”设置时,链接的模型元素将作为任何其他元素在当前文档中接收。
3.3 当前限制导入链接模型后应用于链接模型的其他变换不被考虑在内。在使用 Speckle 时,请始终确保 Revit 模型对齐,而无需进行任何其他变换。
4、Speckle Revit连接器支持的Revit元素参见Revit支持表。
5、Speckle Revit连接器Revit元素更新说明Speckle Revit连接器负责在可能的情况下自动更新收到的元素(而不是删除并重新创建它们)。这是首选,因为保留了维度、元素 ID 和其他注释。
在以下两种情况下更新元素:
- 如果元素是在另一个项目/软件中创建的,并且之前已经收到过:例如,在 Rhino 或 Grasshopper 中创建的 BuiltElements
- 如果元素是在你正在处理的同一项目中创建的:例如,如果你将一些墙发送到 Speckle,请编辑它们,然后从同一流再次接收它们
如果你对幕后发生的事情感到好奇,以下是一些技术细节:
- BuiltElements 有一个名为 applicationId 的属性,它与它们的 id/hash 属性不同,并且表示首次创建该元素的主机应用程序中此类元素的 id。如果图元是在Revit中创建的,则为UniqueId,如果来自Grasshopper/Rhino,则为类似字段
- 在Revit中接收流时,创建的所有构建图元的应用程序ID将缓存在接收器中
- 同一个流第二次接收时,如果收到的元素与以前接收的内容具有相同的 applicationId(并且它仍然存在于文档中),则连接器将尝试修改它们,而不是创建新的元素。如果更新失败(或 API 不允许),它将删除它们并创建新的更新
- 如果未找到缓存元素,但文档中有一个元素具有用于更新的匹配 applicationId(这是在同一项目中恢复以前发送的更改的情况)
- 如果接收的元素没有应用程序 ID,则不会发生更新机制(如果没有手动生成 applicationId,则可能是在 Python 中创建的 BuiltElements 的情况)
Revit 中的标高按照上述逻辑进行更新,只有一个小例外:如果在模型中收到已具有相同标高标的标高,则将使用现有标高,并在需要时更新其名称。例如,你收到 9000mm 处的 03 层,在 3rd Floor 为 9000mm => 的文件中,3rd Floor将被重命名和使用(我们使用 5mm 的公差来匹配标高)。注意:级别与名称不匹配,因为这最终可能会产生不希望的结果。
6、Revit & BIM Data从Revit发送时,Speckle负责将数据转换为Speckle友好格式。如果你对这些数据的结构感到好奇,请查看我们的对象工具包类定义。
例如,Revit 房间如下所示:
在高层次上,我们拥有定义房间的所有主要属性,例如名称,面积,数量,几何形状等。所有其他 Revit 参数(包括类型和实例)都嵌套在参数属性中。
请参阅以下示例:
为了轻松探索对象的数据和参数,我们的 Speckle Web 应用程序界面可以提供很大的帮助。以及任何其他允许你探索对象元数据的应用程序(例如Grasshopper,Dynamo,Unity等)。
“高级设置”页面允许你自定义 Speckle “流”的行为方式。
9.1 参考点允许用户指定在发送或接收数据时应使用哪个参考点。
可用选项包括:
- 内部源(默认选项)
- 项目基点
- 调查点
默认情况下,Speckle 将仅发送来自当前模型的数据,而不包含来自任何链接模型(如果存在)的任何元素。
使用此选项可以控制何时发送所有信息(包括链接模型)以及何时接收信息。
9.3 将对象接收为网格在某些情况下,你可能只想接收其他用户发送的确切几何图形,而不尝试将其转换为 Revit 本机图元。
在这些情况下,作为直接网格接收对象将强制所有对象成为 DirectShape 实例。
9.4 自定义对象类型映射