工程师热爱效率, 毫无疑问. 当我们注意到重复, 我们通常会寻找一种自动化的方法. 作为工程自动化的领先提供商之一, 多年来,我们一直在关注创建日益高效的流程的需求.

参数设计领域中最受欢迎的工具之一是Grasshopper 🦗 …Rhino3d 🦏 插入 – 是的, 动物的名字似乎是这里的共同主题! 我们认为这是一个非常强大的模型生成工具, 这就是为什么我们通过以下方式与 Grasshopper 进行了功能齐全的集成 SkyCiv – 蚱蜢插件.

Rhino是一款功能强大的3D建模软件,可为其所有建模实体提供文档完善的API. 蚱hopper是一种视觉编程语言, 含义, 你可以丢各种 “成分” 进入具有特定任务的视口. 然后,将输出从一个组件馈送到另一组件. 用编程术语, 蚱hopper组件是功能. 有数百种内置组件可以帮助您入门,但是更好的是,您可以使用Python创建自己的组件, C#, VB, 甚至更简单, 现有组件的组合.

因此,扣上安全扣,让我们创建相当于“ Hello World”脚本的结构工程师; 门框棚!

我们将其分为两部分:

  1. 如何使用Grasshopper创建门框棚的几何形状;
  2. 将几何体转换为SkyCiv结构以进行分析.

到阶段结束 1, 您将具有一个参数化脚本,该脚本可生成门框棚的基本几何形状,如下所示.

蚱Rh犀牛UI

数字 1. 一个简单的Grasshopper脚本来创建门户框架棚的几何形状.

讲解



第一件事, 前往 Rhino3d下载页面 并下载并安装适合您计算机的软件包. 在撰写本文时, 我们正在使用Rhino7.

现在打开Rhino并从中创建一个新项目。 “标准模板” 部分. 可能是 大物件 – 脚 要么 大物件 – 仪表, 我将使用仪表,但这在第一阶段不会有任何不同. 现在您应该将视口划分为 4 不同的看法, 如果您希望使用单一视图, 只需单击透视图.

下一个, 发射蚱hopper, 可以在标准菜单中找到它,也可以在命令字段中键入“ Grasshopper”.

打开蚱hopper

数字 2. 发射蚱hopper.

现在我们可以开始向Grasshopper视图添加组件. 这可以通过几种方式完成, 如果您知道组件的名称, 只需点按空格键或在Grasshopper视图中的任何位置双击, 输入名称, 然后按Enter. 或者, 您可以单击菜单中的组件,然后单击要放置它的位置.

让我们快速切线以熟悉UI.

首先添加数字滑块: 空格键→“数字滑块”→输入. 这会将一个带有下限“ 0”的滑块放到视图中, 上限为“ 1”, 步长为“ 0.001”. 您可以双击滑块来调整这些参数,但是有一种更快的方法! 空格键→“ 0..30.00”→输入. 这将创建一个下限为“ 0.00”的滑块, 上限为“ 30.00”, 步长为“ 0.01” (因为我们使用了“ 30.00”). 0.00..30 会达到相同的结果.

蚱slider滑块

数字 3. 蚱slider滑块.

另一个好的工具是 控制板 工具, 这实际上是一个便笺,将显示组件的输出值. 面板的快捷方式是单引号和其内容. 所以现在点击 空格键→“→输入 你将有一个小组. 将数字滑块的输出节点拖放到面板的输入节点上. 现在,您将在滑动面板时在面板中看到其更新值!

下一个, 添加 构造点 成分. 您将看到一个点出现在Rhino窗口中的坐标系原点处. 将滑块值连接到一个或多个点坐标 (直接或通过面板) 您将可以使用滑块移动该点, 很棒的权利? 您可以通过按住Ctrl键断开电线 (或Cmd) 并重新绘制它们. 通过单击Grasshopper中的组件(例如构造点), 在犀牛中它将显示为绿色.

尝试用直线连接两个点; 暗示: 看看 曲线→原始 菜单. 没有线, 这就像您现在应该尝试的东西.

用蚱hopper创建节点

数字 4. 在Grasshopper中绘制Rhino3d中的点.

现在,您已经熟悉了基础知识, 让我们开始创建棚子! 参照 数字 1, 我们将通过有色容器定义的每个组进行工作, 从最左边的紫色组开始.

紫色

这通常是我从脚本开始的地方, 它类似于代码顶部的变量声明. 考虑一下您想使用和需要的参数, 定义几何. 继续创建您的滑块, 练习捷径!

  1. 建筑宽度 – 门户的各列之间的距离.
  2. 屋檐高度 – 列的高度.
  3. 岭高 – 高度 从地面 到山脊.
  4. 步 – 每个门户之间的距离.
  5. 门户网站 – 门户数量, 注意这是一个整数: 空间→ 1..20 →输入.

注意: 如果您想组织脚本 (强烈推荐), 您可以拖动并选择多个项目, 然后右键单击空白区域并将其分组. 显示“控件”的组件称为“乱涂乱画”. 然后,您可以右键单击绿色组并根据需要对其进行自定义.

橙子

在橙色组中, 我们正在根据输入来计算我们将需要的其他变量. 这也是介绍 中继. 双击电线以添加继电器, 它们有助于保持一切井井有条,并允许分支. 再次双击继电器将其删除.

第一个组成部分是 表达 允许我们在其中插入一些变量的组件, 编写数学表达式并传递结果 ([R) 出去. 如果放大关闭, 一个 按钮将出现,以向组件添加或删除更多变量. 许多其他组件也是如此. 双击组件并输入 x / 2 进入表达领域. 现在我们有一半的跨度,这将有助于我们绘制山脊线.

在第二个橙色组, 我们正在使用 系列 组件以创建一系列数字,这将为我们每个门户网站提供一个Y坐标. 系列组件的输入是 “开始” (小号), “一步的大小” (ñ), 和 “数数” (C). 如果我们不提供 小号 有输入, 它将默认为 0. 通过在上方挥动鼠标来确认 小号. 将您的步进滑块连接到N,将“门户”滑块连接到C. 挥动该系列的输出,或者只是将其插入可信任面板以查看输出值. 现在我们有了一系列的Y位置,但是…Grasshopper只是将这些值解释为数字, 不是Y座标. 将此数字数组转换为Y向量,方法是将它们发送到 Y单元 成分, 空格键→Y→输入. 现在看一下输出,您将看到数字已被处理为坐标. 请注意,串联组件的输出线较粗. 这表明输出中有多个值 (数组) 不只是一个值.

蚱hopper系列组件

数字 5. 创建一系列坐标.

蓝色的

在蓝组, 我们正在绘制构成第一个门户的点; 每个门户网站五分. 加五 构造点 我们之前使用过的组件,并尝试连接正确的输入. 用 数字 1 供您参考,以防卡住. 您可以右键单击该组件以为其添加标签. 您可能需要关闭 绘制图标 显示组件名称而不是图标. 可以在 展示 菜单 (窗口显示菜单, 不是蚱hopper显示菜单!).

现在您应该能够使用滑块来调整门户网站节点.

粉色的

到现在为止,您可能会意识到, 有数百万种方法可以实现我们的目标,而许多方法可能更有效. 我们走的路, 我认为这是一个不错的选择,因为它将各种几何元素保留在单独的组件中,并引入了一些不同的工具,因此我们最终不会使用一个输出较大的组件, 混乱的物品.

进入 移动 成分. 该组件需要 几何学 (G) 和 运动 (Ť). 足够聪明地知道,如果您提供多个 运动 价值观, 它应该迭代它们,并将它们每个都应用到geometry参数. 连接每个入口点以及一系列Y向量,您会在一行中看到多个入口. 调整您的“步骤和门户”滑块以查看更改.

请注意,如果您单击蓝色区域中的点组件之一,, 你会在犀牛中看到一点, 然后点击 移动 它所馈送的组件,您将在相同的位置看到一个绿点,再加上其他位置. 这个很重要! 每个组成部分是 不是 调整上一个组件, 相当, 它正在创建一个副本, 然后调整那个副本. 现在我们有几排点, 拖动并突出显示蓝色组的所有组件, 在空白处单击鼠标右键, 然后选择 预览关闭, 我们不再需要在Rhino中看到这些. 当您单击鼠标中键时,也可以在圆形菜单中找到这些选项。. 如果您使用的是魔术鼠标,则可以使用以下菜单 选项+空格键.

绿色的

在绿色部分, 我们用一个 折线. 这将得到一个有序的顶点列表 (V) 画一条线穿过他们. 其他参数 (C) 指示该行是否应该关闭, 即将终点连接到第一个. 您可能会连接一个 布尔切换 但是我们不会. 连接列基座的两条线可能是多余的,因此您可以将其省略.

黄色的

在这个部分, 我们正在创建列线和r线. 这里使用了一些复杂的魔术,所以如果您第一次不了解它,请不要太在意自己.

从头开始, 的 折线 组件需要点的有序列表才能连接. 对于第一列, 我们在地面上有一排点,在屋檐上有一排点. 我们需要将这些数据分为两点, 每列的起点, 和终点. 我们可以使用 合并 组件将这两行点放在一起, 因此将两行放入 合并 组件,然后放入 折线 成分, 您会注意到创建了一个Z形. 这是因为自然, 的 合并 组件会将两个列表合并为一个, 更大的清单. 挥舞着 合并 输入,您将看到类似“数据 1 作为 ”, 这意味着我们需要在运行合并之前将点数组隐蔽到树中. 右键单击D1和D2 合并 组件,然后为每个组件单击“嫁接”, 一个 ⬆️ 将出现在每个输入旁边. 现在这些列看起来还不错...但是为什么? 插上 合并 输出到面板中,然后在打开和关闭滑动嫁接时查看区别.

蚱data数据树

数字 6. 合并树数据.

没有潜水得太深, “接枝” 将列出项目清单并将其放入自己的组中, 每个组然后可以包含一个列表. 所以当我们尝试合并两棵树时, 每个都包含相同数量的组, 它将合并具有相同索引的组.

继续并连接柱子和r子. 这里, 你好棚!

总结思想

现在,我们已经看到了用户友好且功能强大的Grasshopper是如何实现的. 稍加练习, 您将可以在半小时内创建这样的脚本. 想象一下,如果您分配一些体面的资源的可能性. 寻找零件 2 我们将在哪里使用 SkyCiv Grasshopper 插件 在棚子上运行结构分析.