Dynamo
Primer for v2.0
简体中文
简体中文
  • 关于
  • 简介
    • 什么是 Dynamo 以及它是如何工作的?
    • Primer 用户手册、Dynamo 社区和平台
  • Dynamo 设置
  • 用户界面
    • 工作空间
    • 库
  • 节点和导线
  • 基本节点和概念
    • 节点索引
    • 计算设计的几何图形
      • 几何图形概述
      • 向量、平面和坐标系
      • 点
      • 曲线
      • 曲面
      • 实体
      • 网格
    • 程序的构建块
      • 数据
      • 数学
      • 逻辑
      • 字符串
      • 颜色
    • 使用列表进行设计
      • 什么是列表
      • 使用列表
      • 列表的列表
      • n 维列表
    • Dynamo 中的词典
      • 什么是词典
      • 词典节点
      • 代码块中的词典
      • Revit 使用案例
  • 自定义节点和软件包
    • 自定义节点
      • 自定义节点简介
      • 创建自定义节点
      • 发布到库
    • 软件包
      • 软件包简介
      • 软件包案例研究 - Mesh Toolkit
      • 开发软件包
      • 发布软件包
      • Zero-Touch 输入
  • 适用于 Revit 的 Dynamo
    • Revit 连接
    • 选择
    • 编辑
    • 创建
    • 自定义
    • 记录
  • Dynamo for Civil 3D
    • Civil 3D 连接
    • 快速入门
    • 节点库
    • 样例工作流
      • 道路
        • 灯杆放置
      • 浇口面
        • 服务设施放置
      • 公共设施
        • 重命名结构
      • 轨道
        • 间隙包络
      • 勘测
        • 点编组管理
    • 高级主题
      • 对象绑定
      • Python 和 Civil 3D
    • Dynamo Player
    • 有用的软件包
    • 资源
  • Forma Beta 版中的 Dynamo
    • 在 Forma 中设置 Dynamo Player
    • 在 Dynamo Player 中添加和共享图形
    • 在 Dynamo Player 中运行图形
    • Dynamo 计算服务与 Desktop Dynamo 的差异
  • 在 Dynamo 中编码
    • 代码块和 DesignScript
      • 什么是代码块
      • DesignScript 语法
      • 简写
      • 函数
    • 使用 DesignScript 的几何图形
      • DesignScript 几何图形基础知识
      • 几何基本体
      • 向量数学
      • 曲线:内插和控制点
      • 平移、旋转和其他变换
      • 曲面:内插、控制点、放样、旋转
      • 几何参数化
      • 相交和修剪
      • 几何布尔
      • Python 点生成器
    • Python
      • Python 节点
      • Python 和 Revit
      • 设置自己的 Python 模板
    • 语言更改
  • 最佳做法
    • 图形策略
    • 脚本编写策略
    • 脚本参考
    • 管理您的程序
    • 在 Dynamo 中高效处理大型数据集
  • 样例工作流
    • 快速入门工作流
      • 参数化花瓶
      • 吸引器点
    • 概念索引
  • 开发人员入门
    • 从源代码构建 Dynamo
      • 从源代码构建 DynamoRevit
      • 在 Dynamo 中管理和更新依赖项
    • 为 Dynamo 开发
      • 快速入门
      • Zero-Touch 案例研究 - 网格节点
      • 在 Zero-Touch 节点中执行 Python 脚本 (C#)
      • 进一步了解 Zero-Touch
      • 高级 Dynamo 节点自定义
      • 在 Dynamo 软件包中使用 COM(互操作)类型
      • NodeModel 案例研究 - 自定义 UI
      • 更新 Dynamo 2.x 的软件包和 Dynamo 库
      • 更新 Dynamo 3.x 的软件包和 Dynamo 库
      • 扩展程序
      • 为 Dynamo 2.0+ 定义自定义软件包组织
      • Dynamo 命令行界面
      • Dynamo 集成
      • 为 Dynamo For Revit 开发
      • 发布软件包
      • 从 Visual Studio 构建软件包
      • 软件包形式的扩展
    • 拉取请求
    • 测试期望
    • 示例
  • 附录
    • 常见问题解答
    • 可视化编程和 Dynamo
    • 资源
    • 发行说明
    • 有用的软件包
    • 示例文件
    • 主体集成图
    • 下载 PDF
    • Dynamo 键盘快捷键
Powered by GitBook
On this page
  • 示例
  • 另一个示例
  • 绑定设置
  • 选项 1:不保留绑定数据
  • 选项 2:存储在 Dynamo 的图形中
  • 选项 3:存储在 Dynamo 的图形中
  • 选项 4:存储在 Dynamo 播放器的图形中
Edit on GitHub
Export as PDF
  1. Dynamo for Civil 3D
  2. 高级主题

对象绑定

Previous高级主题NextPython 和 Civil 3D

Last updated 1 month ago

Dynamo for Civil 3D 包含一个非常强大的机制,用于“记住”每个节点创建的对象。此机制称为 “对象绑定”,它使 Dynamo 图形能够每次在同一文档中运行时生成一致的结果。尽管这一机制在许多情况下都是非常需要的,但在其他情况下,您可能希望更好地控制 Dynamo 的行为。本部分将帮助您了解对象绑定的工作方式以及如何利用它。

示例

请考虑此图形,该图形会在模型空间中的当前图层上创建一个圆。

注意半径发生更改时会出现什么情况。

这是正在进行对象绑定。Dynamo 的默认行为是 修改 圆的半径,而不是每次半径输入发生更改时都创建一个新圆。这是因为 Object.ByGeometry 节点“记住”:每次运行图形时,它都创建此 特定 圆。此外,Dynamo 会存储此信息,以便下次打开 Civil 3D 文档并运行图形时,它将具有完全相同的行为。

另一个示例

让我们看一个示例,在其中您可能希望更改 Dynamo 的默认对象绑定行为。假定您要构建一个将文字放置在圆中间的图形。但您使用此图形的目的是,该图形可以反复不断地运行,并每次为选定的任何圆都放置新文字。该图形可能如下所示。

但是,当选择其他圆时,实际上会发生这种情况。

似乎每次运行图形时都会删除并重新创建文字。实际上,文字的位置会根据选择的圆进行 修改。如此一来,就是文字相同,位置却不同!为了每次都创建新文字,我们需要修改 Dynamo 的对象绑定设置,以便不保留绑定数据(请参见下文的#binding-settings)。

进行更改后,我们会获得所需的行为。

绑定设置

Dynamo for Civil 3D 允许通过 “Dynamo” 菜单中的 “绑定数据存储” 设置来修改默认对象绑定行为。

请注意,“绑定数据存储”选项在 Civil 3D 2022.1 及更高版本中可用。

默认情况下,所有选项都处于启用状态。以下是每个选项的作用摘要。

选项 1:不保留绑定数据

启用此选项后,Dynamo 将“忘记”上次运行图形时创建的对象。因此,图形可以在任何情况下在任何图形中运行,每次都会创建新对象。

何时使用

如果希望 Dynamo“忘记”以前运行时所执行的所有操作并每次都创建新对象,请使用此选项。

选项 2:存储在 Dynamo 的图形中

此选项意味着对象绑定元数据会在保存时序列化到图形(.dyn 文件)中。如果关闭/重新打开图形并在同一图形中运行该图形,则所有操作都应与离开时相同。如果在其他图形中运行图形,则绑定数据会从该图形中删除,并创建新对象。这意味着,如果打开原始图形并再次运行图形,则除了旧对象外,还会创建新对象。

何时使用

如果希望 Dynamo“记住”上次它在特定图形中运行时创建的对象,请使用此选项。

此选项最适合在 特定图形 和 Dynamo 图形之间保持 1:1 关系的情况。选项 1 和 3 更适用于设计为在多个图形上运行的图形。

选项 3:存储在 Dynamo 的图形中

此选项类似于选项 2,不同之处在于对象绑定数据在图形中序列化,而不是在图形(.dyn 文件)中序列化。如果关闭/重新打开图形并在同一图形中运行该图形,则所有操作都应与离开时相同。如果在其他图形中运行图形,则由于绑定数据保存在图形 (drawing)(而不是图形 (graph))中,因此该绑定数据仍保留在原始图形中。

何时使用

如果要在多个图形中使用相同的图形,并让 Dynamo“记住”它在每个图形中执行的操作,请使用此选项。

选项 4:存储在 Dynamo 播放器的图形中

使用此选项时,首先要注意的是,当通过主 Dynamo 界面运行图形时,该选项对图形与图形的交互方式没有影响。仅 当使用 Dynamo 播放器运行图形时,此选项才适用。

如果您对使用 Dynamo 播放器不熟悉,请参见 Dynamo Player 部分。

如果使用主 Dynamo 界面运行图形,然后关闭并使用 Dynamo 播放器运行同一图形,则它将在之前创建的对象之上创建新对象。但是,Dynamo 播放器执行一次图形后,该播放器将序列化图形中的对象绑定数据。因此,如果通过 Dynamo 播放器多次运行图形,则该播放器会更新对象,而不是创建新对象。如果通过 Dynamo 播放器对 其他图形 运行图形,则由于绑定数据保存在图形 (drawing)(而不是图形 (graph))中,因此该绑定数据仍保留在原始图形中。

何时使用

如果要在多个图形中使用 Dynamo 播放器运行图形,并让它“记住”在每个图形中执行的操作,请使用此选项。

一个用于创建圆的简单图形
在 Dynamo 中修改半径输入
一个将文字放置在选定圆的圆心的简单图形
选择一个新圆时 Dynamo 的默认行为
对象绑定设置
对象绑定禁用时的行为