Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
点仅由一个或多个称为坐标的值定义。定义点所需的坐标值数量取决于该点所在的坐标系或环境。
Dynamo 中最常用的点类型存在于三维世界坐标系中,具有三个坐标 [X,Y,Z](Dynamo 中的三维点)。
Dynamo 中的二维点有两个坐标 [X,Y]。
曲线和曲面的参数是连续的,并且延伸到给定几何图元的边缘之外。由于定义“参数空间”的形状存在于三维世界坐标系中,因此我们始终可以将“参数化坐标”转换为“世界”坐标。例如,曲面上的点 [0.2, 0.5] 与世界坐标中的点 [1.8, 2.0, 4.1] 相同。
假定的世界 XYZ 坐标中的点
相对于给定坐标系(圆柱)的点
曲面上 UV 坐标形式的点
单击下面的链接下载示例文件。
可以在附录中找到示例文件的完整列表。
如果“几何图形”是模型的语言,则“点”是字母。点是创建所有其他几何图形的基础 - 我们需要至少两个点来创建曲线、我们需要至少三个点来生成一个多边形或网格面,依此类推。通过定义点之间的位置、顺序和关系(尝试使用正弦函数),我们可以定义更高阶的几何图形,例如我们识别为“圆”或“曲线”的图形。
使用函数
x=r*cos(t)
和y=r*sin(t)
的圆使用函数
x=(t)
和y=r*sin(t)
的正弦曲线
点也可以存在于二维坐标系中。根据我们所使用的空间类型,约定的字母表示法有所不同 - 我们可能在平面上使用 [X,Y] 或在曲面上使用 [U,V]。
欧几里得坐标系中的点:[X,Y,Z]
曲线参数坐标系中的点:[t]
曲面参数坐标系中的点:[U,V]
我们在模型中使用“曲面”来表示在三维世界中所看到的对象。虽然曲线并非始终是平面的(即它们是三维的),但它们定义的空间始终绑定到一个维度。曲面为我们提供了另一个维度和一组附加特性,我们可以在其他建模操作中使用它们。
在 Dynamo 中输入和评估“参数处的曲面”,以查看我们可以提取的信息类型。
“Surface.PointAtParameter” 返回给定 UV 坐标处的点
“Surface.NormalAtParameter” 返回给定 UV 坐标处的法线向量
“Surface.GetIsoline” 返回 U 或 V 坐标处的等参曲线 - 请注意“isoDirection”输入。
单击下面的链接下载示例文件。
可以在附录中找到示例文件的完整列表。
曲面是由函数和两个参数定义的数学形状,我们使用 U
和 V
(而不是曲线的 t
)来描述相应的参数空间。这意味着,在处理此类型的几何体时,我们需要从中绘制更多的几何数据。例如,曲线具有切线向量和法线平面(可以沿曲线的长度旋转或扭曲),而曲面具有在其方向上保持一致的法线向量和切线平面。
曲面
U 向等参曲线
V 向等参曲线
UV 坐标
垂直平面
法线向量
曲面域:曲面域定义为“(U,V)”参数的范围,这些参数评估为该曲面上的三维点。每个维度中的域(U 或 V)通常描述为两个数字(U 最小值到 U 最大值)和(V 最小值到 V 最大值)。
尽管曲面的形状看起来不是“矩形”,但是局部可能有更紧或更松的等参曲线集,由其域定义的“空间”始终是二维的。在 Dynamo 中,始终可以将曲面理解为使域在 U 和 V 方向上最小为 0.0 且最大为 1.0。平面曲面或修剪曲面可能具有不同的域。
Isocurve(等参曲线):由曲面上的恒定 U 或 V 值定义的曲线,以及相应其他 U 或 V 方向的值域。
UV 坐标:UV 参数空间中的点由 U、V(有时为 W)定义。
垂直平面:在给定 UV 坐标处与 U 向和 V 向等位曲线垂直的平面。
法线向量:定义相对于垂直平面的“向上”方向向量。
NURBS 曲面与 NURBS 曲线非常相似。可以将 NURBS 曲面视为位于两个方向上的 NURBS 曲线的栅格。NURBS 曲面的形状由多个控制点以及该曲面在 U 和 V 方向的阶数定义。相同的算法用于通过控制点、权重和阶数来计算形状、法线、切线、曲率和其他特性。
对于 NURBS 曲面,几何图形会隐含两个方向,因为无论我们看到的是什么形状,NURBS 曲面都是矩形控制点栅格。尽管这些方向通常与世界坐标系任意相关,但我们将经常使用它们来分析模型或基于曲面生成其他几何图形。
阶数 (U,V) = (3,3)
阶数 (U,V) = (3,1)
阶数 (U,V) = (1,2)
阶数 (U,V) = (1,1)
多边形曲面由跨边连接的曲面组成。多边形曲面提供了超过二维的 UV 定义,现在我们可以通过其拓扑在连接的形状中移动。
“拓扑”通常描述了有关零件连接方式的概念和/或 Dynamo 中的相关拓扑也是一种几何体类型。特别是,它是“曲面”、“多边形曲面”和“实体”的父类别。
有时称为“面片”,以这种方式连接曲面可以创建更加复杂的形状,并定义跨接缝的细节。我们可以方便地将圆角或倒角操作应用到多边形曲面的边。
在本部分中,我们将介绍 Dynamo 库中提供的基本节点,这些节点将帮助您像专业人员一样创建自己的可视化程序。
计算设计的几何图形:如何在 Dynamo 中使用几何图元?探索基于基本体创建简单或复杂几何图形的多种方法。
程序的构建块:“数据”是什么,我可以在程序中开始使用哪些基本类型?此外,还要了解有关在设计工作流中结合数学和逻辑运算的更多信息。
使用列表进行设计:如何管理和协调数据结构?详细了解“列表”的概念,并使用它来高效管理设计数据。
Dynamo 中的词典:什么是词典?了解如何使用词典查找现有结果中的特定数据和值。
“几何图形” 是设计语言。当编程语言或环境的核心有几何图形内核时,我们可以针对以下目标开启各种可能性:设计精确而稳健的模型、自动执行设计例程以及使用算法生成设计迭代。
了解几何图形类型及其之间的关系,将使我们能够浏览库中可用的 “几何图形节点” 的集合。几何图形节点按字母顺序组织,而不是按层次组织 - 它们在此处的显示类似于其在 Dynamo 界面中的布局。
此外,随着时间的流逝,在 Dynamo 中制作模型并将在“背景预览”中所看到内容的预览连接到图形中的数据流应会变得更加直观。
请注意,假定坐标系由栅格和彩色轴渲染
“选定节点”将在背景中以亮显颜色渲染相应的几何图形(如果节点创建几何图形)
单击下面的链接下载示例文件。
可以在附录中找到示例文件的完整列表。
传统上定义的几何图形是对形状、大小、图形的相对位置和空间特性的研究。这一领域悠久历史,可以追溯到数千年前。随着计算机的出现和普及,我们在定义、浏览和生成几何图形方面获得了强大的工具。现在,可以非常轻松地计算复杂几何交互的结果;实际上,我们所做的几乎是透明的。
如果您想知道如何利用计算机的强大功能来获得多样化和复杂的几何图形,请通过 Web 快速搜索“斯坦福兔”(即,一种用于测试算法的规范模型)。
在算法、计算和复杂性的环境中了解几何图形可能会令人望而生畏;但有一些关键和相对简单的原则,我们可以将这些原则确立为基础来开始构建更高级的应用程序:
几何图形是 “数据” - 对计算机和 Dynamo 而言,兔子与数字没有什么不同之处。
几何图形依赖 “抽象” - 从根本上来说,几何图元由给定空间坐标系中的数字、关系和公式进行描述
几何图形具有 “层次” - 点汇聚生成线、线汇聚生成面,以此类推
几何图形同时描述 “零件和整体” - 如果有曲线,则它既包括形状,也包括沿其的所有可能点
实际上,这些原则意味着我们需要知道我们正在处理的内容(几何图形的类型、如何创建等);因此,我们在开发更复杂的模型时,可以顺畅地构建、分解和重新构建不同的几何图形。
让我们花点时间了解一下几何图形的“抽象”说明和“层次”说明之间的关系。由于这两个概念是相关的,但起初并不总是很明显,因此一旦我们开始开发更深的工作流或模型,我们可能会快速遇到概念上的障碍。首先,我们使用维数作为所建模“素材”的简单描述符。描述形状所需的维数为我们提供了一个窗口,让我们可以了解几何图形是如何按层次组织的。
“点”(由坐标定义)没有任何维数 - 它只是描述每个坐标的数字
“线”(由两个点定义)现在有 一 个维数 - 我们可以向前(正方向)或向后(负方向)“漫游”直线
“平面”(由两条直线定义)有 两 个维数 - 现在可以向左或向右更多漫游
“方框”(由两个平面定义)有 三 个维数 - 我们可以定义相对于上或下的位置
维数是一种开始对几何图形进行分类的便捷方法,但它不一定是最佳方法。毕竟,我们不仅使用“点”、“线”、“平面”和“方框”建模 - 如果我想要弯曲,该怎么办?此外,还有另一类完全抽象的几何类型,即它们定义诸如方向、体积或各部件之间关系之类的特性。我们无法真正抓住向量,那么如何相对于空间中的显示内容定义向量?几何层次的更详细分类应适应“抽象类型”或“辅助对象”之间的差异,我们可以根据它们的帮助内容和有助于描述模型图元形状的类型对它们进行分组。
在 Dynamo 中创建模型并不局限于我们可以通过节点所生成的内容。以下是进一步处理几何图形的一些关键方法:
Dynamo 允许您输入文件 - 尝试将 CSV 用于点云,或将 SAT 用于引入曲面
使用 Revit 时,我们可以参照要在 Dynamo 中使用的 Revit 图元
Dynamo Package Manager 为扩展几何图形类型和操作提供了附加功能 - 查看 Mesh Toolkit 软件包
作为可视化编程环境,Dynamo 使您可以构思数据的处理方式。数据是数字或文本,但几何体也是数据。根据计算机的理解方式,几何体(有时也称为计算几何体)是我们可以用来创建精美、复杂或性能驱动的模型的数据。为此,我们需要了解我们可以使用的各种几何图形的详细内容。
在我们准备好深入探讨开发可视化程序后,我们将需要深入了解我们将使用的构建块。本章介绍有关数据的基本概念 - 介绍通过 Dynamo 程序的“导线”的内容。
我们可以使用一条线作为向量预览的替代对象。
单击下面的链接下载示例文件。
可以在附录中找到示例文件的完整列表。
尽管它们是抽象的,但平面确实具有原点位置,以便我们可以在空间中定位它们。
在 Dynamo 中,平面在背景预览中渲染。
单击下面的链接下载示例文件。
可以在附录中找到示例文件的完整列表。
尽管它们是抽象的,但坐标系也具有原点位置,以便我们可以在空间中定位它们。
在 Dynamo 中,坐标系在背景预览中渲染为一个点(原点)和定义轴(X 为红色、Y 为绿色以及 Z 为蓝色,遵循约定)的线。
单击下面的链接下载示例文件。
可以在附录中找到示例文件的完整列表。
向量、平面和坐标系构成了抽象几何图形类型的主组。它们帮助我们为描述形状的其他几何图形定义位置、方向和空间环境。如果我说我在纽约市第 42 街的百老汇(坐标系)、站在街道上(平面)、面朝北(向量),我刚刚使用这些“辅助对象”来定义我所在的位置。这同样适用于手机壳产品或摩天大楼 - 我们需要此环境来开发模型。
向量是描述方向和幅值的几何量。向量是抽象的;即它们表示量,而不表示几何图元。向量可能容易与“点”混淆,因为它们都是由一列值组成。不过,有一个关键区别:“点”描述给定坐标系中的位置,而“向量”描述位置中的相对差异(这就是所谓的“方向”)。
如果相对差异的概念令人困惑,请将“向量 AB”想象为“我站在点 A,面朝点 B”。从这里 (A) 到那里 (B) 的方向就是我们所谓的向量。
使用相同 AB 符号将向量详解为其各组成部分:
向量的 “起点” 称为 “基底”。
向量的 “终点” 称为 “尖端” 或 “指向”。
“向量 AB”与“向量 BA”不同 - 它们指向相反的方向。
如果您需要关于向量(及其抽象定义)的喜剧效果,请观看经典喜剧《飞机》,聆听时常引用的半开玩笑台词:
Roger, Roger.What's our vector, Victor?
平面是二维抽象“辅助对象”。更具体地说,平面在概念上是“平”的,在两个方向上无限延伸。通常,它们在其原点附近被渲染为较小的矩形。
您可能会想:“等等!原点?这听起来像是一个坐标系...就像我在 CAD 软件中建模所使用的坐标系!”
您是对的!大多数建模软件都利用构造平面或“标高”来定义要在其中绘制的本地二维环境。XY、XZ、YZ 或北、东南、平面图听起来可能更加熟悉。这些都是“平面”,用于定义无限的“平”环境。平面没有深度,但也有助于我们描述方向 -
如果我们对平面感到满意,那么我们只需一小步就能理解坐标系。平面与坐标系一样具有相同的各部分,前提是它是标准的“欧几里德”或“XYZ”坐标系。
但是,还有其他可选坐标系,如圆柱坐标系或球形坐标系。如我们在后续各部分中所见,坐标系也可应用于其他几何图形类型,以定义该几何图形上的位置。
添加可选坐标系 - 圆柱坐标系、球形坐标系
Sphere.ByCenterPointRadius:创建基本体。
Topology.Faces、Face.SurfaceGeometry:查询实体的面并转换为曲面几何图形(在本例中,球体仅有一个面)。
Cone.ByPointsRadii:使用曲面上的点构造圆锥体。
Solid.UnionAll:使圆锥体和球体合并。
Topology.Edges:查询新实体的边
Solid.Fillet:对尖球的边进行圆角处理
单击下面的链接下载示例文件。
可以在附录中找到示例文件的完整列表。
布尔运算很复杂,计算速度可能很慢。使用“冻结”功能可暂停选定节点和受影响的下游节点的执行。
1.使用快捷上下文菜单可冻结“实体并集”操作
2.选定节点和所有下游节点将以浅灰色重影模式预览,并且受影响的线将显示为虚线。受影响的几何体预览也将生成重影。现在,可以在上游修改值,而无需计算布尔并集。
3.要解冻节点,请单击鼠标右键,然后取消选中“冻结”。
4.所有受影响的节点和关联的几何图形预览将更新并还原为标准预览模式。
您可以在[4_nodes_and_wiresmentiontitle部分,阅读有关冻结节点的详细信息。
实体由一个或多个曲面组成,这些曲面包含通过定义“内”或“外”的闭合边界进行定义的体积。无论这些曲面有多少,它们都必须形成“无间隙”体积才能视为实体。可以通过将曲面或多边形曲面连接在一起,或者使用放样、扫掠和旋转等操作来创建实体。球体、立方体、圆锥体和圆柱体基本体也是实体。至少删除了一个面的立方体视为多边形曲面,它具有一些类似的属性,但它不是实体。
平面由单个曲面组成,而且不是实体。
球体由一个曲面组成,但_是_实体。
圆锥体由两个连接在一起以形成实体的曲面组成。
圆柱体由三个连接在一起以形成实体的曲面组成。
立方体由六个连接在一起以形成实体的曲面组成。
实体由三种类型的元素组成:顶点、边和面。面是组成实体的曲面。边是定义相邻面之间的连接的曲线,顶点是这些曲线的起点和终点。可以使用拓扑节点查询这些图元。
面
边
顶点
可以通过对实体的边进行圆角或倒角操作来修改实体,以消除锐角和角度。倒角操作可在两个面之间创建规则曲面,而圆角可在面之间过渡以保持相切。
实体立方体
倒角立方体
圆角立方体
实体布尔运算是用于合并两个或两个以上实体的方法。单个布尔操作实际上意味着执行四项操作:
与两个或多个对象相交。
在交点处分割它们。
删除几何图形中不需要的部分。
重新连接所有内容。
并集:删除实体的重叠部分,并将它们合并为单个实体。
差集:从一个实体中减去另一个实体。要减去的实体称为工具。请注意,可以切换哪个实体是保留反向体积的工具。
交集:仅保留两个实体的相交体积。
UnionAll:使用球体和朝外的圆锥体进行并集操作
DifferenceAll:使用球体和朝内圆锥体时的差集运算
线
多段线
圆弧
圆
椭圆
NURBS 曲线
复合线
!
“NurbsCurve.ByControlPoints” 使用一列点作为控制点
“NurbsCurve.ByPoints” 通过一列点绘制曲线
单击下面的链接下载示例文件。
可以在附录中找到示例文件的完整列表。
术语 “曲线” 通常是所有不同类型弯曲(即使是笔直)形状的全部捕捉。大写字母“C”(即“Curve”)是所有这些形状类型(直线、圆、样条曲线等)的父分类。从技术上讲,“曲线”描述了通过将“t”输入到函数集合中可以找到的所有可能点,范围可能从简单形式 (x = -1.26*t, y = t
) 到涉及微积分的函数。不论我们使用何种类型的曲线,这一名为“t”的 “参数” 都是我们可以计算的特性。此外,不论形状的外观如何,所有曲线也都具有起点和终点,它们与用于创建曲线的最小和最大 t 值一致符合。这也有助于我们了解其方向性。
请务必注意,Dynamo 假定曲线的“t”值域可理解为 0.0 到 1.0。
所有曲线还拥有许多可用于描述或分析它们的特性或特征。如果起点和终点之间的距离为零,则曲线为“闭合”。此外,每条曲线都有多个控制点,如果所有这些点都位于同一平面中,则该曲线为“平面”的。某些特性整体上适用于曲线,而其他特性仅适用于沿曲线的特定点。例如,平面性是全局特性,而给定 t 值处的切线向量是局部特性。
“线” 是最简单的曲线形式。它们看起来可能不弯曲,但它们实际上是曲线 - 只是没有任何曲率。创建直线的方法有几种,最直观的形式是从点 A 到点 B。在这两个点之间绘制“直线 AB”的形状,但在数学上它在两个方向上无限延伸。
将两条直线连接在一起时,我们得到了 “多段线”。在此处,我们可以直接了解什么是“控制点”。编辑其中任何点位置都将更改多段线的形状。如果多段线是闭合的,则会得到一个多边形。如果多边形的边长全部相等,则将其描述为常规边。
随着我们为定义形状的参数化函数增加了更多复杂性,我们可以从直线进一步创建 “圆弧” 、“圆” 、“椭圆圆弧” 或 “椭圆”,方法是描述一个或两个半径。“圆弧”版本与“圆”或“椭圆”之间的差异仅在于形状是否是闭合的。
NURBS(非均匀有理基本样条曲线)是数学表示形式,可以对任何形状进行精确建模(从简单的二维直线、圆、圆弧或矩形到最复杂的三维自由形式有机曲线)。由于其灵活性(相对较少的控制点,但基于“阶数”设置的平滑插值)和精度(受强大的数学约束),NURBS 模型可用于从插图、动画到制造的任何过程。
阶数:曲线的阶数确定了控制点对曲线的影响范围;阶数越高,范围越大。“阶数”为正整数。此数字通常为 1、2、3 或 5,但可以是任意正整数。NURBS 直线和多段线通常为 1 阶,并且大多数自由形式曲线为 3 阶或 5 阶。
控制点:控制点是一列至少包含 Degree+1 的点。更改 NURBS 曲线形状的最简单方法之一是移动其控制点。
权重:控制点具有一个称为“权重”的关联数字。权重通常为正数。当曲线的控制点全都具有相同的权重(通常为 1)时,曲线称为“非有理性曲线”,否则曲线称为“有理曲线”。大多数 NURBS 曲线是非有理性曲线。
结:结是一列 (Degree+N-1) 数字,其中 N 是控制点的数量。结与权重一起使用,以控制控制点对生成的曲线的影响。结的一个用途是在曲线中的某些点处创建扭折。
阶数 = 1
阶数 = 2
阶数 = 3
请注意,阶数值越高,则用于对生成的曲线进行插值的控制点越多。
数据是我们程序的内容。它穿过连线,为节点提供输入,在这些节点中处理为新形式的输出数据。让我们回顾一下数据的定义、数据的结构,然后开始在 Dynamo 中使用它。
数据是一组定性变量或定量变量的值。最简单形式的数据是数字,如 0
、3.14
或 17
。但数据也可以是多种不同的类型:表示变化数字的变量 (height
);字符 (myName
);几何图形 (Circle
);或一列数据项 (1,2,3,5,8,13,...
)。
在 Dynamo 中,我们会向节点的输入端口添加/提供数据 - 我们可以具有无需操作的数据,但我们需要数据来处理节点表示的操作。将某个节点添加到工作空间后,如果未提供任何输入,则结果将为函数,而不是操作本身的结果。
简单数据
数据和操作(A 节点)成功执行
没有数据输入的操作(A 节点)返回通用函数
注意空值,'null'
类型表示缺少数据。尽管这是一个抽象概念,但在使用可视化编程时,您可能会遇到这种情况。如果某个操作未创建有效结果,则节点会返回空值。
测试空值并从数据结构中删除空值是创建健壮程序的关键部分。
在进行可视化编程时,我们可以非常快速地生成大量数据,并需要一种方式来管理其层次结构。这是数据结构的作用,也是我们存储数据的组织方案。数据结构的具体内容及其使用方法具体取决于编程语言。
在 Dynamo 中,我们通过列表向数据添加层次结构。我们将在后续章节中深入探讨这一点,但先让我们简单介绍一下:
列表表示放置在一个数据结构中的项目集合:
我手(列表)上有五根手指(项目)。
我的街道(列表)上有十座房屋(项目)。
“Number Sequence” 节点使用 “start” 、 “amount” 和 “step” 输入来定义一列数字。使用这些节点,我们创建了两个包含十个数字的单独列表,一个列表的范围为 100-109,另一列表的范围为 0-9。
“List.GetItemAtIndex” 节点会选择列表中特定索引处的项目。选择 “0” 时,我们会得到列表中的第一项(在本例中为 “100” )。
通过将相同过程应用于第二个列表,得到的值为 “0”,即列表中的第一项。
现在,我们使用 “List.Create” 节点将这两个列表合并为一个列表。请注意,该节点将创建_一列列表_。这会更改数据的结构。
再次使用 “List.GetItemAtIndex” 时,如果索引设置为 “0”,则我们将获得该列列表中的第一个列表。这就是将列表视为项目的含义,这与其他脚本编写语言略有不同。在后面的章节中,我们将通过列表操作和数据结构获得更高级的功能。
在 Dynamo 中了解数据层次结构的关键概念:在数据结构方面,列表被视为项目。换句话说,Dynamo 通过自上而下的过程来了解数据结构。这意味着什么?我们通过一个示例来介绍它。
单击下面的链接下载示例文件。
可以在附录中找到示例文件的完整列表。
在此第一个示例中,我们装配了一个带壳圆柱体,该圆柱体遍历本节中讨论的几何图像层次结构。
1.添加 “Point.ByCoordinates” - 向画布添加节点后,我们会在 Dynamo 预览栅格的原点处看到一个点。“x,y”和“z”输入的默认值为“0.0”,从而在此位置处向我们提供一个点。
2.Plane.ByOriginNormal - 几何图形层次结构中的下一步是平面。有几种构建平面的方法,我们使用原点和法线作为输入。原点是在上一步中创建的点节点。
Vector.ZAxis - 这是 Z 方向上单位化的向量。请注意,没有输入,仅有值为 [0,0,1] 的向量。我们将此项用作 “Plane.ByOriginNormal” 节点的 “normal” 输入。这样,我们在 Dynamo 预览中就得到了一个矩形平面。
3.Circle.ByPlaneRadius - 逐步扩展层次结构,我们现在基于上一步中的平面创建曲线。在连接到节点后,我们会在原点处得到一个圆。节点上的默认半径值为 “1”。
4.Curve.Extrude - 现在,我们通过增加其深度并进入第三维,使该内容弹出。该节点基于曲线创建曲面,方法是拉伸该曲线。节点上的默认距离为 “1”,应该可以在视口中看到一个圆柱体。
5.Surface.Thicken - 此节点通过将曲面偏移给定距离并闭合形状,从而为我们提供一个闭合实体。默认厚度值为 “1”,我们会在视口中看到一个与这些值对应的带壳圆柱体。
6.数字滑块 - 我们不使用所有这些输入的默认值,而是向模型添加一些参数化控件。
域编辑 - 在向画布添加数字滑块后,单击左上角的插入符号可显示域选项。
最大值/最小值/步长 - 将 “min” 、 “max” 和 “step” 值分别更改为 “0” 、 “2” 和 “0.01”。我们这样做的目的是控制整个几何图形的大小。
7.数字滑块 - 在所有默认输入中,我们复制并粘贴此数字滑块(选择滑块、按 Ctrl+C,然后按 Ctrl+V)多次,直到具有默认值的所有输入都有滑块为止。某些滑块值必须大于零,才能使定义生效(即:需要拉伸深度才能加厚曲面)。
8.现在,我们已使用这些滑块创建参数化带壳圆柱体。尝试调整其中一些参数,然后在 Dynamo 视口中动态查看几何图形更新。
数字滑块 - 更进一步对此进行介绍,我们已向画布添加了很多滑块,并且需要清理刚刚创建的工具的界面。在一个滑块上单击鼠标右键、选择“重命名...”,然后将每个滑块更改为其参数的相应名称(厚度、半径、高度等)。
9.此时,我们创建了一个令人惊叹的加厚圆柱体。目前,这是一个对象,让我们来看看如何创建一个圆柱体阵列,其中圆柱体保持动态链接。为此,我们将创建一列圆柱体,而不是使用单个项。
加(+) - 我们的目的是在创建的圆柱体旁边添加一排圆柱体。如果要添加一个与当前圆柱体相邻的圆柱体,我们需要考虑圆柱体的半径及其壳厚度。通过添加滑块的两个值,可得到此数字。
10.该步骤更加复杂,因此让我们缓慢地逐步介绍:最终目的是创建一列数字,用于定义每个圆柱体在一排中的位置。
a.相乘 - 首先,我们要将上一步中的值乘以 2。上一步中的值表示半径,我们希望将圆柱体移动整个直径。
b.数字序列 - 使用此节点创建数字数组。第一个输入是上一步中的 “multiplication” 节点到 “step” 值。可以使用 “number” 节点将 “start” 值设置为 “0.0”。
c.整数滑块 - 对于 “amount” 值,我们会连接整数滑块。这将定义创建多少个圆柱体。
d.输出 - 此列表显示阵列中每个圆柱体移动的距离,并由原始滑块以参数化方式驱动。
11.此步骤足够简单 - 将上一步中定义的序列连接到原始 “Point.ByCoordinates” 的 “x” 输入。这将替换可以删除的滑块 “pointX”。现在,在视口中可以看到圆柱体阵列(确保整数滑块大于 0)。
12。圆柱体链仍与所有滑块动态链接。调整每个滑块以观察定义更新!
由大小和方向表示,可以将其视为以给定速度朝特定方向加速的箭头。在 Dynamo 中,它是模型的关键组件。请注意,由于它们属于“辅助对象”的“抽象”类别,因此当我们创建向量时,不希望在背景预览中看到任何内容。
是一个二维曲面,可以将其视为无限延伸的平面。每个平面都有一个原点、X 方向、Y 方向和 Z(向上)方向。
是一个用于确定点或其他几何图元位置的系统。下图介绍了它在 Dynamo 中的外观以及每种颜色所表示的含义。
如果我们要构建无法基于单个曲面创建的更复杂模型,或者要定义明确的体积,我们现在必须进入到(和多边形曲面)领域。即使简单的立方体也足够复杂,需要六个曲面,每个面一个。实体可用于访问曲面所没有的两个关键概念 - 更加优化的拓扑描述(面、边、顶点)和布尔操作。
可以使用修改实体。让我们使用几个布尔操作来创建一个尖球。
这使实体布尔成为一个强大的省时过程。有三种实体布尔运算,它们可区分保留几何图形的哪些部分。
除了这三项操作,Dynamo 还具有 “Solid.DifferenceAll” 和 “Solid.UnionAll” 节点,用于对多个实体执行差集和并集操作。
是我们介绍的第一个几何数据类型,有一组更熟悉的形状描述特性 - 弯曲度或笔直度如何?多长或多短?请记住,点仍然是我们的构建块,用于定义从直线到样条曲线以及它们之间的所有曲线类型。
由一组点组成,每条直线至少有 2 个点。在 Dynamo 中创建直线的最常见方法之一是使用 Line.ByStartPointEndPoint
在 Dynamo 中创建直线。
是一个用于精确表示曲线和曲面的模型。在 Dynamo 中使用两种不同方法制作正弦曲线,以创建 NURBS 曲线来比较结果。