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
  • MapToSurface 软件包
  • 安装软件包
  • 自定义节点
  • 示例文件
Edit on GitHub
Export as PDF
  1. 自定义节点和软件包
  2. 软件包

开发软件包

Previous软件包案例研究 - Mesh ToolkitNext发布软件包

Last updated 1 month ago

Dynamo 提供了多种方法来创建软件包,以供个人使用或与 Dynamo 社区共享。在下面的案例研究中,我们将通过解构现有软件包来逐步介绍如何创建一个软件包。本案例研究基于上一章的课程构建,提供一组自定义节点用于按 UV 坐标映射几何图形(从一个 Dynamo 曲面到另一个 Dynamo 曲面)。

MapToSurface 软件包

我们将使用一个示例包,演示点从一个曲面到另一个曲面的 UV 映射。我们已在本 Primer 的创建自定义节点部分中构建了该工具的基础知识。下面的文件演示了如何理解 UV 映射的概念,并为可发布库开发一组工具。

在此图像中,我们使用 UV 坐标将点从一个曲面映射到另一个曲面。软件包基于此概念,但有更加复杂的几何图形。

安装软件包

在前一章中,我们探讨了在 Dynamo 中基于在 XY 平面中定义的曲线为曲面镶板的方法。本案例研究扩展了这些概念,以获得更多几何图形尺寸。我们将以内置方式安装此软件包,以演示其开发方式。在下一节中,我们将演示如何发布此软件包。

在 Dynamo 中,依次单击“软件包”>“软件包管理器”,然后搜索软件包“MapToSurface”(全部写为一个单词)。单击“安装”以开始下载,并将软件包添加到库。

完成安装后,自定义节点应位于“附加模块”>“DynamoPrimer”部分下。

现在,软件包已完成安装,我们来介绍其设置方式。

自定义节点

我们正在创建的软件包使用我们为参照而构建的五个自定义节点。下面,我们来介绍每个节点的作用。某些自定义节点基于其他自定义节点构建,图表具有布局,供其他用户直接理解。

这是一个包含五个自定义节点的简单软件包。在下面的步骤中,我们将简要介绍每个自定义节点的设置。

PointsToSurface

这是一个基本自定义节点,所有其他映射节点均基于该节点。只需放置,该节点会将某个点从源曲面 UV 坐标映射到目标曲面 UV 坐标的位置。由于点是最基本的几何图形,基于它可构建更复杂的几何图形,因此我们可以使用此逻辑将二维几何图形(甚至三维几何图形)从一个曲面映射到另一个曲面。

PolygonsToSurface

仅使用此处的多边形,可演示将映射点从一维几何图形扩展到二维几何图形的逻辑。请注意,我们已将 “PointsToSurface” 节点嵌套到此自定义节点中。这样,我们就可以将每个多边形的点映射到曲面,然后基于这些映射点重新生成多边形。通过保持正确的数据结构(一列点列表),我们可以在多边形简化为一组点后,使多边形保持分离。

NurbsCrvtoSurface

此处应用的逻辑与 “PolygonsToSurface” 节点中的逻辑相同。但是,我们不是映射多边形点,而是映射 NURBS 曲线的控制点。

OffsetPointsToSurface

此节点变得更加复杂,但概念非常简单:与 “PointsToSurface” 节点类似,此节点会将点从一个曲面映射到另一个曲面。但是,它还会考虑不在原始源曲面上的点,获取其与最近 UV 参数的距离,并将此距离映射到相应 UV 坐标处的目标曲面法线。在查看示例文件时,这会更有意义。

SampleSrf

这是一个简单节点,用于创建参数化曲面以从源栅格映射到示例文件中的波状曲面。

示例文件

示例文件位于软件包的根文件夹中。依次单击“软件包管理器”>“已安装的软件包”选项卡。

在“MapToSurface”的旁边,依次单击垂直点菜单 >“显示根目录”。

接着,打开 “extra” 文件夹,该文件夹存储软件包中所有非自定义节点的文件。这是存储 Dynamo 软件包示例文件(如果存在)的位置。下面的屏幕截图介绍每个示例文件中演示的概念。

01-PanelingWithPolygons

此示例文件演示了如何使用 “PointsToSurface” 来根据矩形栅格为曲面镶板。这应该看起来很熟悉,如我们在上一章中演示的类似工作流。

02-PanelingWithPolygons-II

使用类似的工作流,本练习文件显示用于将圆(或表示圆的多边形)从一个曲面映射到另一个曲面的设置。这将使用 “PolygonsToSurface” 节点。

03-NurbsCrvsAndSurface

此示例文件通过使用“NurbsCrvToSurface”节点增加了一些复杂性。目标曲面偏移给定距离,且 NURBS 曲线映射到原始目标曲面和偏移曲面。从这里,将放样两条映射曲线以创建曲面,然后加厚该曲面。此结果实体有表示目标曲面法线的波动。

04-PleatedPolysurface-OffsetPoints

此示例文件演示如何将褶皱多重曲面从源曲面映射到目标曲面。源曲面和目标曲面是分别跨栅格和旋转曲面的矩形曲面。

源多重曲面从源曲面映射到目标曲面。

05-SVG-Import

由于自定义节点能够映射不同类型的曲线,因此最后这个文件会引用从 Illustrator 输出的 SVG 文件,并将输入的曲线映射到目标曲面。

通过解析 .svg 文件的语法,曲线将从 .xml 格式转换为 Dynamo 复合线。

输入的曲线将映射到目标曲面。这样,我们可以在 Illustrator 中显式(点击)设计镶板、输入 Dynamo,然后应用于目标曲面。