00前言
Hi,这是Grasshopper的系列教程。结合两年的自学经历,我会推荐给正在或即将自学的同学一个快速的学习路线。
为了结构化,我会不断完善更新补充一张gh学习路线的思维导图,请公号内回复“gh导图”获取。
01预热思维导图
02进入rhino6与grasshopper
本教程推荐使用rhino6及内置的grasshopper插件。Rhino 6 的试用与安装说明点这里
在犀牛界面中,输入“grasshopper”这个命令到命令行,回车确认即可进入grasshopper插件界面
03一个参数化程序可能长这样:
如果你观察一个熟练的参数化设计师上班时间在干嘛,可能会发现他的显示器上有一堆方方的玩意连着乱七八糟的线。这其实就是他在进行.gh程序文档的创建过程。
04一个.gh文档的细节
看起来似乎有些复杂,我们放大局部来看,可能是这样。
05什么是运算器
如文档细节图所示,那些矩形的物体叫作运算器,由于两端长有类似于电池正极的接口,所以运算器也叫做“电池”。
06GH里的运算器(电池)从作用上可以分为四类
前两类是参数运算器(电池),可类比为语法中的名词,用作主语和宾语(动作的发起者与动作结果的承受者),为了方便介绍,以后将统称前两类参数运算器(电池)为 [[ 容器 ]]。
后两类运算器(电池)便是“谓语动词”,它们负责让参数电池产生各种变化。以下统称这两类为 {{ 功能运算器 }}。
07第一类是几何容器
它们每个对应着一个变量,是装着点、线这种几何参数的容器。
容器里可以有一个物体,也可以有多个,容器里的物体可以具有任何复杂的数据结构,关于数据结构,后面教程会讲。
以下是几何容器:
Params-->Geometry
08第二类是非几何容器
与第一类非常类似,只不过它们是装着数字、文字等纯数据的容器,不具有几何特征。
以下是非几何容器:
Params-->Primitive
09第三类是几何功能运算器。
这一类全都是建模会用到的方法,类似于各种绘图命令,有很大一部分与犀牛本身的命令功能是一样的,会有一些差别。
以下是几何功能运算器:
Vector-->
Curve-->
Surface-->
Mesh-->
Intersect-->
Transform-->
10第四类是数据功能运算器。
这是一类改变数据结构的运算器,也是能让gh高效的根本原因。
以下是数据功能运算器:
Params-->Input & Util
Math-->
Sets-->
Display-->
11数据功能运算器的特点:
它的功能是让几何与非几何容器中装载的内容,成为改变数据结构后的新内容。这样做的目的是,让发生其他动作的容器更好的匹配。
它的功能在犀牛的几何界面看不到,摸不着。是抽象(后台代码实现)的存在,在gh的界面里通过 {{ panel }} 面板来观察(后面教程会讲)。
12gh复杂文档的基本构成模块:
[[ 容器 ]]--> {{ 运算器 }} --> [[ 容器 ]]
13容器和功能运算器之间的线连接
连线表示数据在容器、功能运算器间的各种输入输出,这也就是我们参数化建模的过程。
14连线操作技巧:
一个容器或功能运算器可以同时输出到任何功能运算器或容器;
一个运算器往往有多个输入输出端口,对应着处理前后的容器;
运算器输出端口的内容也可以不装进新容器直接连入下一个运算器参加下一个运算;
初学阶段建议每次运算输出都通过一个容器来过渡(便于识别输出内容对应的参数类型)
从容器的输出端多次鼠标左键拖动到其他运算器或容器的输入端,是一种覆盖式的操作,即“喜新厌旧”。
通过按住shift键同时左键拖动连接,是一种增加下一个式的操作,即“排队成组,有序进场”。
通过按住Ctrl键同时左键拖动连接,是一种减少一条连线式的操作,即“抽出队伍,后面补上”。
15总结
第一课,我们首先要了解rhino与grasshopper的进入方式,了解.gh文档
其次,我们要知道grasshopper按功能分的四类电池(几何容器、非几何容器、几何功能运算器、数据功能运算器),懂得区分
最后,我们要了解 “ 容器 --> 运算器 --> 容器” ,这样一个gh文档的基本构成模块,以及连线的用法。