在 Revit 中可以利用 Rhino.Inside®.Revit所提供的 Grasshopper 专用运算器,来创建原生的 Revit 图元,包括墙体、幕墙、网格线、空间图元、楼层、楼板、屋顶、开口件、楼梯、扶手...等一些列的原生物件。在本系列教学中都将会详细讲解如何利用 Rhino.Inside®.Revit 来创建这些 Revit 原生图元,本章主要介绍基础墙与堆叠墙的作业流程。
这是 Rhino.Inside®.Revit 中文手册101 (请在电脑浏览器访问本页面,获得更加的阅读体验)的延续部分,如果你对 Rhino.Inside®.Revit 还没有任何概念,请前往前面的章节了解相关介绍...
Walls (Basic & Stacked)
基础墙与堆叠墙
1.查询墙体类型
API
在Revit API 中,墙体类型由DB.WallType来表示,墙有三个主要的系统族,经由DB.WallKind来进行枚举,且由它来检查与确定,Rhino.Inside®.Revit也使用墙体系统族以保持描述的一致性。
可以使用
CategoryFilter与
QueryTypes 来查询 Revit 模型中所有的墙体类型。
▲ 查询墙体类型
2.查询墙体
API
Revit API 中墙体由 DB.Wall来表示。
所有墙体
联合使用
CategoryFilter与
Query Elements 运算器来查询一个 Revit 模型中所选择的墙体实例。
▲ 查询所有墙体
墙系统族
建议基于墙系统族的方式来查询基础墙,使用
WallSystemFamily 运算器挑选Revit中内置的基础墙、堆叠墙、幕墙或组合墙,可以将这些作为墙体查询的输入,如下所示:
▲ 基于墙系统族的方式来查询基础墙
墙体类型
墙体类型的查询非常容易,例如【数据模型:图元&实例】中介绍过的流程:
▲查询墙体类型
3.墙体类型分析
读取类型参数
一旦使用上面的一些工作流程完成了墙体类型的筛选,您就可以查询其参数与修改参数,在【文档模型:参数】这一章会详细介绍如何修改一个图元类型的参数。
分析基础墙
基础墙是Revit中一种特殊的墙系统族,由一组定义为墙类型的图层构成,也有一些独特的选项,例如 Wrapping at Inserts。使用
Analyze Basic Wall Type 运算器可以显示与分析Revit 文档中基础墙类型信息:
▲ 显示与分析基础墙类型信息
有些特定的输出项(例如 Wrapping at Inserts 与 Wrapping at Ends)会返回一个与Revit API 枚举像对应的整数值, 您可以使用
Wall Wrapping 与
Wall Function 运算器(位于上图中参数数值面板前)来确定在参数上设置的值,且能筛选源墙类型, 下面示范如何利用这些运算器来进行 Wrapping 与 Function 筛选:
▲ 分析与筛选基础墙
基础墙结构
API
Revit API 中使用 DB.CompoundStructure 来表示允许配置类型的结构定义,例如基础墙、地板、屋顶与复合天花板等,它还可以访问 DB.CompoundStructureLayer 的每个独立层。
前面示范了
AnalyzeBasicWallType 运算器如何访问基础墙类型的复合结构定义,也可以使用
DeconstructCompoundStructure 运算器来显示与提取复合结构定义,和上面的比较相似,
OpeningWrappingCondition
End Cap Condition 运算器可以用来比较与筛选结构图层,如下图所示:
▲ 比较与筛选基础墙结构图层
如上面所示,图层从外部到内部排序,与 Revit GUI 图层结构匹配,下面示范如何以序号索引来访问每一个图层:
▲ 以序号索引来访问每一个图层
基础墙结构层
使用
Deconstruct Compound Structure Layer 运算器提取每个复合结构层的信息,还可以使用
Layer Function 与
Deck Embedding Type 运算器来进行对比:
▲ 查询基础墙结构层
Stacked Wall 堆叠墙结构
当前的 Revit API 并不支持直接访问堆叠墙结构数据, 但您可以使用 Analyse Stacked Wall 运算器来提取内置的基础墙实例,且能解析每一个图层结构:
▲ 提取堆叠墙内置的基础墙实例
4.分析墙体
读取实例参数
如果您使用上面的一些方法筛选到所需的墙体实例,继而可以查询器参数值且可以赋予新的参数值,在【文档模型:参数】中会介绍如何编辑一个图元的参数值。
常见墙体属性
如下图所示使用
Analyze Wall 运算器可以获取所有墙系统族的常见属性,
Wall System Family 与
Wall Structural Usage 运算器还可以对比参数值:
▲ 获取所有墙系统族的常见属性
API
Slant Angle 属性仅在 Revit 2021 或更高的版本上能支持。
下面示范如何使用 Wall Structural Usage 值列表运算器来筛选 Shear 墙:
▲ 筛选 Shear 墙
输出选项 Orientation 用来显示墙的原始向量:
▲ 输出选项 Orientation 用来显示墙的原始向量
墙定位线
API
Revit API 中使用 DB.WallLocationLine 来枚举基础墙或堆叠墙的定位线,其相关参数储存在 DB.BuiltInParameter.WALL_KEY_REF_PARAM 参数中。
基准墙与堆叠墙有一个称之为定位线的概念,用来定义墙体实例的垂直参考平面,当墙被翻转或它的结构被修改时会被维持固定在这个垂直参考平面上。运算器
Analyze Wall Location Curve 可以提取墙体的定位线信息,它会返回墙体的中心线、位置线设置、位置线、偏移与偏移方向等信息:
▲ 提取墙体的定位线
Wall Location Line 运算器也提供基于定位线(Location Line)筛选功能:
▲ 筛选墙体定位线
如果您仅需要提取墙体的中心线,Grasshopper 中最简单的方法是直接使用 Curve 运算器来筛选即可:
▲ 筛选墙体定位线 - 中心线
墙体截面
使用
Analyze Wall Profile 运算器也可以提取基础墙与堆叠墙图元的截面曲线, 请注意这些截面曲线会沿着中心平面提取:
▲ 分析与提取墙体截面
墙体几何
您可以通过
Element Geometry 运算器来获取一个墙体实例的基础几何内容:
▲ 获取一个墙体实例的基础几何内容
墙体几何结构
API
通常在 Revit API 中任何一个图元的几何信息都可以使用 DB.Element.Geometry 来提取,对于墙而言,提取的几何信息并不包括墙体结构层, 这里提供一些临时的快速方法,请浏览这里👈了解提取几何图层信息的更多方法。
Element Parts Geometry 运算器可以用来提取一个基础墙的图层几何信息:
▲ 提取基础墙的图层几何信息
这个运算器也可以作业于堆叠墙,它可以提取给定堆叠墙的所有基础墙的结构图层信息。
▲ 提取给定堆叠墙结构图层信息
比较推荐的方法是先从堆叠墙抽离基础墙,然后再从基础墙中提取其图层几何图形,这个方法所得到的数据结构能更吻合其图层顺序结构。
▲ 从堆叠墙抽离基础墙与提取几何图形
为了让图层中提取的几何列表与处理图层的其他运算器保持相同顺序,您可以依据墙体方向向量的距离对几何列表进行排序,这个方法最适合平台的墙体, 也可以使用类似的方法对其他墙体几何进行排序(想象下堆叠在不同结构的堆叠墙实例中的基本墙体):
▲ 从堆叠墙抽离基础墙与提取几何图形
5.创建墙体
基于基线
使用
Add Wall (Curve) 运算器基于给定的曲线创建新的墙体,
Graphical Element 运算器用来从 Revit 模型中抓取一些直线:
▲ 基于基线创建墙体
基于截面
使用
Add Wall (Profile) 运算器基于给定的截面线来创建新的墙体,请注意截面线必须是封闭且与工作平面垂直的平面曲线,下图使用了 Join Curve 运算器来组合拾取到的曲线,
Graphical Element 运算器从 Revit 中抓取了一些直线, 这些直线都是与当前工作平面垂直且是处于同一个平面上。
▲基于截面创建墙体
~本次更新结束,更多精彩文章请您持续关注 Rhino 原厂服务号 Rhino3d 和微信订阅号 Shaper3D 所推送的相关内容~
Rhino原厂近期面授课程
Rhino原厂定期在中国开设高级面授课程,面向需要系统和深入掌握Rhino曲面造型和Grasshopper参数化设计的用户开设的全日制课程。课程注重系统性、理解性,并侧重技巧和实用性经验的传授,课程主要面向建筑设计行业和产品艺术设计行业。
点击下方图片可了解近期开设的面授课程
关注Rhino原厂微信公众号获取更多优质内容

