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
  • 类型和实例参数
  • 单位
  • 练习
  • 编辑建筑体量参数
  • 编辑外立面参数
Edit on GitHub
Export as PDF
  1. 适用于 Revit 的 Dynamo

编辑

Previous选择Next创建

Last updated 1 month ago

Dynamo 的一个强大功能是,可以在参数化级别上编辑参数。例如,衍生式算法或模拟结果可用于驱动图元阵列的参数。这样,同一族中的一组实例可以在 Revit 项目中具有自定义特性。

类型和实例参数

  1. 实例参数定义屋顶表面上嵌板的孔径,Aperture Ratio 的范围介于 0.1 到 0.4 之间。

  2. 基于类型的参数将应用于表面上的每个图元,因为它们的族类型相同。例如,每个嵌板的材质都可以由基于类型的参数驱动。

  1. 如果之前已设置过 Revit 族,请记住,需要指定参数类型(字符串、数字、尺寸标注等)。在 Dynamo 中指定参数时,请务必使用正确的数据类型。

  2. 还可以将 Dynamo 与在 Revit 族的特性中定义的参数化约束结合使用。

在 Revit 中快速查看参数时,我们要记得有类型参数和实例参数。这两个参数在 Dynamo 中都可以进行编辑,但我们在下面的练习中使用的是实例参数。

单位

从版本 0.8 开始,Dynamo 基本上是无单位的。这样,Dynamo 便可保持抽象的可视化编程环境。与 Revit 尺寸标注交互的 Dynamo 节点将参照 Revit 项目的单位。例如,如果在 Revit 中设置 Dynamo 的长度参数,则 Dynamo 中的数值将对应 Revit 项目中的默认单位。下面的练习以“米”为单位。

要快速转换单位,请使用 “Convert Between Units” 节点。这是一个方便工具,可用于即时转换长度、面积和体积单位。

练习

单击下面的链接下载示例文件。

可以在附录中找到示例文件的完整列表。

下面的练习以“米”为单位。

本练习重点介绍如何编辑 Revit 图元,而无需在 Dynamo 中执行几何操作。我们在此处不会输入 Dynamo 几何图形,只需在 Revit 项目中编辑参数即可。本练习是基本练习,对于更高级的 Revit 用户,请注意这些是体量的实例参数,但可以将相同逻辑应用于图元阵列以进行大规模自定义。这全部是通过“Element.SetParameterByName”节点完成的。

编辑建筑体量参数

从本部分的 Revit 示例文件开始。我们已从上一部分中删除了结构图元和自适应桁架。在本练习中,我们将重点介绍 Revit 中的参数化装备,以及 Dynamo 中的操作。

在 Revit 中,选择体量中的建筑,我们可以在“特性”面板中看到实例参数的阵列。

在 Dynamo 中,我们可以通过选择目标图元来检索参数。

  1. 使用 “Select Model Element” 节点选择建筑体量。

  2. 我们可以使用 “Element.Parameters” 节点查询此体量的所有参数。这包括类型和实例参数。

  1. 参照 “Element.Parameters” 节点以查找目标参数。或者,我们可以查看上一步中的“特性”面板,以选择要编辑的参数名称。在本例中,我们将查找影响建筑体量上较大几何移动的参数。

  2. 我们将使用 “Element.SetParameterByName” 节点对 Revit 图元进行更改

  3. 使用“代码块”定义参数列表,其中用引号括起来每个项目以表示字符串。我们还可以将“List.Create”节点与一系列连接到多个输入的 “string” 节点一起使用,但代码块更便捷。在 Revit 中,确保字符串与精确名称匹配,具体情况如下:{"BldgWidth","BldgLength","BldgHeight", "AtriumOffset", "InsideOffset","LiftUp"};

  1. 我们还要为每个参数指定值。向画布添加六个 “整数滑块” ,然后重命名为列表中相应的参数。此外,根据上图设置每个滑块的值。按从上到下的顺序:62、92、25、22、8、12

  2. 定义另一个 “代码块” ,其中列表与参数名称的长度相同。在本例中,我们命名变量(不带引号),这将为 “代码块” 创建输入。将 “滑块” 连接到各自的输入:{bw,bl,bh,ao,io,lu};

  3. 将“代码块”连接到 “Element.SetParameterByName”* 值输入。在选中“自动运行”后,我们会自动看到结果。

*此演示使用的是实例参数,而不是类型参数。

就像在 Revit 中一样,其中许多参数相互依赖。当然,在这些组合中几何图形可能会中断。我们可以在参数特性中定义公式来解决这个问题,也可以在 Dynamo 中使用数学运算设置类似逻辑(如果您想扩展练习,这也是一项额外的挑战)。

  1. 此组合为建筑体量提供了功能强大的新设计:100、92、100、25、13、51

编辑外立面参数

接下来,我们来了解一下如何使用类似过程编辑外立面。

  1. 复制图形,然后专注于将容纳桁架系统的外立面玻璃。在本例中,我们将隔离四个参数:{"DblSkin_SouthOffset","DblSkin_MidOffset","DblSkin_NorthOffset","Facade Bend Location"};

  2. 此外,我们还会创建 “数字滑块” ,然后重命名为相应的参数。前三个滑块(从上到下)应重新映射到 [0,10] 的域,而最后一个滑块( “外立面弯曲位置” )应重新映射到 [0,1] 的域。这些值(从上到下)应从以下这些值开始(尽管它们是任意值):2.68、2.64、2.29、0.5

  3. 定义新的代码块并连接滑块:{so,mo,no,fbl};

  1. 通过更改图形此部分中的 “滑块”,我们可以使外立面玻璃更加实质:9.98、10.0、9.71、0.31

在发现了编辑参数的广泛应用后,您可能想要在 Revit 中使用 Dynamo 编辑大量图元。这可能是 计算成本高昂 的操作,这意味着它的速度可能会很慢。如果要编辑大量图元,可能需要使用“冻结”节点功能,以便在开发图形时暂停执行 Revit 操作。有关冻结节点的详细信息,请查看“实体”章节中的“ ”部分。

冻结
5MB
Revit-Editing.zip
archive
练习
练习