使用 Grasshopper 进行参数化建模
© 2025 Brendan Harmon Jekyll Themes
Grasshopper 入门
在 Grasshopper 中建模点、线、曲线和表面。
目录
使用 Grasshopper 进行可视化编程
Grasshopper 是一个用于 3D 建模程序 Rhinoceros 的可视化编程界面。Rhino 使用非均匀有理 B 样条 (NURBS) 来精确地、数学地建模几何体。通过可视化编程,您可以通过组合将数据链接到函数的图表来算法式地生成几何体。算法方法使设计师能够创建复杂的形式并快速生成替代设计。以下是一些了解有关 Grasshopper 的更多信息的资源:
- The Grasshopper Primer
- Grasshopper Basics with David Rutten
- Grasshopper Docs
- TU Delft Grasshopper Tutorials
本教程是介绍在 Grasshopper 中建模基本几何体(例如点、线、折线、曲线和表面)的入门知识。 下载本教程的 Grasshopper 定义 作为指南。 首先启动 Rhino。 在 Rhino 的命令行中键入 grasshopper
以启动可视化编程界面。 Grasshopper 界面有一个菜单栏、一个带有参数和组件的工具栏,以及一个用于组合图表的画布。 参数用于设置和存储数据。 组件是用于执行操作的函数。 将参数和组件拖放到画布上,然后用连线将它们连接在一起,以创建基于节点的图表,从而在 Rhino 中生成几何体。 在 Grasshopper 中组合的可视化编程图表会在 Rhino 中生成几何体。
点
在笛卡尔空间中,点由 x、y 和 z 坐标定义。 在 Grasshopper 中,点可以从 x、y 和 z 坐标构造,也可以在 Rhino 中绘制并在 Grasshopper 中引用。
定义点的一种方法是使用 Construct Point 组件。 在 Vector
选项卡的 Points
面板中找到 Construct Point
组件。 将此组件拖放到画布上。 然后使用 Number Slider
参数为 x、y 和 z 参数添加输入数据。 在 Params
选项卡的 Input
面板中找到 Number Slider
参数。 或者双击画布以搜索组件,然后键入数字滑块或滑块的值,例如 10。将连线从数字滑块右侧的每个输出节点连接到 Construct Point
组件左侧的相应输入节点。 拖动每个滑块上的手柄,为点设置 x、y 和 z 值。
点也可以由带有 x、y 和 z 值的文本面板定义。 将
Params
选项卡的 Input
面板中的 Point
参数放置在画布上。 然后放置 Input
面板中的 Panel
参数。 双击面板以对其进行编辑。 键入以逗号分隔的 x、y 和 z 值。 将 Panel
连接到 Point
参数。
Point
参数也可以设置为在 Rhino 中绘制的点。 右键单击 Point
参数,然后选择 set one point
。 Grasshopper 将最小化,并且 Rhino 中的命令行将要求输入点的位置。 在 Rhino 视口之一中绘制一个点,或将以逗号分隔的 x、y 和 z 值键入命令行。
线
在 Grasshopper 中,线可以通过起点和终点、起点、方向和长度来定义,或者通过在 Rhino 中绘制线来定义。 起点和终点可以通过从滑块构造点、在面板中定义坐标或在 Rhino 中绘制点来设置。 将 Params
选项卡的 Input
面板中的 Line 组件放置在画布上。 然后将起点和终点的输出(无论是来自 Number Slider
、Point
还是 Panel
参数)连接到 Line
组件上的相应输入参数。
要引用在 Rhino 中绘制的线,请放置一个
Line
参数。 右键单击 Line
参数,然后选择 set one line
。 Grasshopper 将最小化,并且 Rhino 命令行将要求输入线的起点,然后是终点。 在 Rhino 视口中绘制点,或在命令行中输入坐标。
要从起点、长度和距离绘制一条线,首先放置 Line SDL 组件。 使用
Point
参数、Panel
或 Construct Point
组件设置起点。 使用向量组件(例如 Unit Z)设置方向。 使用 Number Slider
或 Panel
参数设置长度。
要构造一条其终点相对于其起点的线,首先定义一个起点,然后沿着向量将其移动到终点位置。 首先放置一个 Line 组件。 使用
Point
参数、Panel
或 Construct Point
组件定义其起点。 然后添加一个 Move 组件以将该点平移到新位置。 将起点连接到 Move
组件的输入 Geometry
参数,并将输出 Geometry
组件连接到 Line
组件的终点参数。 然后将向量连接到 Move
组件的 Motion
输入参数。 例如,添加并连接 Unit X 向量以设置沿 x 轴的移动方向。 然后将 Number Slider
参数连接到 Unit X 向量的输入 Factor
,以设置移动长度。
折线
折线是连接有序点集合的线序列。 它们可以闭合以形成多边形。 放置一个 Polyline 组件,然后将多个点连接到 Vertices
输入参数。 按住 shift 键拖动连线以添加多个输入。 要闭合折线并形成多边形,请通过添加 Panel
或 Boolean Toggle
将 Closed
输入参数设置为 True
。 双击 Boolean Toggle
以将其状态从 true 更改为 false。
曲线
非均匀有理 B 样条 (NURBS) 曲线通过一组控制点进行插值。 要绘制曲线,请放置一个 Interpolate 组件,并将其输入 vertices
参数连接到一组点。 曲线的点可以从 x、y、z 坐标使用 Construct Point 组件或 Panel
参数创建,在 Rhino 中绘制并使用 Point
参数引用,或者从三角函数(例如正弦波)生成。 可以使用 gumball 轻松编辑 Point
参数以更改曲线的形状。
要从正弦波创建曲线,首先使用 Range 组件生成一个值范围,例如从 0 到 10。将该范围连接到 Construct Point 组件的 x 坐标。 还要将该范围连接到 Sine 组件,然后将正弦函数的输出连接到
Construct Point
组件的 z 坐标。 将该点连接到 Interpolate 组件的 Vertices
输入参数。 尝试更改正弦波的域、频率和振幅。
表面
NURBS 表面通过控制点的二维网格进行插值。 可以使用组件(例如 Plane Surface、Box 2Pt 和 Center Box)生成原始表面。 可以使用组件(例如 Boundary Surfaces、Ruled Surface 和 Loft)生成自由曲面。
使用 Boundary Surfaces 从平面曲线创建平面表面,或使用 Plane Surface 等组件创建原始表面。
通过使用 Extrude 拉伸表面或作为原始表面(例如盒子或球体)来创建实体。
可以使用 Ruled Surface 和 Loft 等组件从多条曲线构造自由曲面。
了解如何在下一个教程中将此表面转换为家具:在 Grasshopper 中建模参数化长凳。
© 2025 Brendan Harmon Jekyll Themes