此典型操作用于将建筑设计解构为几何组件。 在 CGA 形状语法中,组件分割可用于将形状分为较小尺寸的形状。
以下操作将根据其几何将其前导形状分割为多个组件,并对每个组件运行一组操作。
comp(component){selector : operations | selector : operations …}
参数 component 用于标识要分割的组件的类型。例如,可以将其设置为 f(适用于面)、e(适用于边)或 v(适用于折点)。 selector 参数用于定义所选组件。
作为基础示例,以下规则将为形状 A 的几何的 all 面创建一个形状 B:
A --> comp(f) { all : B }
同样,使用以下两条规则分别分割为边和折点:
comp(e) { all : B }
comp(v) { all : B }
选择器
要仅访问所选组件,请使用如下操作调用来创建由原始形状的第三个面组成的形状:
comp(f) { 3 : B }
此类调用不是很通用,并且要求用户注意前导形状的几何拓扑。 因此,可以使用选择器作为备选方案:
Building --> comp(f) { side : Facade }
此 CGA 语法仅选择 Building 几何的垂直 side 面,并相应地创建新的立面形状。 为此,规则解释器将分析几何组件的方向(相对于范围方向的面法线方向)。
示例
建筑物覆盖区随即拉伸为 3D 质量模型。 生成的范围将以黄色显示。 将分别以红色、绿色和蓝色表示范围的 x 轴、y 轴和 z 轴。 枢轴将以相同的颜色显示。 |
|
体量模型将分割为一个 Main 立面 (front) 和多个 Side 立面 (side)。 现在,每个面都是新形状(Main 和 Side 形状)的几何。 新形状的范围和枢轴取决于面的方向。 x 轴将指向第一条边,z 轴将指向面法线。 范围的 z 维度为零。 |
通常,会进一步将立面细分为楼层。 将放置并定位每个新 Main 和 Side 形状的枢轴和范围,由此可以方便地写入立面规则。
有关详细信息,请参阅 CGA 组件分割操作。