标签: grasshopper

  • Grasshopper-Tree运算器常见用法上课笔记之一

    Grasshopper-Tree运算器常见用法上课笔记之一

    Pasted image 20220924151738
    Clean Tree:清理数据,清理空、无效数据、无效的分支。

    • N端口清理空数据,默认Ture。
    • X端口清理无效数据,默认True。
    • E端口清理无效的分支。默认False。
    • T端口输入数据列表。

    Flatten Tree:拍平数据。

    Graft Tree:分组数据。

    Prune Tree:修剪树形数据,删除限定个数的分支。
    Pasted image 20220924152618

    • T端口输入数据列表。
    • N0端口输入分支个数的下限值。
    • N1端口输入分支个数的上限值。

    Simplify Tree:简化列表路径,删除多余路径值。

    Tree Statistics:输出树形数据的属性。
    Pasted image 20220924153147

    • P端口输出路径的列表。
    • L端口输出每个路径下列表数据个数。
    • C端口输出路径的个数。

    Trim Tree:修剪树形数据。
    Pasted image 20220924154335

    • D端口输入一个整数,D值表示清理的路径的层数,0维持树形路径的现状,输入1清理掉路径最右边的一个路径值,输入2清理掉路径最右边的两个路径值,以此类推,直到无路径值可以清理。

    Unflatten Tree:在不拍平数据的情况下,把数据(Items)移动到目标分支内。
    Pasted image 20220924160907

    • G端口输入目标分支路径。

    Entwine:收集数据到指定的路径下。
    Pasted image 20220924170057
    放大图标可以增加路径编号。

    Explode Tree:炸开树形数据,从树形数据分离所有分支到单个列表。
    Pasted image 20220924170634

    Flip Matrix:反转矩阵.
    Pasted image 20220924171526
    Pasted image 20220924171853

    Merge:合并数据。合并同一个路径分支的数据。
    Pasted image 20220924172424
    放大图标可增加导入的数据接口

  • 如何在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的系列教程,今天要学习的内容是:圆管和扫掠

    今天学习的内容也是犀牛上有对应的命令的,它们分别是圆管,单轨扫掠,双轨扫掠。这些命令在我们做曲面建模非常非常的常用,所以他们的意义都不用多说了

     

     

     

    Pipe:圆管命令

    输入曲线,输入半径生成圆管

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

     

    Pipe Variable:可定义大小的圆管

    这个命令和犀牛的圆管命令是一样的,犀牛的圆管是要输入开头的大小,结尾的大小和中间的大小

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

    1. 输入制作圆管的曲线
    2. 输入要改变口径大小的区间位置
    3. 输入口径的大小

    注意事项:

    1. 使用这个命令必须先计算曲线的区间长度,关于曲线的区间,我在以前的课程已经讲解过了,大家可以去看之前的文章查阅。
    2. 区间的个数和口径大小的个数要一致,这个才能符合Grasshoper的数据匹配原则

     

    计算机生成了可选文字: arametere 0 0.00  0 42  66 0  00.26  079 0  1.00  www.3dscg.com

    不同管径大小的圆管效果图

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

    Sweep1:单轨扫掠

    这个命令和犀牛的命令是一样的,首先输入单轨的曲线,接着输入单轨的截面,截面可以单个也可以多个

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

    下图是单轨扫掠的效果

    Sweep2:双轨扫掠

    这个运算器和犀牛的命令基本上也是一致,但是他们两者有个略微的差别,就是在犀牛中双轨的曲线,我们是不用在意曲线的方向的,但是在grasshopper当中,我们一定要严格遵守它的曲线方向规则,如果两条轨道的曲线方向是相反的,那我们会得到一个扭曲的曲面。

     

    计算机生成了可选文字: @dscgcom

    双轨扫掠的效果请看下图

    [elementor-template id=”7418″]

  • Grasshopper的系列教程-曲线的划分

    Grasshopper的系列教程-曲线的划分

    今天我们继续Grasshopper的系列教程,今天的教程呢,是关于曲线的划分的,曲线划分在我们做参数化设计的时候,是一个经常用的一个方法,我们为了在曲线上做一些更多的变化,那我们经常会把曲线做一些均等的划分或者不均等的划分,那么以下的这些运算器就非常非常的重要了,好了,那我们来开始今天的学习吧。

    备注,:下图的截图中的曲线都被称为【被等分的曲线】,其实这个说法有点问题,应该称之为【被划分的曲线】,由此更正一下。

    Contour:

    在曲线上做等高线的等分

    计算机生成了可选文字: 被等分的曲线 直线方向. 0 0 WWW.3dscg℃0

    Contour (ex)r:

    在曲线上做等高线的等分,这个运算器和上一个的区别就在于它等分的工具的是用平面的,而且这个平面是和这个曲线是垂直关系,我们在下图中可以看到这个平面是xz平面,曲线所在的平面是xy平面。

    在下图中我们还看到O端口还要输入等高线的高差,等高线的高差值我们一般用系列运算器,当然我们如果要做出不等高的分割点呢,我们也可以随机输入一些值。

    计算机生成了可选文字: 被等分的曲线 0囗P www.3dscg℃m

    Dash Patternr:拆分曲线

    这个运算器的用法一般就用于把曲线拆分成虚线,这个我们在做建筑外墙玻璃要做出间隔的效果时候还是非常好用的

    而且它的参数也非常简单,只要在pt端口输入间隔值就可以了

    计算机生成了可选文字: 被等分的曲线 290 《W讥'、3cg℃0m

    下图我们看到等分之后的效果

    Divide Curve:等分曲线,

    这个运算器就是最普通的等分曲线,那是我们非常常用的一个运算器之一,N的端口只要输入等份的数量就可以了。

    计算机生成了可选文字: 一被等分的曲线

    Divide distancer:按曲线上点的距离等分

    这个运算器就是在曲线上布上一些点,然后按这个点的距离来等分曲线,当然这些点不用我们自己去指定,而是通过距离参数指定就行了,所以我们在D端口输入2,然后就被输出等分的点了,

    计算机生成了可选文字: 被等分的曲线 www.3dscg℃om 0

    Divide lenght:按长度来等分曲线

    这个运算器和上一个有点不同,上一个呢是两个点之间的距离来等分的,这个呢,是按曲线的长度来等分的,那这究竟有什么区别呢?

    我们可以想象一下,如果一条曲线它九曲十八弯,曲线上两个点的距离,如果是相等的,那经历的曲线的长度也有可能不等,那你说我们是用两个点之间的距离来指来等分长度了,还是说按照长度来等分长度,这个就是我们根据项目来选择方法的问题了。

    计算机生成了可选文字: 被等分的曲线 、'3小cg℃om

    Shatter:拆分曲线

    上面的一系列等分曲线的方法都是在曲线的基础上生成点,但是并没有真正的把曲线拆分,那这个命令刚好就是可以真正的把曲线断开的一个运算器,用它输出后的曲线的都是一节一节的。

    首先我们把曲线的区间先计算出来,然后把区间进行划分,最后输入t端口的就可以了,划分的运算器,我们一般用Range,

    计算机生成了可选文字: 等分的曲线

    [elementor-template id=”7418″]

  • grasshopper系列教程-划分曲线

    grasshopper系列教程-划分曲线

    今天我们继续Grasshopper的系列教程,今天的教程呢,是关于曲线的划分的,曲线划分在我们做参数化设计的时候,是一个经常用的一个方法,我们为了在曲线上做一些更多的变化,那我们经常会把曲线做一些均等的划分或者不均等的划分,那么以下的这些运算器就非常非常的重要了,好了,那我们来开始今天的学习吧。

    备注,:下图的截图中的曲线都被称为【被等分的曲线】,其实这个说法有点问题,应该称之为【被划分的曲线】,由此更正一下。

    Contour:

    在曲线上做等高线的等分

    计算机生成了可选文字: 被等分的曲线 直线方向. 0 0 WWW.3dscg℃0

    Contour (ex)r:

    在曲线上做等高线的等分,这个运算器和上一个的区别就在于它等分的工具的是用平面的,而且这个平面是和这个曲线是垂直关系,我们在下图中可以看到这个平面是xz平面,曲线所在的平面是xy平面。

    在下图中我们还看到O端口还要输入等高线的高差,等高线的高差值我们一般用系列运算器,当然我们如果要做出不等高的分割点呢,我们也可以随机输入一些值。

    计算机生成了可选文字: 被等分的曲线 0囗P www.3dscg℃m

    Dash Patternr:拆分曲线

    这个运算器的用法一般就用于把曲线拆分成虚线,这个我们在做建筑外墙玻璃要做出间隔的效果时候还是非常好用的

    而且它的参数也非常简单,只要在pt端口输入间隔值就可以了

    计算机生成了可选文字: 被等分的曲线 290 《W讥'、3cg℃0m

    下图我们看到等分之后的效果

    Divide Curve:等分曲线,

    这个运算器就是最普通的等分曲线,那是我们非常常用的一个运算器之一,N的端口只要输入等份的数量就可以了。

    计算机生成了可选文字: 一被等分的曲线

    Divide distancer:按曲线上点的距离等分

    这个运算器就是在曲线上布上一些点,然后按这个点的距离来等分曲线,当然这些点不用我们自己去指定,而是通过距离参数指定就行了,所以我们在D端口输入2,然后就被输出等分的点了,

    计算机生成了可选文字: 被等分的曲线 www.3dscg℃om 0

    Divide lenght:按长度来等分曲线

    这个运算器和上一个有点不同,上一个呢是两个点之间的距离来等分的,这个呢,是按曲线的长度来等分的,那这究竟有什么区别呢?

    我们可以想象一下,如果一条曲线它九曲十八弯,曲线上两个点的距离,如果是相等的,那经历的曲线的长度也有可能不等,那你说我们是用两个点之间的距离来指来等分长度了,还是说按照长度来等分长度,这个就是我们根据项目来选择方法的问题了。

    计算机生成了可选文字: 被等分的曲线 、'3小cg℃om

    Shatter:拆分曲线

    上面的一系列等分曲线的方法都是在曲线的基础上生成点,但是并没有真正的把曲线拆分,那这个命令刚好就是可以真正的把曲线断开的一个运算器,用它输出后的曲线的都是一节一节的。

    首先我们把曲线的区间先计算出来,然后把区间进行划分,最后输入t端口的就可以了,划分的运算器,我们一般用Range,

    计算机生成了可选文字: 等分的曲线

    [elementor-template id=”7418″]

  • grasshopper系列教程-曲线的长度和区间

    grasshopper系列教程-曲线的长度和区间

    我们这节课来讲grasshopper,曲线的长度和曲线的区间的应用。

    曲线的长度和取向区间的在我们做参数化设计的时候是非常必要的。因为我们在做设计的时候呢,经常要计算出一条曲线的长度。哼!之后呢,再给曲线长度做一些参数上的变化。

    本节课的重点呢就是介绍曲线的长度和区间分别是怎么获取的。

    cw,e Domain  Length  Length  point In Curve  Evaluate Length  Length Domain  Segnent Lengths  point in Curv  www.3dscg.com

    Curye domain:曲线的区间

    这个运算器就是计算曲线的区间。

    曲线的区间一般是从零开始计算起的。

    但是大家这里要注意的是曲线的区间不等于曲线的长度。

    区间是指曲线在某一个数值范围内,它是一个范围值,而不是一个长度值。

    所以大家在使用草蜢做计算的时候,要注意一下这个参数的意义。

    IL8€_€37L8  www.3dscg.com

    Evaluate Length:评估曲线上某一点的位置点。

    所谓评估取向上某一个位置点呢,就是说:给曲线定义一个值。这个值,但必须是在零到一之间的任意数值。那么这个运算器就会输出这个数值在曲线上的位置点。

    就如下图所示,我们看到L端口输入我是0.54这个数字,右边的P端口会输出一个点,那么这个点会在平面图上我们是可以看到的。

    054 0

    Length:计算并输出曲线的长度。

    这个就是真正的输出曲线的长度了。

    这个应该没什么好说的。

    我们平时在做参数化设计的时候都会用到的。

    Length Domain:计算并输出曲线的区间。

    这个电池呢,可以在D端口输入一个区间。那么在L端口呢就输出这个区间的长度。

    这里要注意哦!右边的端口输出还是长度不是区间。

    0 28_14SS22  www.3dscg.com

    Length Parameter:在曲线中指定一个点,并计算出这个点两侧的曲线段的长度。

    这个电池的作用是在P端口输入一个区间值。然后右侧的端口呢,它是输出这个区间值两侧的曲线的长度。

    所以大家要注意这个运算器使用的时候啊!左边是输入区间值,右边输出是长度值。

    我们也可以理解为这个运算器就是用于区间值和长度之间的转换。

    那我们在实际应用中呢,就是用于截断曲线的

    就如下面的图片中我们可以看到,假如我们这条曲线是1000的区间,我们给他输入一个493的值,那么就可以得到493前面那一段曲线的长度和493后面那一段的长度了。

    0 283_477439  o €04_228227  www.3dscg.com

    Segment lengths:计算并输出指定区间段的曲线的长度。

    这个电池的作用其实就是输出区间值和长度值。

    计算机生成了可选文字: 5》 Ld 0887.7OS 00《飞86.E37《@ 00TO1186·E371E www.3dsc .C0m

    [elementor-template id=”7418″]

  • grasshopper系列教程文章-分析曲线

    grasshopper系列教程文章-分析曲线

    image.png

    这里一大类的运算器的功能都是在计算曲线上的点,

    输出的数据大都是点、平面这类数据

    Curvature: 计算曲线在指定点的曲率参数。

    Curve frame:获取曲线在指定点的曲率框架(平面)

    Derivatives:计算曲线在指定点的导数

    Evaluate Curve:获取沿曲线水平对齐的框架

    Horizontal frame: 求解垂直(零扭曲)框架

    Perp Frame:求和曲线方向垂直的平面

    Point on curve:找到曲线上的一个点

    Torsion:找到曲线上的一个点

    image.png

    [elementor-template id=”7418″]
  • Grasshopper系列教程-分析曲线的相关运算器(可用于曲线干扰)

    Grasshopper系列教程-分析曲线的相关运算器(可用于曲线干扰)

    我们今天接着学习Grasshopper的分析曲线的相关运算器,这部分大致功能就是用于判断曲线的和其他类型的相互位置关系的。比如点到曲线的距离,判断曲线是否闭合,判断几个物体到曲线的最近距离,计算两条曲线的最近点等等。

    这些功能为我们后续做参数化设计提供很多判断的依据。

    image.png

    Closed:判断曲线是否闭合

    在下周中我们看到两条曲线,一条是闭合的,一个是不闭合的。

    www.  sc  g.cam

    把曲线输入到这个运算器中,false表示曲线是不闭合的,有开口的。ture表示曲线是闭合的,周期性的。

    不 闭 合 曲 线  闭 合 曲 线  0 F 彐 1  0 三 1 , 0

    Curve Closest Point:计算点到线的距离或计算点到线的投影点。

    在下图当中我们可以看到一个点和一条线。

    www.3dscg.cam

    通过这个运算器之后。

    P端口输出点到线的投影点。

    T端口输出点在线的位置值。

    D端口输出点到线的距离。

    这个运算器是我们在grasshopper中常常用于做曲线干扰的运算。

    曲线干扰的原理其实就是计算多个点到曲线的距离,通过距离的变化形成各种有趣的纹理。

    410.scs432, -  E7_3S42E4, C)  c 26.684733

    Curve Proximity: 计算两条线之间的最近点。

    在下图中我们看到两条曲线。

    中国计算最经典的运算器以后我们可以得到最近点a和b。

    D端口说出a点和b点的距离。

    _ 477233,  0 3_es3679

    Discontinuity:计算并输出曲线中不连续的点。

    在下图中我们看到一条多段线。它有两个端点和三个转折点。

    多段线经过这个运算器之后会输出5个不连续点。

    T端口输出点在线的位置值。

    计算机生成了可选文字: 《一33.二下7232 131.冫2E233.0} 《一1二.454s0e 273. 3110.28《7冫2 《:45.350s20

    Planar:判断曲线是否是平面曲线

    下图中我们绘制了一个矩形。

    www.  sc  @.com

    我们知道矩形它是一个平面图形,所以在p端口它输出ture。

    如果是空间曲线,P端口输出的是false

    ot-c_sı,  www.3dscg.com

    Curvature Graph: 曲线的梳子图。

    通过梳子图判断曲线的顺滑程度。

    D端口输入梳子图的段数

    S端口输入梳子图的大小

    100 ф  о 120  ,3dsc .согп

    Curve Nearest Object:计算并判断距离曲线最近的物体。

    在下图中我们准备了一条曲线和两个位置不同的点。

    www. dscg  .cam

    经过下图运算器计算之后,我们可以得到a点是距离曲线最近的点。

    计算机生成了可选文字: 气V.C00〕

    Curve Side: 判断物体是在曲线的左边还是右边

    在下图中我们准备了一条曲线,在曲线的下面绘制了一个点。

    www.  sc  @.com

    经过这个运算器计算之后,我们判断到这个点是在曲线的右边。

    Extremes:计算出曲线的最高点和最低点。

    在下图中我们准备了一条平面的曲线和曲线所在平面垂直的平面(就是下图中的那个点)。

    www.  sc  @.com

    经过运算器计算之后,我们得到曲线的最高点和最低点。

    .3dsc .cor-

    [elementor-template id=”7418″]

  • Grasshopper系列教程-曲线上点在获取

    Grasshopper系列教程-曲线上点在获取

    我们这节课来学习grasshopper曲线控制的内容。

    曲线控制也是grasshopper里面最重要的内容之一。

    Control Points Deconstruct Arc End Points Control Polygon Deconstuct Rectangle POI ygon Center •m•.w.3dscg.com

    Control Points:显示曲线的控制点。

    在下图的算法中p端口输出曲线的控制点。

    Control Polygon:输出曲线的控制点。

    0 sc

    Deconstruct Arc:分解弧线的各类参数。

    B端口输出弧形的圆心平面。

    R端口输出弧形的半径。

    A端口输出弧形的弧度区间。

    Deconstuct Rectangle:分解矩形的各项参数。

    B端口输出矩形的平面坐标。

    X和y端口输出矩形的长度区间。

    利用这个特性,我们可以利用它把空间上的矩形移动到原点上。

    End Points:获取曲线的起始点和终点。

    S端口是起点。

    E端口是终点。

    Polygon Center:输出多边形的中心点。

    [elementor-template id=”7418″]