grasshopper tutorial woojsung 康奈尔大学建筑系参数化教程 高级gh教程
- 格式:pdf
- 大小:4.58 MB
- 文档页数:12
Grasshopper教程第五期今天楼主演示做个简单的模型,不要因为简单而轻视,此模型会用到一个很重要的命令。
至于前面的教程出现过的命令,楼主不在圈点出命令位置。
此模型用su也能简单搭建,下面是AA大神的作品。
可见建模思路的重要性。
下面介绍rhino建模方法,在顶视图内画一个圆。
对于顶棚两边的起翘,当然可以用控制点的方法来调整,但这边楼主用一个快捷方法,失误率低,完成形态优美。
切换到前视图,如图画线,曲线形态为预建屋顶的二维形态。
可调整控制点,但由于此模型是对称的,故注意两边同时操作,保证其对称性。
使用此期最重要的命令——“从两个视图的曲线”,很别扭的名字,不过是神器,至少楼主认为是制作空间曲线的神器。
按照命令栏提示一步步操作。
结果如图。
楼主为何强调曲线要超出圆边界,大家可自行尝试加深记忆。
将暂时不用的线调入废线图层隐藏,利用视图配合再画一个圆并在高度上移动到适当位置,并构建放样断面线。
双轨放样得到顶棚形态。
提取曲面结构线,为平均提取,先对外轮廓等分。
移动接缝点至断面线交点处。
已在交点处就无需再移动,右击确认接缝点。
点击成组便于今后选择,输入分段数,确认。
生成结果,不调整接缝点的缺点就是断面线可能在提取结构线后是多余的,可自己思考原因。
接着就是提取v方向上的结构线,命令默认是u方向,点击切换,成v方向。
点击参考点生成结构线。
由于是对称模型,可提取一半,然后对称。
选取全部结构线,成管,管径自画或输数据,推荐后者。
选中小圆,如图按住shift向外拖动操作轴缩放点,适当把圆放大,也可直接点击一下输入放大倍数。
向上挤压,点击实体选项,输入挤压高度。
底座和支撑杆件做法大同小异,楼主不再赘述。
这边偷个懒解决,很简单的一组小程序,会在grasshopper篇内放出,有兴趣的可以先自学研究下。
大家可上传随教程完成的作品,但本期的作业为前段时间一个拓友提出的柳叶灯建模问题,楼主提供修改过的图片一张,大家可参照建模,这种空间曲线的建立只需活用本期楼主重点介绍的命令即能轻松完成,楼主只需看到完成叶子形态模型即可,不需要对各叶片的连接深入,楼主会在讲解过相关命令后继续作为作业布置,当然,欢迎整体完成。
Grasshopper学习手册笔记(含英文注解).一、 Prams[n.参数] 电池组(1).Geometry[美[d?i'ɑ?m?tri],n.几何,几何学] 电池组这一组都是对数据的抓取,电池都有左侧输入端和右侧输出端,都有两种输入数据的方法,一种是把相应数据连接到左侧输入端,另一种是电池上点右键Set one XXX,新设置一个XXX。
Set multipleXXX,[美['m?lt?pl],adj,多种多样的,许多的,n.倍数,关联],即设置多个。
但是Set one curve 只能选取Rhino 中创建好的,[美['ra?no?],n.犀牛]左侧输入端:任何相应属性数据。
右侧输出端:电池所包含的相应属性数据。
属性对应如下:Point:输入点数据【美[p??nt],n.点】Vector:输入向量数据【美['vekt?r],n,向量,矢量】Circle:输入圆数据,这个电池只包含圆和椭圆相关曲线【美['s??rkl]】Curve:输入曲线数据【美[k??rv]】Plane:输入平面数据【美[ple?n]】Circular Arc:输入圆弧数据【美['s??rkj?l?r],adj,圆形的,循环的,美[ɑ?rk],n,弧,弧形物】Line:输入直线数据【美[la?n]】Rectangle:输入网格数据【美['rekt??ɡl],n,矩形】Box:输入实体盒子数据【美[bɑ?ks]】Mesh:输入mesh面数据,即网格面数据【美[me?],n.网状物】Surface:输入曲面数据,为poly曲面,不可输入mesh曲面【美['s??rf?s] n.表面,外表】Brep:输入任意实体或者曲面数据(这个很常用)【美[b'rep]n.表面表示】Mesh Face:与mesh类似,这里更多的是提取规则的mesh面Twisted Box:输入北扭曲的实体【美['tw?st?d],adj,扭曲的】Field,输入磁场数据【美[fi?ld]】Group:输入成组的数据【美[ɡru?p]】Geometry:输入几何图形数据(包含点线面任何数据)Transform输入三线性集合变换图形【美[tr?ns'f??m],v,改边,转换】Geometry Pipeline从犀牛中输入集合管线到GH中【美['pa?pla?n],n,管道,管线,渠道】Geometry Cache物体缓存,【美[k??],n,隐藏所,缓存】主要作用:1、快速烘培GH汇总的物体,2、快速选择已经烘培到Rhino中的物体(2).Primitive 电池组【['pr?m?t?v] ,adj,原始的,简陋的】Boolcean:输入布尔值【['bu?li?n] n,布尔布尔逻辑的】Integer:输入整数【 ['?nt?d??r] n. [数] 整数;整体;】Number:输入一列双精度浮点数据Text:输入任意文字Color:输入一列颜色参数的RGB值【['k?l?r]】Culture:包含了一系列文化特征【[?k?lt??] n.文化,修养】Domain2:输入任意二维区间数据或者UV范围【[do?'me?n]N. 领地;领域;范围】Matrix:包含了一系列的数据矩阵【['me?tr?ks] n 矩阵】Complex:代表一个复核的集合。
. . ws92@ RHINO GRASSHOPPER TUTORIAL woo jae sungSTEP01 . GRID ON SURFACES+Draw three lines [Rhino input]•Note line direction+Crv object [GH object]+Connect Rhino & GH objects•RMB, select ‘set multiple curves’•Note line picking order 1ST2ND3RD+Do the same thing for upper layer+Loft object•Default loft option+Number slider setting•‘Even numbers’ for U direction•‘Integer’ for V direction+Connect Divide object to surfaces & slidersSTEP02 . COMPONENT IDEA+By default, points generated through ‘Divide Srf’ object are to be ordered in zigzag fashion.+For better control, point ordering method should be changed into 2 x 2 array or list.+Get mid points•pt01A = ( ptA(0)(0) + ptA(1)(0) ) / 2 •pt02A = ( ptA(1)(1) + ptB(1)(1) ) / 2 •pt03A = ( ptA(2)(0) + ptA(1)(2) ) / 2•pt01B = ( ptB(0)(0) + ptB(1)(0) ) / 2 •pt02B = ( ptA(1)(0) + ptB(1)(0) ) / 2 •pt03B = ( ptB(2)(0) + ptB(1)(2) ) / 2+Set direction vectorspt01Apt01Bpt02Apt02Bpt03Apt03B+Loft+Component expansionSTEP03 . VB Scripting+Point List object attached to see point order onsurfaces (zigzag order)+Setting VB component•Four input parameters•ptSetA : points set A from upper surface•ptSetB : points set B from lower surface•divU : U direction division factor•divV : V direction division factor+Get connected+Set input parameters : ptSetA & B•Check ‘List’ - multiple point input•Check ‘On3dPoint’ for data type hint+Set input parameters : divU & V•Check ‘Integer’+Double ‘For ~ Next’•To remap one dimensional linear point inputdata into two dimensional array or list, we willuse double ‘for ~ next’ loop.+Iteration for V direction(‘j’ direction, pt01 ~ pt06)•Define ‘n’ as integer. (Overall index, 0 to pointupper bound)•Define ‘ptRowA’ as list of points•Define ‘ptA’ as individual points•Assign the point ‘ptSetA(n)’, n th member ofinput point list, onto ‘ptA’, temporary address •Add the point on ‘ptRow’•Increase ‘n’ by 1•Define ‘ptListA’ as list of list (not list of points)•Add ‘ptRowA’ to ‘ptList’+Duplicate for the lower surface points•Duplicate codes for ‘ptSetB’+Double ‘For ~ Next’ for point assigning•Since our component is 2(U) by 1(V), set Udirection step as 2+Get mid points•Note that 4th point is to get direction vectors pt01Apt02Apt03A+Get U directional module distances and directional vectors to unitize starting and ending vectors+Since we need to draw ‘interpolate curves’, look up Rhino .NET SDK help file.•Rhino4DotNetPlugIns+To draw interpolate curves, we should define point array first.•In this case, the point array should containthree points defined in the previous step except point #4. Remember the 4 th point was just to get vectors.•Note that On3dPointArray is not same with Array of On3dPoint.•Define new list of Nurbs curve •Define On3dPointArray. •Append three points to the Array •Define interpolate curve as a nurbs curve •Draw interpolate curve with argument (3, ptArrA, vt01A, vt02A, Nothing) •Add the curve to interpolate curve list+Set output as the list of interpolate curvesdistancevector+Duplicate each codes for the lower surfaceSTEP04 . LOFTING AND POST PROCESS+Loft using two sets of interpolate curves•Unexpected loft result•Curves on the same data branch+Grafting•Creates a new branch for every single dataitem.+Lofting+Or control div numbers。
. . ws92@ RHINO GRASSHOPPER TUTORIAL woo jae sungSTEP01 . GRID ON SURFACES+Draw three lines [Rhino input]•Note line direction+Crv object [GH object]+Connect Rhino & GH objects•RMB, select ‘set multiple curves’•Note line picking order 1ST2ND3RD+Do the same thing for upper layer+Loft object•Default loft option+Number slider setting•‘Even numbers’ for U direction•‘Integer’ for V direction+Connect Divide object to surfaces & slidersSTEP02 . COMPONENT IDEA+By default, points generated through ‘Divide Srf’ object are to be ordered in zigzag fashion.+For better control, point ordering method should be changed into 2 x 2 array or list.+Get mid points•pt01A = ( ptA(0)(0) + ptA(1)(0) ) / 2 •pt02A = ( ptA(1)(1) + ptB(1)(1) ) / 2 •pt03A = ( ptA(2)(0) + ptA(1)(2) ) / 2•pt01B = ( ptB(0)(0) + ptB(1)(0) ) / 2 •pt02B = ( ptA(1)(0) + ptB(1)(0) ) / 2 •pt03B = ( ptB(2)(0) + ptB(1)(2) ) / 2+Set direction vectorspt01Apt01Bpt02Apt02Bpt03Apt03B+Loft+Component expansionSTEP03 . VB Scripting+Point List object attached to see point order onsurfaces (zigzag order)+Setting VB component•Four input parameters•ptSetA : points set A from upper surface•ptSetB : points set B from lower surface•divU : U direction division factor•divV : V direction division factor+Get connected+Set input parameters : ptSetA & B•Check ‘List’ - multiple point input•Check ‘On3dPoint’ for data type hint+Set input parameters : divU & V•Check ‘Integer’+Double ‘For ~ Next’•To remap one dimensional linear point inputdata into two dimensional array or list, we willuse double ‘for ~ next’ loop.+Iteration for V direction(‘j’ direction, pt01 ~ pt06)•Define ‘n’ as integer. (Overall index, 0 to pointupper bound)•Define ‘ptRowA’ as list of points•Define ‘ptA’ as individual points•Assign the point ‘ptSetA(n)’, n th member ofinput point list, onto ‘ptA’, temporary address •Add the point on ‘ptRow’•Increase ‘n’ by 1•Define ‘ptListA’ as list of list (not list of points)•Add ‘ptRowA’ to ‘ptList’+Duplicate for the lower surface points•Duplicate codes for ‘ptSetB’+Double ‘For ~ Next’ for point assigning•Since our component is 2(U) by 1(V), set Udirection step as 2+Get mid points•Note that 4th point is to get direction vectors pt01Apt02Apt03A+Get U directional module distances and directional vectors to unitize starting and ending vectors+Since we need to draw ‘interpolate curves’, look up Rhino .NET SDK help file.•Rhino4DotNetPlugIns+To draw interpolate curves, we should define point array first.•In this case, the point array should containthree points defined in the previous step except point #4. Remember the 4 th point was just to get vectors.•Note that On3dPointArray is not same with Array of On3dPoint.•Define new list of Nurbs curve •Define On3dPointArray. •Append three points to the Array •Define interpolate curve as a nurbs curve •Draw interpolate curve with argument (3, ptArrA, vt01A, vt02A, Nothing) •Add the curve to interpolate curve list+Set output as the list of interpolate curvesdistancevector+Duplicate each codes for the lower surfaceSTEP04 . LOFTING AND POST PROCESS+Loft using two sets of interpolate curves•Unexpected loft result•Curves on the same data branch+Grafting•Creates a new branch for every single dataitem.+Lofting+Or control div numbers。
朝有所值的Grasshopper运算器总结Params:参数Geometry:几何体Box: 立方体BRep: 边界表现形式Circle: 圆Circular Arc: 圆弧Curve: 曲线Geometry: 几何Line: 线Mesh: 网格面Plane: 平面Point: 点Surface: 表面Twisted box: 扭曲的立方体Vector: 矢量Primitive: 数据元素Boolean: 布尔型Colour: ARGB色彩Data: 数据Data Path: 数据分支Integer: 整型Interval: 区间Interval2: 二维区间Number: 双精度型浮点数Shader: 着色器String: 字符串型Time: 日期型Special: 专门的Bar Graph: 条形统计图Boolean Toggle: 布尔值切换器Colour Swatch: 色卡Custom Preview: 预览自定义Gradient: 多色彩渐变Graph Mapper:Number Slider: 数字滑动条Panel: 数据显示面板Param Viewer: 参数结构查看器Receiver: 数据接收器Logic 逻辑Boolean: 布尔运算Gate And: 并集Gate And Ternary: 三元并集Gate Majority:Gate Nand:Gate Nor:Gate Not:Gate Or:Gate Or Ternary:Gate Xnor:Gate Xor:List: 列表Dispatch: 分配(把一个列表中的项目分派到两个目标列表中)List Item: 清单项List Length: 列表长度(计算列表的长度)Null Item:空值(测试一个数据项是否无效)Reverse List: 反转列表Shift List: 移动列表Sort List: 分类列表Split List: 分拆列表Sub List: 次级列表(从一个列表中提取子集)Weave: 编排(使用自定义的式样编排输入流的设置)Script: 脚本DotNET C# Script: C#脚本DotNET VB Script: VB脚本F1 : 一元函数F2 : 二元函数F3 : 三元函数Variable Expression : 多元函数Sets: 集合Cull Nth : 选取元素(在列表中每n个选取元素)Cull Pattern : 选取图案(使用反复的掩码在列表中选取元素)Duplicate Date : 复制数据Fibonacci: 费班纳赛(创建一个费班纳赛序列)Jitter: 振动Random:Range: 范围Series: 数列Trees: 设计树Clean Tree: 清理设计树(把数据树中所有空项和无效数据清除掉)Create Branch: 创建分支(创建一个分支访问路径)Decompose Branch: 分解分支(分解分支访问路径)Flatten Tree: “夷平”设计树(把设计树中所有分支路径去除)Graft tree: 续接设计树Merge: 合并(把两个数据流合二为一)Merge Multiple: 合并多项(合并多个输入数据流为一个)Simplify Tree : 简化设计树(通过清除重复的可共享的分支简化设计树)Prune Tree: 修剪设计树(从设计树中去掉小的分支路径)Stream Filter: 数据流过滤器(过滤输入的数据流)Stream Gate: 数据流闸口(向一个指定的输出项重新传入数据流)Tree Branch: 设计树分支(从数据树中取回一个指定的分支)Tree Item: 设计树项目(从数据树中取回一个指定的项目)Scalar:标量Constants:常数:Epsilon: 艾普西龙(四舍五入双精度浮点数)Golden Ratio: 黄金分割比(1.618)Natural logarithm: 自然对数(2.718)Pi: 圆周率(3.14)Interval:区间:Bounds: 界限(围绕数字列表创建一个区间)Bounds 2D: 二维界限(围绕坐标列表创建一个二维的区间)Divide Interval: 均分区间Divide Interval2: 均分二维区间Interval: 区间Interval Components: 分解一维区间Interval2: 通过两个一维区间创建二维区间Interval2: 通过四个数字创建二维区间Interval2 Components: 分解一个二维区间到四个数字Interval2 Components: 分解一个二维区间到独立的一维区间Operators:运算符:Addition: 加法运算Division: 除法运算Equality: 等量代换Larger Than: 比较运算(大于)Modulus: 取模运算Multiplication: 乘法运算Power: 乘方运算Similarity: 近似运算Smaller Than: 比较运算(小于)Subtraction: 减法运算Polynomials:多项式:Factorial: 阶乘Log N: 求底数为N的对数Logarithm: 求10为底的对数Natural logarithm: 求以e为底的对数Power of 10: 10的乘方Power of 2: 2的乘方Power of E: E的乘方Trig:三角函数:ArcCosine: 反余弦函数ArcSine: 反正弦函数ArcTangent: 反正切函数Cosine: 余弦函数Sine: 正弦函数Tangent: 正切函数Util:公用:Mass Addition: 并集运算Maximum: 取最大值Mean: 取平均值Minimum: 取最小值Truncate:Vector:矢量:Colour: 色彩Add Colours : 颜色相加AHSV : 创建一个HSV色彩通道(浮点色彩)ARGB : 创建一个RGB色彩通道ARGB Fractional : 创建一个浮点RGB色彩通道Blend Colours : 混合色彩(在两个颜色中取插值)Create Shader : 创建OpenGL着色器Multiply Colours: 色彩倍增Split AHSV: 将颜色分解为HSV通道Split ARGB: 将颜色分解为RGB通道Subtract Colours: 减去颜色通道Constants: 常数:Unit X : 与X轴平行的矢量Unit Y : 与Y轴平行的矢量Unit Z : 与Z轴平行的矢量XY Plane : XY平面XZ Plane : XZ平面YZ Plane : YZ平面Plane:平面:Align Plane : 调整平面(执行最小的旋转调整平面到矢量指向)Align Planes :Plane : 在XY平面上创建一个平面Plane 3Pt : 过三点创建一个平面Plane Components: 把平面分解到其组成元素Plane Normal: 创建平面法线Rotate Plane : 绕Z轴旋转平面Point:点:Closest Point: 查找最近点Decompose : 把点分解到其组成元素Distance : 计算连个点坐标间的欧几里得距离Grid Hexagonal : 在每六个点之间生成六边形网格Grid Rectangular : 在点之间生成矩形网格Plane CP: 查找离平面最近的点Point Cylindrical: 在柱面坐标上创建点(角度,半径,标高)Point List: 点列表(显示坐标点的顺序列表)Point Oriented: 通过UVW坐标创建点Point Polar: 在球面坐标上创建点Point XYZ: 通过XYZ坐标创建点Pull Point: 把点拉至几何体Text Tag: 在Rhino视图中创建文字标签Text Tag 3D: 在Rhino视图中创建三维文字标签Vector:矢量:Amplitude : 振幅(设置矢量的振幅)Angle : 角度(计算两个矢量间的夹角)Cross Product : 矢量叉积Decompose: 把矢量分解到其组成元素Dot Product: 矢量点积(计算连个矢量的数量积)Multiply: 执行矢量和标量的乘法运算Reverse: 矢量反向Summation: 求矢量的和Unit Vector:Vector 2Pt: 在两点间创建矢量Vector Length: 计算矢量的振幅Vector XYZ: 通过XYZ创建矢量Curve:曲线:Analysis:分析:Center: 查找圆或圆弧的圆点和半径Closed: 测试一条曲线是闭合的还是周期性的Curvature: 曲率(在指定的部位上评估一条曲线的曲率)Curvature Graph: 曲率图表(绘制Rhino的曲率图表)Curve CP: 在曲线上查找离指定点最近的点Curve Frame: 曲线骨架(在指定的部位上得到曲率骨架)Discontinuity: 不连续(沿曲线找出所有不连续点)End Points: 提取曲线端点Evaluate Curve: 评估曲线(在指定的部位上评估曲线)Evaluate Length: 评估长度(根据长度上一个特定的因子评估曲线,长度因子可以由曲线单元和法线单元提供,可以通过改变N参数来切换这两种模式)Explode: 炸开(把曲线分解到其组成元素)Horizontal Frame: 水平框架(在曲线上一个特定部位获取一个水平基准的框架)Length: 计算曲线长度Perp Frame: 垂直框架(在曲线上一个特定部位获取一个垂直基准的框架)Planer: 测试曲线平面性Division:分割:Curve Frames: 生成一系列等距曲线骨架Divide Curve: 等长度分割曲线Divide Distance: 用预设距离的点分割曲线Divide Length: 用预设长度分割曲线Hortzontal Frames: 产生一系列等位等高的曲线骨架Perp Frames: 用一系列垂直方向的等位骨架分割曲线Shatter: 按分段数打碎曲线Primitive:基本曲线:Arc: 圆弧(由基准面、半径、角度区间决定)Arc 3Pt: 过指定三点的圆弧Arc SED: SED圆弧(由起点、终点、切线矢量决定)BiArc: Bi曲线(由端点和切线决定)Circle : 圆(由指定平面和半径决定)Circle 3Pt: 过三个定点的圆Circle CNR: CNR圆(由圆心、旋转轴、半径决定)Ellipse : 椭圆(由指定平面和两个焦点决定)Line : 两点确定的线段Line SDL : SDL线段(由起点、正切方向、长度决定)Polygon : 多边形Rectangle: 矩形Spline:样条曲线:Bezier Span: 贝塞尔曲线Curve: 控制点曲线Curve On Surface: 创建一个在指定曲面上的内插点曲线Interpolate: 内插点曲线Iso Curve: ISO曲线(从曲线上提取的uv曲线)Kinky Curve: 混合式曲线(贝赛尔角点控制曲线)Poly Arc: 复合弧线(由圆弧和线段拼接而成)Poly Line: 复合线(连接各点组成的折线段)Sub Curve: 子曲线(从一条基本曲线上获得)Util:公用:Fillet: 接触点圆角Fillet Distance: 断点圆角Flip: 翻转曲线Join Curves: 结合曲线Offset: 偏移曲线Project: 投射曲线到复合曲面上(BRep曲面集合,即Rhino中的多重曲面)Surface:曲面:Analysis:分析:Box Components: 立方体元素(把立方体分解到其组成元素)Box Corners: 提取立方体角点BRep Area: 计算BRep(边界表示)的面积BRep Components: 把BRep(边界表示)分解到其组成元素BRep CP: 在BRep(边界表示)上查找离指定点最近的点BRep Volune: 计算BRep(边界表示)的体积BRep Wireframe: 提取BRep(边界表示)物体的线框Dimensions : 尺寸Evaluate Box: 在UVW空间评估一个立方体Evaluate Surface: 在UV坐标系上评估局部曲面特性Osc Circles: 圆上接触点(在指定的UV坐标系上计算出圆周上和曲面的交点)Principal Curvature: 助率(在指定的UV坐标系上计算出曲面的主曲率)Surface CP : 在曲面上查找离指定点最近的点Surface Curvature: 表面曲率在(指定的UV坐标系上计算出曲面的曲率)Trim Inclusion : 测试被修剪部分以内的UV点Freeform:自由曲面:4Point Surface: 由四点创建曲面Extrude: 沿矢量方向拉伸曲线或曲面Extrude Linear: 沿笔直路径拉伸曲线或曲面Extrude Point: 把曲面或曲线拉伸到指定点Loft: 沿界面曲线方向Offset: 定量偏移曲面Pipe: 沿轨道产生管状曲面Planar Srf: 从一系列边界曲线生成平坦面Rail Revolution: 通过绕轨道旋转生成曲面Revolution: 通过旋转生成曲面Sum Surface: 通过两条边界线生成曲面Surface From Point: 通过网格点生成nurbs曲面Sweep1 : 单轨扫描曲面Sweep2 : 双轨扫描曲面Primitive:基本曲面:Bounding Box: 边界立方体(边界范围由需要被包含的集合体决定)Box 2Pt: 空间上两点决定的立方体Box Plane: 创建与一个矩形所在平面相匹配的立方体Center Box: 在平面的中心点创建立方体Cone: 圆锥体Cylinder: 圆柱体Interval Box: 由基准面和边长创建一个立方体Plane Srf: 平面Sphere: 球体Util:公用:Brep Join: 结合Brep(复合曲面)Cap Holes: 封闭所有Brep形(复合曲面)的平面开口Copy Trim: 复制修剪数据(将UV修剪数据从一个曲面复制到另一个)Divide Surface: 产生UV网格点分割曲面Flip: 翻转曲面法线Isotrim: 等参修剪(在曲面上提取由等参线分割的子集)Retrim: 再修剪(基于其它曲面的三维修剪数据)Surface Frames: 曲面框架(在曲面表面生成UV框架网格)Untrim: 撤销修剪(移除曲面上的所有切割线)Mesh:网格面:Primitive:基本网格面:Mesh: 网格面Mesh Box: 网格面立方体Mesh Plane: 网格平面Mesh Quad: 四边形网格Mesh Sphere: 网格球体Mesh Triangle: 三角面网格Triangulation:三角细分关系:Mesh BRep: 创建一个与现有BRep几何体相似的网格面Mesh Surface: 网格表面Settings (Custom): 描绘自定义网格设置Settings (Quality): 描绘高质量光滑曲面设置Settings (Speed): 快速描绘不带抗锯齿的曲面设置Util:公用:Face Components: 分解一个单元网格面到其组成元素Mesh Components: 分解一个网格面到其组成元素Mesh Paint: 指派一个反复的色彩图案到网格面物体Intersect:交集:Boolean:布尔:Region Difference: 差集(适用于平面闭合曲线)Region Intersection: 交集(适用于平面闭合曲线)Region Union: 并集(适用于平面闭合曲线)Solid Difference: 实体差集(适用于BRep形)Solid Intersection: 实体交集(适用于BRep形)Solid Union: 实体并集(适用于BRep形)Mathematical:数学:BRep | Line: 处理复合曲面和线段的交集问题BRep | Plane: 处理复合曲面和平面的交集问题(计算剖面)Curve | Line: 处理曲线和线段的交集问题Curve | Plane: 处理曲线和平面的交集问题Line | Plane: 处理平面和线段的交集问题Plane | Plane: 处理平面和平面的交集问题(计算面面交线)Plane | Plane | Plane: 处理三个平面的交集问题Surface | Line: 处理曲面和线段的交集问题Physical:物理:BRep | BRep: 处理两个复合曲面的交集问题BRep | Curve: 处理复合曲面和曲线的交集问题Curve | Curve: 处理曲线和曲线的交集问题Surface | Curve: 处理曲面和曲线的交集问题Region:区域:Split with BRep: 用复合曲面分割曲线Split with BReps: 用多个符合曲面分割曲线Trim with BRep: 用复合曲面修剪曲线Trim with BReps: 用多个符合曲面修剪曲线Trim with Region: 用一个范围修剪曲线Trim with Regions: 用多个范围修剪曲线XForm:变换:Affine:仿射:Orient Direction: 指定方向Project: 将物体映射到平面Scale: 缩放物体(所有方向均匀缩放)Scale NU: 非均匀缩放物体Shear : 扭曲(按矢量扭曲方向扭曲变换物体)Shear Angle: 角度扭曲(按倾斜角度扭曲物体)Euclidian:欧几里得:Mirror: 镜像Move: 移动Orient: 转向(将几何体从一个坐标系重映射到另一个坐标系)Rotate: 旋转(在平面内旋转物体)Rotate Axis: 绕轴旋转物体Morph:变形:Blend Box: 在两个平面间建立立方体Box Morph: 扭曲立方体Camera Obscura: 针孔照相机Mirror Curve: 以自由曲线为基准镜像Mirror Surface: 以自由曲面为基准镜像Surface Box: 在曲面块上创建扭曲立方体Surface Morph: 将几何体变形到曲面UVW坐标系Twisted Box: 利用角点创建扭曲立方体。
Grasshopper基础⼊门案例11:40【设计师加油站】⽤Grasshopper在球体上⽣成随机肌理~5252 2019-12-1735:02【设计师加油站】参数化设计与数据可视化:Grasshopper+Ladybug做⽇照分析2506 2019-12-1716:08【设计师加油站】参数化设计:Voronoi泰森多边形的⼜⼀种玩法~ 泰森开裂墙~1559 2019-12-1731:22【设计师加油站】⽤Rhino+Grasshopper构建“⽆限⽴⽅体”324 2019-12-1810:11【设计师加油站】⽤Rhino+Grasshopper制作泰多边形拱顶结构1597 2019-12-1912:28【设计师加油站】⽤Rhino+Grasshopper制作⽴⾯上的倾斜和缩放图案500 2019-12-2212:07【设计师加油站】⽤Rhino+Grasshopper构建梦露⼤厦以及三⾓形表⽪1316 2019-12-2230:11【设计师加油站】Grasshopper 表⽪插件 Paneling tools 案例教程英⽂字幕1851 2019-12-2215:30【设计师加油站】⽤Rhino+Grasshopper182 2019-12-2208:57【设计师加油站】⽤Rhino+Grasshopper快速构建概念场馆模型277 2019-12-2214:12【设计师加油站】⽤Rhino+Grasshopper390 2019-12-2205:13【设计师加油站】有点数据可视化意味但不是数据可视化的 Grasshopper 随机着⾊圆形图案教程348 2019-12-2410:13【设计师加油站】如何使⽤⽤Grasshopper的向量场做优美弧线?702 2019-12-2309:06【设计师加油站】⽤Grasshopper曲线⼲扰制作参数化景观⼩品~1453 2019-12-2509:05【设计师加油站】在Grasshopper中结合曲线⼲扰与泰森多边形827 2019-12-2714:49【设计师加油站】⽤Rhino+Grasshopper构建参数化建筑⼩品915 2019-12-2916:11【设计师加油站】如何⽤Grasshopper设置Vray渲染动画541 2019-12-2935:18【设计师加油站】⽤Grasshopper构建迪拜AlBahar 塔表⽪1212 2019-12-3009:12【设计师加油站】⽤Rhino+Grasshopper295 2019-12-3118:34【设计师加油站】⽤Grasshopper构建参数化⾮线性表⽪~972 1-125:11【设计师加油站】⽤Grasshopper插件weavebird⽣成顺滑⼏何造型~695 1-123:05【设计师加油站】grasshopper插件 weavebird教学463 1-202:01【设计师加油站】Grasshopper实现tensegrity互承结构501 1-310:30【设计师加油站】⽤Grasshopper构建参数化波浪壳体并表⽪之1763 1-312:18【设计师加油站】Grasshopper⾼阶教程:Kaohsiung Stadium建模思路278 1-528:53【设计师加油站】houdini 参数化教程⽣长曲线英⽂字幕502 1-503:57【设计师加油站】Grasshopper基础⼊门案例:点⼲扰492 1-511:51【设计师加油站】⽤Rhino+Grasshopper 构建莫⽐乌斯壳体⼩场馆673 1-505:33【设计师加油站】Grasshopper中如何利线控制pattern形变283 1-505:09【设计师加油站】Grasshopper⼊门教程:随机⽣成不同⼤⼩的圆柱403 1-5默认排序倒序排序13:11【设计师加油站】Grasshopper初级教程:如何⽤metaball制作景⼩品607 1-514:12【设计师加油站】Grasshopper构建参数化塔楼957 1-804:50【设计师加油站】Grasshopper基础教程:random cut 3D429 1-804:48【设计师加油站】Grasshopper基础案例:random cut459 1-805:51【设计师加油站】Rhino+Grasshopper基础教程:构建参数化扭转塔楼269 1-806:59【设计师加油站】⽤Grasshopper做泰森多边形切割247 1-813:21【设计师加油站】Grasshopper三⾓化平⾯215 1-809:55【设计师加油站】Grasshopper初级教程: Triangulation Delaunay244 1-811:23【设计师加油站】Grasshopper⼊门教程:像素化塔楼478 1-919:22【设计师加油站】Grasshopper基础教程:如何绘制参数化pattern356 1-901:32【DLA】3D Diffusion-Limited Aggregation153 1-1026:34【设计师加油站】Grasshopper 基础教程:参数化华夫饼结构waffle structure1992 1-910:54【设计师加油站】Grasshopper初级教程:充⽓梁⽓动膜474 1-1116:54【设计师加油站】Grasshopper实⽤教程:构建参数化屋顶百叶窗概念547 1-1115:15【设计师加油站】Grasshopper 参数化中级案例:泰森多边形椅752 1-1119:54【设计师加油站】houdini 参数化设计教程: Growth Propagation In Houdini674 1-1214:11【设计师加油站】Grasshopper参数化设计基础教程:参数化长椅255 1-1416:48【设计师加油站】Grasshoppe参数化设计物理模拟插件kangaroo教学上:张拉结构1859 1-1215:28【设计师加油站】Grasshopper参数化设计中级教程:编织~1915 1-1519:20【设计师加油站】Grasshopper中级教程:⾮线性建筑表⽪制作~940 1-1516:38【设计师加油站】Grasshopper参数化设计教程:Hexagon and Circle Pattern Shade Pavilion 电池可下载哦~615 1-1515:34【设计师加油站】Grasshopper参数化设计基础教程:Paper Strips304 1-1500:58【交互装置】⽤Rhino和Grasshopper设计制作⼀个⽔母机器⼈833 2019-10-2508:09【数字智造】ZAHA HADID事务所设计的雕塑Thallus,KUKA机械臂FDM Extruder制造 / 那时候扎婶还在世609 2019-10-1801:33【智能建造】斯图加特建筑系使⽤KUKA机器⼈⽤碳纤维建造了⼀个不可思议的亭⼦!这些设计师的脑洞太⼤了!325 2019-10-1512:11【Grasshopper⼩案例】12min三个命令教你做⽹红亭⼦2384 2019-10-1406:57【数字智造】⽤KUKA 6轴机械臂建造的3D打印建筑数字制造已经这么强了吗 /英⽂字幕272 2019-10-1302:18:41【⾼阶参数化设计系列教程/ep3/全6集】C# 编程与Grasshopper插件开发275 2019-12-302:55:21【⾼阶参数化设计系列教程/ep2/全6集】C# 编程与Grasshopper插件开发228 2019-12-306:06:56【⾼阶参数化设计系列教程/ep1/全6集】C# 编程与Grasshopper插件开发/英语字幕717 2019-12-3默认排序倒序排序05:15:42【⾼阶参数化设计系列教程/ep4/全6集】C# 编程与Grasshopper插件开发489 2019-12-402:20:52【⾼阶参数化设计系列教程/ep5/全6集】C# 编程与Grasshopper插件开发188 2019-12-402:26:48【⾼阶参数化设计系列教程/ep6/全6集】C# 编程与Grasshopper插件开发 // 完结撒花~309 2019-12-406:17【设计师加油站】⽤Rhino+grasshopper构建螺旋双⼦楼1912 2019-12-818:42【设计师加油站】⽤Rhino+Grasshopper构建菱形结构原速视频957 2019-12-808:38【设计师加油站】⽤Rhino+Grasshopper参数化构建莫⽐乌斯结构原速视频2296 2019-12-805:04【设计师加油站】Grasshopper + Kangaroo制作参数化吊灯1053 2019-12-1010:57【设计师加油站】Grasshopper参数化⾮线性⽴⾯构建逻辑1628 2019-12-1001:52【参数化设计过程】⽤kangroo和galapogas遗传算法找最优解//grasshopper参数化设计究竟可以强到什么程度?1699 2019-12-1012:18【设计师加油站】⽤Rhino+Grasshopper 构建参数化长凳473 2019-12-1003:18【参数化设计】grasshopper城市设计之可达性设计672 2019-10-801:32【Grasshopper快速教程】2分钟向你展⽰如何⽤weavebird做六边形开孔787 2019-10-833:04【设计师充电站】⽤Kangroo 2.0 实现 Origami Folding 折纸算法 Grasshopper教程1431 2019-10-1614:11【参数化设计】⽤Grasshopper设计⼀个景观长凳~ 可以⽤laser cut⽅式加⼯哦~749 2019-11-513:44【参数化设计】看完视频记得下载电池哟~ grasshopper kangroo 教程⼿把⼿教你连电池9550 2019-11-230:58【参数化设计】如何对Kangroo模拟拓扑优化的结果进⾏数据可视化1076 2019-11-1606:15【参数化设计】Circle Packing Algorithms in Rhino + Grasshopper1194 2019-11-1640:27【参数化设计】⽤Grasshopper 构建⼀个参数化花瓶英⽂字幕691 2019-11-1715:22【设计师加油站】⽤Grasshopper参数化设计⽅法设计波浪纹理8424 2019-11-1708:56【设计师加油站】⽤rhino和grasshopper的 Metaball算法设计⼀个造不出来的塔楼/参数化设计2561 2019-11-1708:32【设计师加油站】⽤Rhino+Grasshopper构建参数化随机切割表⽪原速视频2318 2019-11-1918:30【设计师加油站】⽤Rhino+grasshopper构建参数化造型逻辑2526 2019-11-1904:36【设计师加油站】⽤Rhino+Grasshopper 实现曲线⼲扰 Curve Attractor 原速视频1390 2019-11-1902:06【参数化设计】Peregrine - grasshopper ⼏何优化插件373 2019-11-2902:32【参数化教程】探索Grasshopper 中 Metaball 的设计可能性1251 2019-11-2939:37【参数化设计】⼀起来连电池吧~ Grasshopper Drop Bubble + Kangaroo 2 实现circle packing原速视频637 2019-11-2511:13【设计师加油站】⽤Rhino+Grasshopper构建波浪结构构筑物3904 2019-12-801:40【作品剪影】参数化设计可以做什么?为什么设计师要学创意编程?看了这个视频就知道了 ep.01660 2019-12-1010:58【设计师加油站】⽤Rhino+Grasshopper模拟⽓流//vector field698 2019-12-1006:16【设计师加油站】⽤Rhino+Grasshopper构建泰森多边形1688 2019-12-854:22【Houdini教程】3D Gray-Scott Pattern程序化建模//原速视频,可以跟着⼀起操作哦~ 英⽂字幕382 2019-11-211:06【设计师加油站】Grasshopper参数化教程:Evolution Door (Tips )305 1-1800:32【设计师加油站】Grasshopper+Kangaroo 实现 tensegrity sphere518 1-1913:53【设计师加油站/电池可下载】Grasshopper参数化⾼级教程:使⽤millipede⽣成等值曲⾯ISOSURFACE 1044 1-1914:26【设计师加油站】Grasshopper基础教程:球形桁架结构建模思路~986 1-2412:42【设计师加油站】Grasshopper参数化设计教程:肌理墙1219 1-2421:28【设计师加油站】Grasshopper参数化设计教程:如何⽤galapagos电池实现遗传算法781 1-2726:42【设计师加油站】Grasshopper基础教程:创建参数化楼板和⽴柱系统408 1-2743:53【设计师加油站】Grasshopper参数化教程:参数化模块聚集626 1-2710:02【设计师加油站】Rhino+Grasshopper参数化教程:渐变泰森多边形表⽪5637 1-2742:42【设计师加油站】Grasshopper初级教程:参数化塔楼与⼏种表⽪~464 1-3115:09【设计师加油站】Grasshopper参数化设计教程:如何⽤pufferfish结合twisted box做⽴⾯表⽪建模729 1-3101:46【设计师加油站】参数化设计Grasshopper新插件:3D Graphic Statics - 三维图解静⼒学1944 2-112:21【设计师加油站】Grasshopper插件Wasp的example例⼦481 2-417:25【设计师加油站】Grasshopper中导⼊PDB数据进⾏蛋⽩质建模!367 2-602:51【设计师加油站】voxel编辑神器! Monolith286 2-919:30【设计师加油站】⽤Rhino+Grasshopper构建参数化多边形花瓶565 2-1102:21【设计师加油站】⽤Grasshopper控制vray渲染动画438 2-1202:36【设计师加油站】Grasshopper参数化⼩挑战:如何在多重曲⾯上⽣成泰森多边形纹理1015 2-1216:09【设计师加油站】参数化设计Grasshopper 实现穿孔表⾯1848 2-1214:39【设计师加油站】Rhino+Grasshopper 参数化设计案例:参数化椅⼦1039 2-1209:02【设计师加油站】Grasshopper 实现Jean Nouvels 的表⽪纹理设计816 2-1302:08【参数化设计】Grasshopper中表⾯噪波纹理的建⽴384 2-1400:45【设计师加油站/可下载】Grasshopper 数学建模实现3D Maurer Rose354 2-1703:06【设计师加油站】Grasshopper插件Parakeet实现吉尔伯特·镶嵌663 2-1801:14【设计师加油站】Grasshopper实现Venation Pattern 380 2-2102:12【设计师加油站】遗传算法在建筑设计中的应⽤——结构优化1384 2-2201:01【设计师加油站】Grasshopper插件parakeet教程:铺砖 D型379 2-2302:16【设计师加油站】Grasshopper插件Parakeet教程: Differential Growth505 2-2302:58【Houdini 数学建模过程】根据Frei Ottos wet wool threads ⽅程做设计719 2019-1。
Grasshopper教程第⼋期接下来的⽇⼦⾥,楼主会先⽤⼀个⽐较系统的实例带⼊,但楼主不会直接给出结果。
楼主打算分期讲解相关知识,等讲完,只要⼤家每期都认真学习体会,作业能独⽴完成,我相信,这个表⽪就能轻⽽易举的做出来了。
以下即为成果动图:gh控制曲线形态,⼀般都是通过点完成,只要控制点位置发⽣变化,曲线形态会发⽣相应的变更。
如图,set multiple points,⾃动转⼊rhino界⾯,和rhino设置多点命令⼀样画点,画完后右击确认,⾃动转⼊gh界⾯。
当然,也能在rhino界⾯设置好点,直接给gh调⽤。
利⽤点⽣成曲线,注意相应类别的数据类型才能⽣成结果。
楼主连接的是穿越点曲线,下⽅的是控制点曲线。
如果英语基础不错,可以调出全名称模式⽅便理解。
操作如下,楼主习惯单个字母显⽰。
移动点,曲线形态⾃动更新。
但显然,楼主不可能让⼤家做⼀系列这种曲线去实现这种扭曲⽔纹效果,这和⼿⼯差不多,⽽且很不好控制。
那楼主带⼤家就认识下这两个运算器。
这两个是对应互补的运算器,前者默认原点,后者可对点输出坐标点xyz数值。
⼀般反过来配合,如下图。
那楼主多做⼏根曲线,做相同的操作,就产⽣成了⼀系列的点,看似很乱,但其实是三组线性数据。
楼主给每组线性数据都给⼀个⾼度,这样关系就清晰了,⾼度,在top平⾯上当然是⽤y控制。
在gh界⾯双击,输⼊数据回车,你会发现⾃纵⽣成了number slider,⼗分⽅便。
接着,楼主想让竖向的三个对应点相连,但直接连是不⾏的,因为每组数据都是在{0;0}路径上的,故所有点也都是在⼀个路径上的,三组组合还是成了⼀组线性数据,⽣成的曲线当然就不是楼主想要的。
在这种情况下,我们就要把每组数据都做成树形数据,⽬的是让每个数据都有⼀个独⽴路径,这就⽤到了graft。
可以看出,相同路径的被集中到了⼀个路径上。
把上步骤完成就有了下⾯的结果,这样就对了。
调整均分段数,gh会反馈⽣成结果。
看来这种⽅法可以形成疏密效果,但充其量只能实现上述动图的⼀帧,⽽难以实现⽆规律的波动,⽽且曲线⽣硬,限制条件太多,那应该如何做呢,下回继续。