作者: LinkLi

  • Grasshopper完全参数化制作弧面凹缝罐子第一节

    Grasshopper完全参数化制作弧面凹缝罐子第一节

    ⬆️算法文件,需要高清在文章底部的下方下载。详细的视频在制作当中
    [b2player src=”https://ali.3dscg.com/directlink/2/01video/02Gh/001弧形凹缝罐子/弧面凹缝罐子001-0000019895959.mp4″ poster=””]

    ⬆️制作思路讲解

    Grasshopper参数化罐子所有章节汇总

    [b2_insert_post id=”13234″]

    [b2_insert_post id=”13239″]

    [b2_insert_post id=”13245″]

    ⬆️以上三节请购买在线看视频,总时长大约30分钟,喜欢的同学支持一下吧

    视频列表

    1. 罐子主体形状  10:36秒
    2. 罐子外表皮算法 9:30秒
    3. 整体造型 10:44秒

    零刻学堂
    主讲:Link

    弧面凹缝罐子创作思路
    1.创建罐子内壁形体,罐子由上下面接合而成
    2.平移罐子顶部和底部的平面曲线到外侧,得到罐子的壁厚
    3.绘制罐子外壁上半部分的凹面轮廓
    4.用双轨制作表面
    5.把创建的所有的面拼接成体块

    重点、难点:

    • 贝塞尔曲线运算器
    • 几种相交运算
    • 双轨扫掠
    • 网格线建立曲面
    • 数据类型的转换

    贝塞尔曲线四个条件:
    1.曲线起点A
    2.曲线起点的向量
    3.曲线终点B
    4.曲线终点的向量

    几种相交运算器:

    • 物体和平面相交
    • 曲线和平面相交

    在Grasshopper中的双轨扫掠注意事项:参与双轨扫掠的曲线的方向必须一致,否则生成的曲面会出现扭曲的情况

    数据类型的转换:在Grasshopper中数据类型匹配是至关重要的,在这个案例也不例外,在运算的过程中出现多次转换的情况,情况比较复杂。不过大家可以记住一些诀窍:数据连线【实线对实线】、【虚线对虚线】,尽量简化数据路径(右键选择Simplify)。

     

     

  • 【视频】用Grasshopper如何清理完全重叠的直线

    【视频】用Grasshopper如何清理完全重叠的直线

    [content_hide]

    [b2player src=”https://ali.3dscg.com/directlink/2/01video/02Gh/000Grasshopper算法/(字幕)如何清除完全重复的直线段_x264.mp4″ poster=””]

    [/content_hide]

    ⬆️视频教程

    主讲:Link

    课程:如何清除完全重合的直线段

    主要原理:

    1. 计算外部点到直线上的起点、中间点、末端点的距离
    2. 把计算出来的距离计算总和
    3. 清除总和中相同的数值
    4. 最后从这些数值中筛选最后的结果

  • 【视频】01-Grasshopper的界面

    【视频】01-Grasshopper的界面

    [b2player src=”https://ali.3dscg.com/directlink/2/01video/02Gh/000grasshopper工具大全/00草蜢前言(字幕)_batch995565.mp4″ poster=””]

    [b2player src=”https://ali.3dscg.com/directlink/2/01video/02Gh/000grasshopper工具大全/0-0Grasshopper的界面(字幕)_batch556555665.mp4″ poster=””]
    image-20220209090403747

    界面构成

    1. 菜单
    2. 运算器
    3. 文件切换
    4. 品示模式切换
    5. 打开和保存文件
    6. 操作区

    菜单功能分别是

    • File:文件菜单,文件打开、保存、导出相关操作
    • Edit :编辑菜单,复制、粘贴、群组等操作,一般用快捷键操作
    • view :视图菜单,界面导航、界面显示样式的控制
    • Display :显示菜单,设定视图的显示,模型的显示模式的设定
    • Solution :工具,关于运算器的显示隐藏、开启关闭的操作
    • Help:帮助菜单,查看Grasshopper的版本或版权信息

    运算器区块的详细看这个文章

    [b2_insert_post id=”7271″]

    Grasshopper系列文章-01-Grasshopper运算器概述 | 零刻学堂 (3dscg.com)

  • Bifocals-一个可以提示运算器在Grasshopper插件

    Bifocals-一个可以提示运算器在Grasshopper插件

     

    Bifocals这个插件安装之后可以用来提示放置在操作区在电池在名称,如下图所示。

    这个插件比较适合初学Grasshopper在同学们

    Bifocals在安装和使用也非常简单

    使用在方法:

    安装插件后重启犀牛软件,然后打开Grasshopper,在Grasshopper首页Params–眼镜图标,吧图标拉到操作区之后保持Active在状态下,就能显示运算器在名称了,如果觉得名称显示太乱在话,双击Avtive可以关闭名称的显示。

     

     

  • 如何设置Rhino不自动更新和联网

    如何设置Rhino不自动更新和联网

    只要按照下方的操作就能有个避免Rhino的自动更新和联网验证

    首先在任务栏的搜索那里搜索到【高级防火墙】程序,如下图

    image-20210902150958380

    打开Windows的高级防火墙后按照下面步骤新建防火墙规则

    rhino-gengxin-jinwang_01

    这个步骤是找到和指定rhino的程序

    rhino-gengxin-jinwang_02

    操作这里选择【阻止连接】,这个就是阻断rhino去连接网络

    rhino-gengxin-jinwang_03

    给入站规则加上可辨认的名称,这里就命名为Rhino了,点击完成便完成入站规则

    rhino-gengxin-jinwang_04

    除了入站规则外,我们还要对犀牛的出站规则也做相应的设定,它和入站规则的设置方法差不多,这里不做阐述。

    rhino-gengxin-jinwang_05

  • 在Revit使用Grasshopper和Rhino的插件,能让revit实现真正的参数化

    在Revit使用Grasshopper和Rhino的插件,能让revit实现真正的参数化

    RhinoInside.Revit这个插件终于是出正式版了,版本号为RhinoInside.Revit_1.0.7894.17525,有个这个实力插件的加持,Revit可以真正的实现参数化,原本Revit自带的Dynamo插件也可以参数化,但是Dynamo经过多个版本迭代也并非那么好用(可能是我不会用),但是我可以用10年Grasshopper的老用户啊,Grasshopper各种算法的都是烂熟于心的啊。

    这个插件是试用于建立桥梁模型,建立桥梁模型真的是非常的方便,再也不用一个一个参数去输入了,用Grasshopper控制参数再来制作桥梁和规划模型真的是省了不少时间。

    今天也把这个插件分享各位。

    但是要注意的是这个插件目前支持Revit2018 3.1补丁及以上和Rhino7.8及以上的版本,不是指定版本一定要升级,否则用不了。

    revit3.1补丁可以在下方的地址下载

  • 斐波那契数列原理解析与Grasshopper插件应用

    斐波那契数列原理解析与Grasshopper插件应用

    本文原文出自斐波那契数列插件的作者的文档,中文为谷歌翻译,翻译难免会出错,有问题可以下面评论区讨论

    PhylloMachine 是一组脚本/用户对象,用于 Grasshopper 使用一些 叶序的特性。 基本思想是具有叶序比例的网格具有由两个描述的拓扑 斐波那契数及其拓扑(面顶点索引、寄生螺旋、循环和 拓扑邻居)由简单的数列描述,无需几何计算。 由于这些,它可以参数化地建模植物器官,如树枝、树叶或 花瓣,具有非常自然的效果。 PhylloMachine 仍在开发中,它是用 VisualBasic 编写的,并且是开源的。 我鼓励那些有兴趣进一步开发这个插件的人与我联系,特别是如果他们 有使用 L-Systems 的经验。

    作者的邮箱: dga_3@hotmail.co

    介绍

    叶序是自然界中描述植物间空间分布的一类模式 器官。 每个物种都有自己的形式模式,可能是最大化的进化解决方案 资源和成本最小化。 Phyllotaxis(来自古希腊语,phýllon“叶”和táxis“排列”)在植物学和 生物数学作为茎上叶子的排列,可以优化 叶子相对于其他叶子的位置,以最大限度地晒太阳,最大限度地减少干扰 它们之间。 有几种类型的叶序,但这里让我们只关注螺旋叶序,发散角137.5度。 它是自然界中最常见的类型,并密切相关 对于 phi 数,0,618 ^ 2 * 360 = 137.5 称为黄金角,正如我们将看到的还有斐波那契数列: 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144..[content_hide]

    image-20210617103114265[/content_hide]

    在坐标中,我们可以表示一个集合 从中心旋转 137.5 度的点和 在每次迭代时增加半径和角度。

    image-20210617103218587

    视觉通过接近形成的螺旋形状点之间与斐波那契数列相连数并且是网状拓扑的基础千叶机。

    image-20210617103307115

    在曲线上应用这种点的分布,我们得到基本的网格点集合称为 PhylloPoints。在下图中,显示的是球体而不是点,以便于查看 在两个方向形成的螺旋,顺时针和逆时针。这些螺旋 以 Paraschies 的名义而闻名。[content_hide]

    image-20210617103401021[/content_hide]

    网状拓扑 – 寄生数

    PhylloMachine使用phyllotaxis的一些属性将曲线包裹在四边形网格上,添加 器官,如花瓣、叶子或树枝。 PhylloMachine 的所有组件都旨在 使用四顶点面,因此不鼓励使用三角形网格。 当网格由以下定义时被认为是 PhylloMesh:

    • 可重新映射到圆柱坐标的点,
    • 定义网格拓扑的寄生数。

    Parastichy numbers 是斐波那契数列的一对数字 (a, b) – 连续祖先 或后代。可以使用其他数字,例如其他类型的卢卡斯系列phyllotaxis,但在 PhylloMachine 中并非如此。 这两个数字分别描述了顺时针和 逆时针方向。在这种情况下,螺旋是指由以下公式形成的假想曲线 在叶子、树枝或花瓣的循环之间连接某些植物器官。[content_hide]

    image-20210617103550748[/content_hide]

    在这张图片中,我们看到了寄生数的两种组合。 上图显示 PN = (3, 5),下图PN = (21, 34)。 这些数字对于每种植物来说都是独一无二的, 并且与每个周期的元素数量相关联,而一个周期是一整圈 所有螺旋。 一个循环的大小为 a + b,在上图 8 上,下图 55。越大 每个周期的元素数,寄生数越大

    此外,寄生数对应于最接近第一个点的索引 列表的点。 在下图中,从左到右,我们有: 在一组 phyllopoints 中(用你可以在这里看到的定义制作),两个最接近的点 索引 0 处的点是数字 3 和 5,它们对应于寄生数字。 这些 两个数字与 a) 点数,b) 半径 c) 曲线的长度有关。 保持变量 b 和 c 不变并增加点数,会有一段时间 当 PN 为 (5, 8) 时,如果我们继续 (8, 13)

    image-20210617103743677

    位于寄生数 (3, 5) 上方的下一个点是 8(即 3 + 5)。 因此我们 可以说,要从 phyllopoints 形成 phyllomesh 的面,它认为: 设 A、B、C 和 D 是每个点的迭代函数中每个顶点的索引(除了 最后 a + b 个元素,在本例中为 3 + 5,即对于除最后 8 个之外的所有点),我们有:

    • A = 指数
    • B = 指数 + PN (a)
    • C = 指数 + PN (a) + PN (b)
    • D = 指数 + PN (b)

    网格面(A、B、C、D) 在我们的例子中 PN = (3, 5) 将是:

    • 面 (0) = (0, 3, 8, 5)
    • 面 (1) = (1, 4, 9, 6)
    • 面 (2) = (2, 5, 10, 7

    如果我们想翻转面的方向来反转法向量,一个简单的方法 必须反转寄生数,即 PN = (b, a)。

    在下图中,我们看到了如何根据上述解释管理点数 每个面的顶点索引。 Merge 组件有一个包含四个点的列表(而不是四个 索引如上)在每个分支内。 那么包含少于 4 个的分支 元素(只有这样 Construct Mesh 组件不会因缺少点而返回错误)是 移除。[content_hide]

    image-20210617103938058[/content_hide]

    这是 PhylloMesh 的基本拓扑,但寄生数也决定了,没有 进行几何计算、拓扑邻居、循环和螺旋寄生。

    组件

    我们有四组组件:

    • 第一组包括所有组件 PhylloMeshes;
    • 第二组对分支等器官起作用, 叶子和花瓣;
    • 第三组有修改的组件;
    • 第四组包含实用程序。

    PhylloBranch

    包裹一条曲线以形成具有叶序图案的网格,并将一端焊接到网格面。

    PhylloMachine

    包裹曲线以形成具有叶序图案的网格的主要组件。 也返回每个面的顶点索引,8个相邻索引,螺旋寄生索引
    PN(a)、PN(b)和PN(a)+PN(b),以及周期索引

    PhylloSurface

    通过圆柱重映射在表面上创建 PhylloMesh

    PhylloMesh

    使用 PhylloMesh 的裸边缘覆盖末端,形成具有叶序的网格

    BezierCurve

    从网格面快速创建四个点的贝塞尔曲线。 它用于塑造树枝、花瓣和树叶的形状

    Branch

    挤出一个网格面,其中包含几个控制其大小的细分。 它可用于创建分支、茎或种子。

    Petal

    从网格面和引导曲线创建花瓣或叶子

    ExplodeMesh

    将网格的面作为单个网格返回

    MoveFac

    移动和缩放网格面

    OffsetMesh

    根据距离或距离列表挤压网格以形成实体。

    JoinMes

    将多个网格连接并组合成一个

    MoveVerte

    移动网格顶点

    Ifibonacc

    使用斐波那契数列的索引返回相应的数字或连续的对 数字。

    RndRange

    在域内创建一系列随机值。

    RatioBo

    用作视觉参考的框以帮助按比例调整设计参数

    逻辑叶轮机

    以下是使用这些组件创建植物的基本步骤:

    1. PhylloMesh(允许它的任何组件)生成词干或主要形式。
    2. 爆炸面。
    3. 选择面。 根据功能划分面孔列表(例如:花瓣、叶子、其余部分)。
    4. 创建形状曲线。 我们使用选定的面为花瓣或叶子创建曲线形状。
    5. 创建器官。 我们从选定的面和它们的面制作花瓣、叶子和树枝 形状曲线。
    6. 我们加入所有网格。 花瓣、树叶和所有其他未使用的面。
    7. 平滑焊接网。 最好使用 Weaverbird 的 Catmull-Clark Subdivision。 在 ExampleFiles 文件夹中,您将找到几个示例和详细教程 (1DaisyTutorial)。

    下次更新

    我为那些想要继续发展的人留下了几条路可以走千叶机。任何人都可以自由分享新功能、进行改进或更改, 只要满足许可条件。 特别是我还没有解决的两个问题:

    • PhylloMesh 分支。 将几条曲线同时包裹在一个 phyllomesh 中,这样我们就可以创建 来自一系列相交曲线的相互连接的分支。类似于 ExoWireframe, 但带有叶状体。
    • L 系统。 为此,PhylloMachine 组件已被编码为一个类。你可以加 插件的所有组件都作为此类的函数,并将它们与 L-System 一起使用。 然后系统将使用它自己的语法(或使用通常的语法)来建模 通过简单的规则处理。它应该是一个不同于 经典的 L 系统,因为它不仅应该生成线条,还应该生成 phyllo-wrap 和 植物的其他器官。

    我鼓励任何对这种生成建模有经验的人感兴趣 联系我。结果简直太棒了

    image-20210617105746907

  • Relative Item究竟有什么用,怎么用-Grasshopper运算器教程

    Relative Item究竟有什么用,怎么用-Grasshopper运算器教程

    在Grasshopper中有这么一个运算器-Relative Item ,好多人都不知道这个运算器是怎么用的,它有什么作用的
    今天我来给大家科普一下它的简单用法。
    归纳一下就是这么一个作用

    找到下一个物体的相关位置

    这听起来可能难以理解

    我今天用一个简单例子给大家说明一下

    比如有以下的点的矩阵,矩阵的坐标点(实际上是点在列表中的路径,而不是真实的坐标点)已经标识出来了

    image-20210610120812136

    标识点做坐标的算法看下图

    image-20210610120932650

    知道了点在列表中的路径,接下来就利用Relative寻找相关点,如下图所示,我把数据连接到Relative Item的T端口,而O端口输入文字“{1;1}”,这个{1;1}代表是{0;0}下一个点的相关点,我们也可以理解为{0;0}下一个点指向{1;1},同理{3;3}下一个点直线{4;4},{2;1}下一个点会指向{3;2}

    image-20210610121242406

    所以把所有点连接之后就会出现这样的情况,不知道大家看出来了规律了没有。

    image-20210610121647809

    如果把O值改变了会出现什么情况呢?这个留给大家自己探索了,你也可以把答案写在评论区内。

    好了今天的Grasshopper的运算器杂谈就分享到这里了

  • ANEMONE 0.4 Grasshopper上的循环插件

    ANEMONE 0.4 Grasshopper上的循环插件

    ANEMONE是Grasshopper上循环插件,能在Grasshopper实现数据的循环计算,我个人觉得要比Snake插件要好用,有空的话我再来写写Anemoe的小小教程吧,最近有时工程上的事情有点忙,没有时间打理网站了。
    安装的教程在这里大家可以看看

    [b2_insert_post id=”12408″]

  • grasshopper插件安装教程

    grasshopper插件安装教程

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

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

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

    Grasshopper插件安装[/content_hide]

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

    grasshopper插件安装

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