Brendan Harmon

© 2025 Brendan Harmon Jekyll Themes

Grasshopper 入门

在 Grasshopper 中建模点、线、曲线和表面。 Surface 目录

使用 Grasshopper 进行可视化编程

Grasshopper 是一个用于 3D 建模程序 Rhinoceros 的可视化编程界面。Rhino 使用非均匀有理 B 样条 (NURBS) 来精确地、数学地建模几何体。通过可视化编程,您可以通过组合将数据链接到函数的图表来算法式地生成几何体。算法方法使设计师能够创建复杂的形式并快速生成替代设计。以下是一些了解有关 Grasshopper 的更多信息的资源:

本教程是介绍在 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 值。 Point from x, y, z coordinates 点也可以由带有 x、y 和 z 值的文本面板定义。 将 Params 选项卡的 Input 面板中的 Point 参数放置在画布上。 然后放置 Input 面板中的 Panel 参数。 双击面板以对其进行编辑。 键入以逗号分隔的 x、y 和 z 值。 将 Panel 连接到 Point 参数。 Point from text panel Point 参数也可以设置为在 Rhino 中绘制的点。 右键单击 Point 参数,然后选择 set one point。 Grasshopper 将最小化,并且 Rhino 中的命令行将要求输入点的位置。 在 Rhino 视口之一中绘制一个点,或将以逗号分隔的 x、y 和 z 值键入命令行。 Point from Rhino Point from x, y, and z coordinates

线

在 Grasshopper 中,线可以通过起点和终点、起点、方向和长度来定义,或者通过在 Rhino 中绘制线来定义。 起点和终点可以通过从滑块构造点、在面板中定义坐标或在 Rhino 中绘制点来设置。 将 Params 选项卡的 Input 面板中的 Line 组件放置在画布上。 然后将起点和终点的输出(无论是来自 Number SliderPoint 还是 Panel 参数)连接到 Line 组件上的相应输入参数。 Line from constructed points Line from points defined in panels Line from referenced points 要引用在 Rhino 中绘制的线,请放置一个 Line 参数。 右键单击 Line 参数,然后选择 set one line。 Grasshopper 将最小化,并且 Rhino 命令行将要求输入线的起点,然后是终点。 在 Rhino 视口中绘制点,或在命令行中输入坐标。 Line from Rhino 要从起点、长度和距离绘制一条线,首先放置 Line SDL 组件。 使用 Point 参数、PanelConstruct Point 组件设置起点。 使用向量组件(例如 Unit Z)设置方向。 使用 Number SliderPanel 参数设置长度。 Line from start, tangent, and length 要构造一条其终点相对于其起点的线,首先定义一个起点,然后沿着向量将其移动到终点位置。 首先放置一个 Line 组件。 使用 Point 参数、PanelConstruct Point 组件定义其起点。 然后添加一个 Move 组件以将该点平移到新位置。 将起点连接到 Move 组件的输入 Geometry 参数,并将输出 Geometry 组件连接到 Line 组件的终点参数。 然后将向量连接到 Move 组件的 Motion 输入参数。 例如,添加并连接 Unit X 向量以设置沿 x 轴的移动方向。 然后将 Number Slider 参数连接到 Unit X 向量的输入 Factor,以设置移动长度。 Line from translated end point Line from constructed points

折线

折线是连接有序点集合的线序列。 它们可以闭合以形成多边形。 放置一个 Polyline 组件,然后将多个点连接到 Vertices 输入参数。 按住 shift 键拖动连线以添加多个输入。 要闭合折线并形成多边形,请通过添加 PanelBoolean ToggleClosed 输入参数设置为 True。 双击 Boolean Toggle 以将其状态从 true 更改为 false。 Polyline Polygon

曲线

非均匀有理 B 样条 (NURBS) 曲线通过一组控制点进行插值。 要绘制曲线,请放置一个 Interpolate 组件,并将其输入 vertices 参数连接到一组点。 曲线的点可以从 x、y、z 坐标使用 Construct Point 组件或 Panel 参数创建,在 Rhino 中绘制并使用 Point 参数引用,或者从三角函数(例如正弦波)生成。 可以使用 gumball 轻松编辑 Point 参数以更改曲线的形状。 Curve 要从正弦波创建曲线,首先使用 Range 组件生成一个值范围,例如从 0 到 10。将该范围连接到 Construct Point 组件的 x 坐标。 还要将该范围连接到 Sine 组件,然后将正弦函数的输出连接到 Construct Point 组件的 z 坐标。 将该点连接到 Interpolate 组件的 Vertices 输入参数。 尝试更改正弦波的域、频率和振幅。 Curve Curve Curve

表面

NURBS 表面通过控制点的二维网格进行插值。 可以使用组件(例如 Plane SurfaceBox 2PtCenter Box)生成原始表面。 可以使用组件(例如 Boundary SurfacesRuled SurfaceLoft)生成自由曲面。

使用 Boundary Surfaces 从平面曲线创建平面表面,或使用 Plane Surface 等组件创建原始表面。 Surface Surface Surface Surface 通过使用 Extrude 拉伸表面或作为原始表面(例如盒子或球体)来创建实体。 Surface Surface Surface 可以使用 Ruled SurfaceLoft 等组件从多条曲线构造自由曲面。 Surface Surface Surface Surface 了解如何在下一个教程中将此表面转换为家具:在 Grasshopper 中建模参数化长凳

© 2025 Brendan Harmon Jekyll Themes