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
  • 偏差
  • 练习
  • 第 I 部分:基于平面节点偏差设置嵌板孔径比
  • 第 II 部分:颜色和文档
  • 第 III 部分:明细表
Edit on GitHub
Export as PDF
  1. 适用于 Revit 的 Dynamo

记录

Previous自定义NextDynamo for Civil 3D

Last updated 2 months ago

编辑文档记录的参数时遵循前面几节课程中学到的经验教训。在本节中,我们将查看编辑参数,这些参数不会影响图元的几何特性,而是为文档记录准备 Revit 文件。

偏差

在下面的练习中,我们将使用与平面节点的基本偏差,来为文档记录创建 Revit 图纸。参数化定义的屋顶结构上的每个嵌板都有不同的偏差值,我们希望使用颜色来突出值的范围,并通过安排自适应点来移交给外立面顾问、工程师或承包商。

“与平面的偏差”节点将计算四个点集与它们之间的最佳拟合平面之间的距离。这是一种研究可施工性快速而简便的方法。

练习

第 I 部分:基于平面节点偏差设置嵌板孔径比

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

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

从本部分的 Revit 文件开始(或从上一部分继续)。此文件中具有屋顶上 ETFE 嵌板的阵列。在本练习中,我们将参照这些嵌板。

  1. 向画布添加 “Family Types” 节点,然后选择 “ROOF-PANEL-4PT”。

  2. 将此节点连接到“Select All Elements of Family Type”节点,以将所有图元从 Revit 输入到 Dynamo。

  1. 使用 “AdaptiveComponent.Locations” 节点查询每个图元的自适应点位置。

  2. 使用 “Polygon.ByPoints” 节点基于这四个点创建多边形。请注意,我们现在在 Dynamo 中拥有镶板系统的抽象版本,无需输入 Revit 图元的完整几何图形。

  3. 使用 “Polygon.PlaneDeviation” 节点计算平面偏差。

接下来,与上一练习一样,我们会根据每个嵌板的平面偏差设置其孔径比。

  1. 将 “Element.SetParameterByName” 节点添加到画布,然后将自适应构件连接到 “element” 输入。将读取 “Aperture Ratio” 的 “代码块” 连接到 “parameterName” 输入。

  2. 我们无法直接将偏差结果连接到值输入,因为我们需要将这些值重新映射到参数范围。

  1. 使用 “Math.RemapRange”,通过在 “代码块” 中输入 0.15; 0.45;,将偏差值重新映射到介于 0.15 和 0.45 之间的域。

  2. 将这些结果连接到 “Element.SetParameterByName” 的值输入。

返回 Revit,我们可以 稍微 了解曲面上孔径的变化。

放大后,可以更清楚地看到闭合的嵌板在曲面的各个角落上都具有权重。开口角点朝向顶部。角点表示偏差较大的区域,而凸度具有最小曲率,因此这很有意义。

第 II 部分:颜色和文档

设置“Aperture Ratio”并不能清楚地显示屋顶上嵌板的偏差,而且我们还要修改实际图元的几何图形。假定我们只想研究制造可行性的偏差。根据我们文档的偏差范围对嵌板进行着色会很有帮助。我们可以通过以下一系列步骤实现,并且过程与上述步骤非常相似。

  1. 删除 “Element.SetParameterByName” 及其输入节点,然后添加 “Element.OverrideColorInView”。

  2. 将 “Color Range” 节点添加到画布,然后连接到 “Element.OverrideColorInView” 的颜色输入。为了创建渐变,我们仍需将偏差值连接到颜色范围。

  3. 将光标悬停在 “value” 输入上时,我们可以看到输入值必须介于 0 和 1 之间,以便将颜色映射到每个值。我们需要将偏差值重新映射到此范围。

  1. 使用 “Math.RemapRange”,将平面偏差值重新映射到介于 0 和 1 之间的范围(注意:也可以使用 “MapTo” 节点定义源域)。

  2. 将结果连接到 “Color Range” 节点。

  3. 请注意,我们的输出是颜色范围,而不是数字范围。

  4. 如果设置为“手动”,请点击 “运行” 。此时,应该能够无需再设置为“自动”。

返回 Revit,我们看到了更清晰的渐变,它代表了基于我们颜色范围的平面偏差。如果我们要自定义颜色,该怎么办?请注意,最小偏差值以红色表示,这似乎与我们的预期相反。我们希望最大偏差以红色表示,最小偏差以较柔和的颜色表示。我们返回 Dynamo,然后修复此问题。

  1. 使用 “代码块”,在两个不同代码行上添加两个数字:0; 和 255;。

  2. 通过将相应值连接到两个 “Color.ByARGB” 节点,即可创建红色和蓝色。

  3. 以这两种颜色创建列表。

  4. 将此列表连接到 “Color Range” 的 “colors” 输入,然后观察自定义颜色范围更新。

返回 Revit,我们现在可以更好地了解角点中偏差最大的区域。请记住,此节点用于替代视图中的颜色,因此如果我们在专注于特定分析类型的图形集中有特定图纸,这将非常有用。

第 III 部分:明细表

在 Revit 中选择一个 ETFE 嵌板,我们会看到有四个实例参数:XYZ1、XYZ2、XYZ3 和 XYZ4。创建这些参数后,它们的内容都为空。这些是基于文字的参数,都需要值。我们会使用 Dynamo 将自适应点位置写入每个参数。如果需要将几何图形发送给外立面顾问工程师,这有助于实现互操作性。

在样例图纸中,我们有一个大的空明细表。XYZ 参数是 Revit 文件中的共享参数,这样我们便可将它们添加到明细表中。

放大后,XYZ 参数尚未填充。前两个参数由 Revit 处理。

为了写入这些值,我们将执行复杂的列表操作。该图形本身很简单,但这些概念主要基于列表一章中讨论的列表映射进行构建。

  1. 选择所有具有两个节点的自适应构件。

  2. 使用 “AdaptiveComponent.Locations” 提取每个点的位置。

  3. 将这些点转换为字符串。请记住,参数基于文字,因此我们需要输入正确的数据类型。

  4. 创建包含四个字符串的列表,该列表定义要更改的参数:XYZ1、XYZ2、XYZ3 和 XYZ4。

  5. 将此列表连接到 “Element.SetParameterByName” 的 “parameterName” 输入。

  6. 将 “Element.SetParameterByName” 连接到 “List.Combine” 的 “combinator” 输入。将 自适应构件 连接到 “list1”。将 Object 的 “String” 连接到 “list2”。

我们在此处进行列表映射,因为我们要为每个图元编写四个值,从而创建一个复杂的数据结构。“List.Combine” 节点在数据层次结构中定义一个向下步骤的操作。这就是 “Element.SetParameterByName” 的图元和值输入保留为空的原因。根据 “Element.SetParameterByName” 的空输入的连接顺序, “List.Combine” 会将其输入的子列表连接到这些空输入。

在 Revit 中选择一个嵌板后,现在会看到每个参数都有字符串值。实际上,我们将创建更简单的格式来写入点 (X,Y,Z)。这可以在 Dynamo 中使用字符串操作完成,但我们会绕过此处以停留在本章的范围内。

样例明细表的视图,其中已填充参数。

现在,每个 ETFE 嵌板都为每个自适应点写入了 XYZ 坐标,从而表示要预制的每个嵌板的角点。

5MB
Revit-Documenting.zip
archive
deviation(偏差)
练习
练习
练习
练习
练习
练习