标签: grasshopper教程

  • Sets集合面板之数据列表的运算

    Sets集合面板之数据列表的运算

    Set:集合面板
    作用:关于数据列表的运算,列表运算一般包含数据的增、删、改、查。
    List:列表的运算
    Sequence:数列的运算
    Sets:集合的运算
    Text:字符的运算
    Tree:数据结构的运算

    List:只要是数据的集合都可以称之为列表(List),一个数据或多个数据都可以成为列表。

    Insert Items:插入列表,给原始列表插入数据,L端口是原始列表,I要插入的数据,i插入数据位置。
    Pasted image 20220903113204
    Item Index:获取数列的序号
    Pasted image 20220903114207

    List Item:获取指定序号(Index)的数据。
    i端口输入要获取的数据的序号,可以输入一个或多个。
    放大视窗会可以增加减少输出端口。
    Pasted image 20220903114629

    List Length:获取列表的长度(数据的个数)。
    Pasted image 20220903115126

    Partition List:按数量拆分数据列表
    S端口输入拆分后的列表数据的数量,S端口可以输入一个整数或者多个整数。
    Pasted image 20220903115443
    输入多个整数的情况,下图当中S端口输入2和3两个数字,那么输出的列表为2个数字和3个数字的列表集合。
    Pasted image 20220903115759

    Replace Item:替换数据。
    L端口原始数据,I要替换的数据,i替换数据的位置
    Pasted image 20220903120143

    Reverse List:翻转数据的排序。
    快捷方式:在数据端口点击右键,选择Reverse命令
    Pasted image 20220903120639

    Shift List:偏移数据序号。
    S端口输入偏移的位数,比如输入1,这数据往后偏移1位,输入5,这数据往后偏移5位。
    Pasted image 20220903121017
    W端口控制是否删除偏移后的数据,默认不删除,W端口输入False则删除数据。
    Pasted image 20220903121351
    Sort List:按升降顺序排列数据。
    下图当中打乱数据的列表经过Sort List运算器后又重新升序排列顺序了。
    Pasted image 20220903121740

    Split List:分割列表
    i端口输入整数,按整数的数值分割成A和B两个新的列表。
    Pasted image 20220903122224

    Sub List:获取子列表
    D端口输入子列表的区间值。
    Pasted image 20220903122450

    Dispath:数据分流,根据布尔值的规则分为A和B两个数列。
    P端口输入分流的规则,规则内Ture数据分流到A列表,规则内False数据分流到B列表。
    默认参数内分流规则的数据为Ture和False,P端口可以任意的添加布尔值。
    Pasted image 20220903143702

    Null Item:判断空数据,Null代表空数据类型。
    N端口输出False表示没有空数据,输出Ture表示列表有空的数据。
    Pasted image 20220903144500
    在下图当中,圆形曲面上做等分点,由于有些等分点是落在圆形外面,圆形的点没有实际坐标,所以输出的点坐标有好多个空数据
    Pasted image 20220903144811
    Pick‘ n’ Choose:拾取选择数据
    Pasted image 20220903150653

    Replace Nulls:替换空数据
    如下图所示
    Pasted image 20220903151604
    Weave:混合数据
    P端口输入混合列表的序号,默认值为0,1
    0,1端口输入混合的列表数据,放大视窗可以增加输入端口,输入端口的序号和P端口的数据要一致。
    Pasted image 20220903152159

  • grasshopper插件安装教程

    grasshopper插件安装教程

    一般来说安装grasshopper插件有以下的3种方式

    第一种是插件官方给出的安装包,这种插件安装包双击就可以了非常简单,比如我们最常用的lunch box就是这种安装模式。

    第2种方式是直接拷贝插件的文件夹到components folder那里,components folder的文件夹大家可以看下面的动图在这里可就可以打开了,这里大家要注意的是一定要复制整个文件夹到这里。[content_hide]

    Grasshopper插件安装[/content_hide]

    第3种方式是插件本身是一个单文件,这种形式的插件也是把它复制到components folder这个文件夹内,但是由于文件格式的限制大家一定要注意有个参数要勾选,操作的方法是对的插件的文件点击右键选择属性弹出的属性面板去掉下图这个勾选就可以了。

    grasshopper插件安装

    这样我们就完成了Grasshopper的插件安装,安装好插件之后重启rhino,这样就能看到相应的Grasshopper插件

  • 如何在Grasshopper中获取曲面的结构线

    我们如何在grasshopper中快速的抽离曲面的结构线,这个小算法非常的简单也非常实用,大家可以看下面动图的演示。

    这里要注意的是一定要把曲面重新自定义参数(对曲面点击右键选择Reparameterize参数),因为把曲面重新定义参数之后会把面阈值从映射为0到1之间,这样我们就可以通过下面的滑杆来调整了。

    本人在多年以前还写过随机获取结构线的文章,现在看来这个算法有点过时了,有空的话要吧那个文章重新“翻新”一下。

    grasshopper随机在曲面上抽离结构线算法

    [content_hide]

    CzHol5i5W6

    [/content_hide]

  • 如何在Grasshopper中找到犀牛中选择的线段的编号

    如何在Grasshopper中找到犀牛中选择的线段的编号

     

    大家好,我是Link今天给大家带来一个小算法,这个算法在我们平时做设计的时候或许能够用上,这个grasshopper的算法的使用场景可能是这样子的:

    我们这里一个线的集合,里面包含了很多线段,而我们要对当中的某几个线条进行操作,那我们要把这些线的编号找出来。

    如下图所示,我们要找到线条是0356这4条线,当然我们现在还不知道他们的编号,但是通过以下的算法我们可以很轻易的知道他们的编号,这样就方便我们以后对这些曲线的编辑了

    image-20210516093724346

    好的我们现在来看看这个grasshopper算法是怎么实现的

    首先我们要选择我们要操作的曲线,我们现在是做简单的演示所以就用犀牛直接选择了,但如果我们在做设计的时候需要选择大量的曲线的时候可以用算法去实现。

    image-20210516094312076

    依照上图的grasshopper的算法,大体的思路是这样子的

    \1. 首先选择所有的曲线,计算出所有曲线的中点,分解中点的坐标值,然后把所有的坐标值进行累加,那么我们会得到一个中点坐标累加值。

    \2. 第2个要选择我们要操作的曲线,比如0356号曲线,我们对曲线也进行上一步的操作,同样也获得了中心点的累加值。

    \3. 然后把两串中心点的累加值进行比较,我们就可以获得第二步选择的曲线的中心点的序号。

    \4. 这个需要也相应对应了原曲线的列表序列号

    下面的动图操作应该是很简单的,不知道大家学会了吗,如果有什么不懂的话可以在下面的评论区留言。

    uF9QS3JU4n

    这个算用到方法的和上一篇文章类似,大家可以通过这里查阅上一篇文章的内容

    怎么使用Grasshopper去删除CAD重复的线段

  • grasshopper系列教程-布尔运算

    grasshopper系列教程-布尔运算

    今天我们来学习Grasshopper的系列教程,今天要学习的内容是:布尔运算

    布尔运算通常用于实体之间的运算,Rhino软件的布尔运算的原则是曲面必须完全封闭,否则布尔运算有可能会出错。

    Boundary volume:从边界创建闭合的曲面物体

    这个运算器要求输入的物体是能组合成封闭的体块,这些输入的物体可以是几个未拼接的面片,也可以是完整的体块。

    计算机生成了可选文字: 囤80s 0Cloged “、3dscgc创11

    在下图中,我们看到一个方块物体被切了一个角,角的那个位置补了一个三角面,那这个三角面和方块组成的一个封闭的体块。

    计算机生成了可选文字: .3dscg

    Solid difference:布尔运算差集

    熟悉犀牛的同学应该都知道了,这个运算器就是做ab物体之间的减法,a物体会减掉他们共同相交的部分

    计算机生成了可选文字: w.nm_3dscg.com

    在下图当中方块减掉了球体和它相交的共有部分,绿色部分就是最后的结果

    计算机生成了可选文字:

    Solid intersection:布尔运算交集

    计算出两个物体之间相交的部分

    计算机生成了可选文字: 3dscg

    下图是方块和圆球体的相交部分

    计算机生成了可选文字:

    Solid union:布尔运算并集

    两个物体合并生成一个物体

    计算机生成了可选文字: wyw.@dscg.com

    方块和球体合并

    计算机生成了可选文字:

    Split Brep:布尔运算分割

    B物体被C物体分割为多个部分,被分开之后的物体保持封闭的体块

    计算机生成了可选文字: O open Brep 1 Open

    分割物体之后的效果

    计算机生成了可选文字:

    Split Brep Multiple:B物体被多个C物体分割,这个运算器是上一个的复数形式。

    计算机生成了可选文字:

    计算机生成了可选文字: 3dscg

    Trim solid:体块修剪

    修剪和分割是有区别的:

    1. 分割之后物体依然还是实体
    2. 而修剪则不是,物体变为空心的了

    计算机生成了可选文字: nnw/_3dscg.com

    被修剪后的效果,大家可以在下图中看到这个方块,现在已经不是闭合的了。

    计算机生成了可选文字:

    [elementor-template id=”7418″]

  • grasshopper系列教程-网格之间的相交

    grasshopper系列教程-网格之间的相交

    今天我们来学习Grasshopper的系列教程,今天要学习的内容是:网格之间的相交

    1592975690.png

    Mesh| Curve:网格曲面和曲线的相交

    Grasshopper运算器右边边的参数分别代表的是:

    1. 网格曲面和曲线的相交点
    2. 相交点所在的曲面网格面片的序列号,这个端口可以让我们知道相交点在网格曲面的位置

    计算机生成了可选文字: 3dscg com

    相交点的效果

    计算机生成了可选文字:

    Mesh| Mesh:网格和网格相交

    最终输入相交后的多段线

    计算机生成了可选文字: '.Wm_3dscg.com

    计算机生成了可选文字:

    [elementor-template id=”7418″]

  • grasshopper系列教程-射线和物体的相交

    grasshopper系列教程-射线和物体的相交

    今天我们来学习Grasshopper的系列教程,今天要学习的内容是:射线和物体的相交

    本节课的射线是指已知一个往不同方向发出生成的直线

     

     

     

    IsoVist:射线和物体相交

    Grasshopper运算器左边的参数分别代表的是:

    1. 射线的中心点
    2. 射线发出的方向的数量
    3. 射线的长度
    4. 和射线计算碰撞的物体

    Grasshopper运算器左边的参数分别代表的是:

    1. 输出射线的终点,在射线的方向上如果碰到的物体,那么这个终点就会落在物体上
    2. 射线的起点和终点的距离
    3. 判断射线是否和物体相交,如果是相交的,那么这个值输出0,不相交输出-1。

    计算机生成了可选文字: nn.AM-3dscg.com

    射线和物体碰撞的效果

    计算机生成了可选文字: cgCO

    IsoVistRay:计算射线和物体相交,这个运算器和上一个基本类似,大家参考下面的算法来理解这个运算器。

     

    计算机生成了可选文字: Cgcom

    [elementor-template id=”7418″]

  • grasshopper系列教程-Meta球

    grasshopper系列教程-Meta球

    今天我们来学习Grasshopper的系列教程,今天要学习的内容是:Meta球

    Meta球是用两个或者两个以上的点作为曲线的圆心,在圆的外侧设定一个点作为引力因子,使其能对圆形产生因引力引起的变化。

    从另外一个角度去理解,我们也可以理解为两个小水滴挨得很近,他们也会互相吸引,那这两个小水滴没有完全融合之后的效果,就是Mate球了

    img

    MetaBall:Mate球

    Grasshopper运算器左边的参数分别代表的是:

    \1. 输入Mate球的圆心点,圆心点的数量要求是两个以上的。

    \2. 输入Mate球参考平面

    \3. 输入外部的引力因子

    \4. 生成的曲线的采样值,如果参数等于0,输出的就是平滑的曲线,如果是大于0,输入多段线,这个数值就充当多段线每一个线段的长度。

    img

    img

    MetaBall(t):通过曲线的曲率控制的Mate球

    和上一个运算器的差别就是曲线是通过曲率值控制了,不是通过采样值控制的

    img

    img

    MetaBall(t) Cus tom:更多参数的Mate球

    这个可以单独控制每一个Mate球的圆心的引力大小,这里要注意的就是引力值的个数要和圆心点数量一致,否则会报错。

    img

    img

    [stag_sidebar id=”gh-article”]

    [elementor-template id=”7418″]

  • grasshopper系列教程-分解网格

    grasshopper系列教程-分解网格

    今天我们来学习Grasshopper的系列教程,今天要学习的内容是:分解网格

    我们今天进入嘲讽课程的第7个篇章—-网格的命令

    网格是软件建模的另一大体系,他和犀牛本身的曲面建模是一个相对面,犀牛凭借的强大的曲面、曲线编辑功能和快速的曲面生成命令,在曲面的建模是独树一帜的,虽然它这种建模造型能力异常的强大,但是也有他的短板,那就是对于局部细微的连接控制,他还是有些薄弱的,而这个环节正是网格建模的强项之一。

    从今天开始,我们会通过十几个小节来全面的了解在Grasshopper中是如何创建网格和编辑网格的。而这些课程对于我们学习网格建模建立坚实的基础。

    好了,那我们开始今天的课程吧。

    Deconstruct face:分解网格面

    把网格面分解为最小单位,网格面的最小单位就是点了。这个运算器的使用非常简单,只要在左边的端口输入网格面就可以了,而这个网格面的获取,我们在下一个运算器会学习到。

    计算机生成了可选文字: www3dscg℃om

    Deconstruct Mesh:分解网格,

    把一个网格分解成网格面或网格点等元素。

    Grasshopper运算器右边边的参数分别代表的是:

    • 输出网格点
    • 输出网格面
    • 输出网格点的顶点颜色
    • 出网格点的法线方向

    计算机生成了可选文字: www3dscg℃om

    Face Normals:面的法向方向

    计算机生成了可选文字: w、NW.3d还0℃om

    Mesh edges:面的边缘

    [elementor-template id=”7418″]

  • grasshopper系列教程-选择边缘

    grasshopper系列教程-选择边缘

    今天我们来学习Grasshopper的系列教程,今天要学习的内容是:选择边缘

    今天要讲解这类运算器比较少用,他们都是用于选择曲面或者多重曲面的边缘的。

    选择曲面边缘,他们的原理大都是利用点或者直线的方向来进行判断。

     

     

     

    Convex edges:选择外凸或内凹的边缘

    计算机生成了可选文字: o www.3dscg.com

     

    Edges from Directions:根据参考方向选择边缘

    这一个运算器是让我们输入一条直线,然后据这条直线经过的方向来获取曲面的边缘。

    Grasshopper运算器左边的参数分别代表的是:

    1. 要选择边缘的多重曲面
    2. 周围选择边缘的参照直线
    3. 判断角度融差值的开关,如果开启了,上面的a参数是有效的。
    4. 角度融差值的度数,这个参数的作用是用来提高直线的选择范围的。

    计算机生成了可选文字: DR otl www.3dscg.com

    实现选择的效果,请看下图

    Edges from Faces:根据点所在的曲面选择边缘

    这个运算器的作用就是在曲面上绘制一个点,然后选取曲面的边缘。

    计算机生成了可选文字: 10;0) C Curve 2 Curve 2 Curve 4 Curve

     

    Edges from length:根据长度选择边缘

    根据设定长度的区间来获取曲面的边缘

    Grasshopper运算器左边的参数分别代表的是:

    1. 要获取边缘的曲面
    2. 边缘长度的最小值
    3. 边缘长度的最大值

    Grasshopper运算器右边边的参数分别代表的是:

    1. 输出获取的边缘
    2. 输出获取的边缘的序列号

    计算机生成了可选文字: 012 www.3dscg.com

     

    Edges from Linearity:根据线性度选择边缘

    所谓的曲线的线性度,我们可以理解为曲率的大小,根据曲率的大小来选择曲线。

    计算机生成了可选文字: wwQ.3dscg.com

     

    Edges from points:根据点选择边缘

    根据点选择边缘,是通过设定点的空间大小,点的空间是一个球体,这个球体会有可能和边缘相交,那么有相交的线就是我们选择到的边缘了.

    计算机生成了可选文字: 0 容差值 O》1narCurve '讥'w·3dscg℃om

     

    Fillet edge:边缘倒圆角

    与边缘距离 滚球 路径间距

    边缘倒圆角,相信用过心的同学应该都很熟悉了,咱们就来看一下参数吧。

    Grasshopper运算器左边的参数分别代表的是:

    1. 要倒圆角的多重曲面
    2. 倒圆角的边缘的类型,它的类型有三种,倒圆角,倒斜角,混接圆角。
    3. 路径造型,它的类型有三种,与边缘距离、 滚球、 路径间距
    4. 边缘的序列编号
    5. 倒圆角的半径

     

    计算机生成了可选文字: 050 www.3dscg.c8m

    倒圆角的效果如下,倒圆角的效果类型还是比较丰富的,本文只是讲解参数的意义,至于其他类型的参数,各位同学可以自己尝试,通过自己的尝试,把知识变为自己所得的。

    计算机生成了可选文字: ,幫3ds0

    [elementor-template id=”7418″]