Grasshopper Brep 指南
我们都遇到过这种情况:浏览 Grasshopper 的组件选项卡时,我们遇到了这个术语:Brep。Grasshopper 中的 Brep 到底是什么?
Grasshopper 是一个著名的图形算法编辑器,可与 Rhino 的 3D 建模工具无缝集成。对于建筑师、工程师和设计师来说,它是一个改变游戏规则的工具。在 Grasshopper 的众多组件中,Brep 占有特殊的地位。但 Brep 到底是什么,为什么它在 Grasshopper 中如此重要?无论您是建筑师、工程师还是设计师,了解 Brep 都是必不可少的。
简而言之,Brep 是 Rhino 中 Polysurfaces 的替身。但它还有更多内容。它是关于掌握它如何运作以及如何在 Grasshopper 中有效地使用它。
我们将介绍所有 Brep 基本知识,并了解 Grasshopper 中的 5 个基本 Brep 组件,所以请继续关注!
让我们深入了解!
1、什么是 Brep?
Brep 是边界表示的缩写,是 3D 建模和 CAD 应用程序用来表示 3D 对象的方法,通过定义其体积的极限来表达3D对象。
想象一下 3D 对象作为实体。Brep 关注包围该实体的边界。与其他可能使用多边形或顶点的表示不同,Brep 由其表面之间的数学关系定义。这种数学精度可以更准确地表示复杂的形状和轮廓。
在 Rhino 和 Grasshopper 的背景下,你可以将 Brep 视为与“多面体”相同。
1.1 Brep 的历史
边界表示起源于 20 世纪 70 年代初。它是 3D 建模的一项突破,提供了一种灵活而详细的方式来表示复杂的形状。多年来,Brep 不断发展,并成为现代 3D 建模系统的标准。
1.2 CAD 行业中的 Brep
Brep 不仅仅是 Grasshopper 的东西;它在 CAD 行业中是一件大事。许多商业 CAD 系统(例如 Parasolid 和 ACIS)都是基于 Brep 的。这些系统被世界各地的专业人士用于从产品设计到建筑建模等各种应用。
2、Grasshopper 中 Brep 的构建块
Brep 就像一块拼布;它由几块拼凑在一起形成一个整体的碎片组成。这些碎片是 Brep 的拓扑组件,包括面、边和顶点。面是曲面的有界部分,边是曲线的有界部分,顶点位于某个点。这些元素以定义 3D 对象边界的方式连接在一起。
就像多边形表面一样,Brep 可以分为两种类型:开放和封闭。
开放的 Brep 至少有一个暴露的边,而封闭的 Brep 则完全封闭。想象一下一个开放的盒子和一个封闭的盒子。
Brep 的类型会影响你可以在 Rhino 和 Grasshopper 中执行的几何操作类型。
在 Grasshopper 中,完全封闭的 3D 对象或 Brep 也称为“实体”。布尔运算 - Rhino 中封闭 3D 对象的减法、并集或交集 - Grasshopper 将它们称为“实体”运算。
3、使用 Brep 的好处与坏处
Brep 的数学精度是它们的超能力。这种精度使设计师和工程师能够创建其设计的“完美”表示。尤其是在制造应用或 3D 打印中,准确性至关重要,Brep 非常有价值。
3.1 Brep vs. 网格:建模技术之战
现在,你可能想知道 Brep 与网格有何不同。网格由多边形组成,而 Brep 使用数学表示来定义表面。
想象一下放大弯曲的表面。使用网格,表面开始看起来块状,但使用 Brep,无论放大多少,表面都保持光滑。这使得 Breps 成为表示具有曲面的复杂 3D 对象的理想选择。
3.2 另一面:Brep 建模的局限性
然而,每个超级英雄都有自己的弱点。对于 Breps 来说,它就是繁重的文件格式和可视化所需的处理能力。Brep 文件存储了大量元数据,这会占用大量磁盘空间。此外,渲染或动画 Brep 对象可能会耗费大量资源。
此外,Brep 可能不是有机或自然物体的最佳选择。精确的数学公式可能使重新创建更流畅的形状变得具有挑战性。
4、Grasshopper 中必不可少的 Brep 组件
Brep 不仅仅是一个理论概念;它是我们在 Rhino 和 Grasshopper 中建模的核心。在 Grasshopper 中,你可以使用 Breps 执行一系列几何操作。一些组件会产生 Breps(例如挤压表面),其他组件则对 Breps 本身进行操作。
4.1 Grasshopper 中的 Brep 数据类型
在 Grasshopper 中,Breps 有自己的数据类型。这意味着某些对象(如框)只能通过 Brep 数据容器引用。Brep 容器组件位于“Params”组件选项卡的 “Geometry”下。
以下是 Grasshopper 中的五个必不可少的 Brep 组件:
4.2 Brep拆解
组装的一切都可以被拆解。Deconstruct Brep 组件就像一个 3D 拼图解算器,将任何 Brep 输入分解为其基本构建块:面、边和顶点。简而言之,它将复杂的结构分解为表面、曲线和点,为您提供要使用的元素部分。
应用示例:
使用此组件选择 Brep 的特定子元素,例如其表面之一。例如,要选择立方体的顶面,请使用 Deconstruct Brep 组件获取 Brep 所包含的所有表面的列表输出,然后使用 ListItem 组件选择所需的表面。
GH 中 Deconstruct Brep 组件的示例
4.3 Brep是否包含点
Brep 中的点 (BrepInc) 组件是一组分析组件的一部分。前提很简单:该组件帮助我们找出一个点是否在 Brep 中。当提供一个封闭的 Brep 和一个点列表时,它将输出一个布尔值列表。如果列表中包含一个点,则该值为 True,否则为 False。
因此,可以使用 Brep 中的点组件来选择包含在给定 Brep 体积中的对象。在下面的示例中,我使用“Cull Pattern”组件来处理具有 True/False 值的点列表。
4.3 实体差异
这个组件一开始可能很难找到,因为来自 Rhino,人们会寻找“布尔差异”来从另一个封闭的 3D 对象中减去一个。相反,在 Grasshopper 中,这些组件分别称为实体差异、交集和联合。
4.4 Brep最近点
Brep Closest Point 组件是最近点组件系列的一部分。这些组件根据点列表(在本例中为 Brep)计算出几何体上的最近点。
提供 Brep 和点列表后,Brep Closest Point 组件将输出 brep 上的最近点、这些点处 Brep 的法线以及距离。
4.5 Brep | Brep 交点
Grasshopper 中的交点组件有自己的组件选项卡,包含所有不同几何类型组合的交点组件。下面显示的是 Brep | Brep 交点组件。顾名思义,给定两个 Brep 输入 A 和 B,该组件将输出交点曲线 (C),以及最终的交点 (P)。
这些只是 Grasshopper 中可用的 Brep 命令中的一小部分。双击画布并在搜索栏中输入“Brep”,查看 Grasshopper 还提供了哪些其他 Brep 组件!
请记住,Rhino 和 Grasshopper 中的命令有时使用不同的术语来指代相同的命令。某些组件即使执行相同的功能,也可能使用不同的名称。
5、结束语
了解 Grasshopper 中的 Brep 可让你将 3D 建模提升到一个新的水平。凭借其数学精度,Brep 是创建复杂而精确的 3D 对象的理想选择。虽然它有其局限性,但它的优势使其成为 CAD 工具箱中不可或缺的工具。
原文链接:What is a Brep in Grasshopper? A Comprehensive Guide
BimAnt翻译整理,转载请标明出处