Curtain Walls & Systems
这一章将讨论一组特殊的墙系统族 - 幕墙, 对 Walls (Basic & Stacked) 基础认知有助于更好的理解 Autodesk Revit® 中的幕墙系统
幕墙网格
幕墙 是 Autodesk Revit® 中的一类特殊墙系统族,这些墙的几何形状都是基于底层的UV网格来创建,网格配置是设置在幕墙类型中:

幕墙网格 分为 U、V两个轴(方向),在 Revit API 中U方向是墙体的垂直轴、V方向是墙体的基先(U线扫过V线且通常相互垂直):

网格 也可以是非90度(在曲面幕墙上比较常见):

幕墙竖梃 都附加至每个网格段上,且都基于幕墙类型内的设置组合链接:

幕墙水平与垂直边框线上也会附加幕墙竖梃 ,但请注意这些边框线虽然是墙体结构定义的一部分,但并不是墙体网格,墙体网格仅指幕墙边框内的线段;

由网格构成的四边区域称之为网格单元 :

可以将幕墙嵌板(系统族)或幕墙族(设计用于插入幕墙单元充当自定义面板的特殊灵活族)实例插入到这些单元中完成几何图形的定义,幕墙嵌板还可以自定义为实心嵌板、模板嵌板,甚至是空置 (!) 区域:

可以在幕墙类型中定义幕墙竖梃与嵌板,也可以直接覆盖在墙体实例。
墙体 vs 系统
在定义上幕墙 与幕墙系统 几乎相同,唯一的区别是幕墙 是垂直且具有方向性的,因此网格定义设置为水平与垂直的网格线,幕墙系统可以基于大量的曲面来创建尔不会限制下垂的方向,因此其网格配置了 Grid1 与 Grid2 两个轴向
|
在 Revit API 中 幕墙由 DB.Wall 来表达,幕墙系统由 DB.CurtainSystem表达。
|
查询幕墙
拾取基础墙与叠层墙至 Wall System Family 运算器, 可以帮助筛选幕墙类型与类别;

|
下面的截图示范如何利用
选择实例也相同:
|
分析幕墙类型
可以使用
Analyze Curtain Wall Type
对收集的幕墙类型进行属性分析,
Wall Function
,
Curtain Grid Layout
, 与
Curtain Grid Join Condition
等运算器可以帮助过滤相关的参数值:

分析幕墙
提取幕墙几何
利用
Element Geometry
运算器可以提取任何一个幕墙的实例的全部几何:


如下图所示
Element Bounding Geometry
运算器可以提取给定的幕墙实例的边框几何内容:


嵌入幕墙
幕墙可以嵌入其他墙体内,前面示范过
Analyze Curtain Wall
运算器可以提供对主墙体的访问,将给定的幕墙嵌入其中,如果没有给定嵌入幕墙会返回 null 值:

提取网格
|
在 Revit API 中幕墙网格由 DB.CurtainGrid 表达 |
前面示范过
Analyze Curtain Wall
运算器还可以访问给定幕墙实例的幕墙网格,基于幕墙网格可以获取网格的准确信息,也可以访问每一个幕墙单元、竖梃和嵌板的相关内容:

分析幕墙网格
利用下面这些运算器可以进一步的分解幕墙网格的属性与构成原件:
- Curtain Cells: 返回所有的幕墙单元信息,单元为网格线之间的有界区域
- Curtain Mullions: 返回所有单独的幕墙竖梃信息
- Curtain Panels: 返回所有嵌入在幕墙的幕墙嵌板或系统实例(例如幕墙门)
- Curtain Grid Lines: 返回所有沿网格U与V方向的幕墙网格线及其属性信息

分析单元
|
在 Revit API 中使用 DB.CurtainCell 来表达幕墙单元 |
可以使用下面的运算器来分析每个幕墙单元,且能提取单元曲线(曲线)与嵌板的曲线(平直曲线):

请注意单元曲线(下图左侧)与嵌板曲线(下图右侧)并不相同

如下图所示单元曲线与墙体曲率一致,但墙板曲线是单元框内的平面曲线:

嵌板曲线可用来创建面板,请注意每一个单元都可以标记其自身的序号且是从底行往顶行排序:


分析竖梃
|
在 Revit API 中 使用 DB.Mullion 来表达幕墙竖梃 |
经由
Analyze Curtain Wall
运算器来提取给定幕墙的幕墙竖梃,再链接
Element Geometry
运算器提取相关的几何信息:


可以使用下面的这些运算器来提取每一个幕墙竖梃:

Axis Curve 输出端会输出每一个竖梃的轴向曲线,请注意水平线与垂直线相交与否,由竖梃连接设置来决定:

还可以继续接入曲线运算器来提取竖梃的位置曲线,请注意带有零长度的竖梃线,这些线在幕墙上并不可见:

分析竖梃类型
|
在 Revit API 中使用 DB.MullionType 来表达幕墙竖梃类型 |
使用
Analyze Mullion Type
运算器来分析经由
Analyze Mullion
运算器提取的竖梃类型:

Curtain Mullion System Family
运算器可以依据系统族的值用来筛选竖梃,例如 L Corner Mullions

分析嵌板
幕墙可以承载两种类型的对象,既可以是幕墙嵌板,也可以是设计用于与幕墙一起使用的自定义族实例,例如幕墙门实例。这里的一些运算器可以帮忙来用于分析幕墙嵌板。也可以使用在 Data Model: Types 与 Data Model: Elements & Instances 指南中提供的方法和运算器来分析族实例
|
在 Revit API 中使用 DB.Panel 来表达幕墙嵌板 |
使用
Analyze Curtain Wall
运算器与
Element Geometry
运算器来提取幕墙嵌板的几何物件:

请注意嵌板的排序是从底部往顶部逐行排序:

因为 嵌板输出参数可以返回嵌板 (DB.Panel) 与自定义族实例 (DB.FamilyInstance), 这样也可以提取所有插入类型的几何物件:


请注意,如果要提取每一个独立的幕墙嵌板,嵌板 (DB.Panel) 输出需要进行筛选,否则
Analyze Panel
运算器会报错:

使用
Filter Elements+ v1.0
运算器联合其他类似 (
Category Filter
) 过滤运算器来筛选嵌板 (DB.Panel):

使用
Analyze Panel
运算器也会提供访问嵌板的基准点(Base Point)与法线/方向向量(Orientation):


分析嵌板类型
|
在 Revit API 中使用 DB.PanelType 来表达幕墙嵌板类型 |
Analyze Panel Type
运算器可以提取经由
Analyze Panel
运算器抓取的幕墙嵌板的嵌板类型:

注意 Panel Type 输出参数会返回的是一个 System Panel Type (DB.PanelType) 还是一个 Custom Family Symbol (DB.FamilySymbol) 这取决于插入至幕墙网格的嵌板的类型,因此我们首先需要筛选嵌板:

分析幕墙网格线
|
在 Revit API 中使用 DB.CurtainGridLine 来表达幕墙网格线 |
Deconstruct Curtain Grid+ v1.0
运算器可以提取幕墙网格线,然后接入至 Curve 运算器:

进一步的提取还可以提取每一条幕墙网格直线:

要注意幕墙网格线与线段的区别,在 Curve 输出选项提供输出每一段幕墙网格U、V轴向线段的选项:

Segments 输出端除了输出每条幕墙网格线还包括幕墙边框外未使用的线段:

幕墙网格线与线段显示如下:

提取关联竖梃与嵌板
Deconstruct Curtain Line
运算器也可以提取与每个幕墙网格线段关联竖梃与嵌板的功能,请注意,不包含边框上的竖梃与嵌板,因为它们不是幕墙网格定义的一部分:


嵌板关联与竖梃稍有不同,每一个竖梃都关联一个网格线段,但一个嵌板(因为它又两条边)会同时与一条沿着U轴向和V轴向的网格线关联:

创建幕墙
以定义断面
可以快速的根据一个定义断面来创建一段基础墙体,然后经过
Add Wall (Profile)+ v1.0
运算器的 Curtain Wall Type 来创建一个简单的幕墙:

查询幕墙系统
来表达
|
在 Revit API 中使用 DB.CurtainSystemType来表达幕墙系统类型,幕墙系统由 DB.CurtainSystem |
可以使用
Category Filter
,
Query Types+ v1.0
与
Query Elements
等运算器来查询幕墙系统类型与实例:


分析幕墙系统
利用
Analyze Curtain System Type
运算器可以提取幕墙系统类型的所有信息,但要注意幕墙系统 与幕墙系统类型 的差别:

从幕墙系统实例中提取信息与幕墙实例非常类似,最简单的的方法是使用
Analyze Curtain Wall
运算器,
Analyze Curtain System Type
运算器可以访问幕墙网格脚本:
|
注意幕墙系统可以包含多个幕墙网格,且每个都和源几何关联一个单一的面板,这些幕墙网格都有独立的边框且基于幕墙系统类型脚本来生成 |

一旦建立访问幕墙网格脚本,你就可以通过
Deconstruct Curtain Grid+ v1.0
来提取信息,这和提取幕墙信息很类似::

Wall
Curtain System
Curtain Grid
Curtain Cell

