roofRidge 操作

语法

  • roofRidge(valueType, value)

参数

  1. valueType - 选择器
    { byAngle | byHeight } - 屋顶生成的类型。
  2. value - 浮点型
    valueType 指定的屋顶平面的角度或高度。

描述

roofRidge 操作用于构建垂直于当前形状几何的每个面的屋顶。 与 roofHip 操作相比,roofGable 操作仅构造一个屋脊。 不会在任意形状上创建四坡和山墙,但是形状轮廓将成为两个形成角度的屋顶平面的一部分。

屋脊朝向范围的 x 轴。 也就是说,生成的屋脊平行于投影到面平面的范围的 x 轴。 要设置屋脊的方向,使用 alignScopeToGeometryalignScopeToGeometryBBoxrotateScope 等操作对齐范围。

注:

已针对修剪平面优化屋顶网格的连通性,以剪切插入屋顶平面的砖块(请参阅以下示例)。

范围

通过以下方式设置范围方向:

  • 尽量保留 x 轴方向(旧 x 轴会投影到第一个面的平面)
  • y 轴方向与第一个面的面法线一致。
  • z 轴垂直于上述两个轴。

将调整范围大小以与拉伸几何完全匹配。

相关内容

示例

范围和修剪平面

将在拉伸的地块上生成屋顶坡度为 30 度的屋顶。 请记住枢轴和范围设置。

Lot  --> extrude(10) Mass
Mass --> comp(f) { top : Top | side = Sides. }
Top  --> roofRidge(byAngle, 30) Roof
屋脊范围和枢轴

进行组件分割后,每个屋顶面都包含修剪平面,用于在插入时剪切砖块。

Roof --> set(trim.horizontal, true)
         comp(f) { all : Face. }

注:

请注意,根据默认设置,屋脊处没有水平修剪平面。 要进行启用,需要在执行组件分割前使用 set(trim.horizontal, true)(详细信息)。

组件分割后的屋脊

屋脊方向

alignScopeToGeometryBBox 用于 xy 选择器后,范围将对齐到 top 面。 因此,范围的 x 轴是最小面积外接矩形的较长边。 生成的屋脊“沿着”形状的方向。

Lot  --> extrude(10) Mass
Mass --> comp(f) { top : Top | side = Sides. }
Top  --> alignScopeToGeometryBBox(xy)
         roofRidge(byAngle, 30)
屋脊沿着形状

使用不同的选择器 yx 将对齐范围,使范围的 x 轴为较短边。 生成的屋脊“横跨”形状。

Top  --> alignScopeToGeometryBBox(yx)
         roofRidge(byAngle, 30)
屋脊横跨形状

范围旋转了 45 度。 生成的屋脊位于形状的“对角线”方向。

Top  --> alignScopeToGeometryBBox(xy)
         rotateScope(0, 0, 45)
         roofRidge(byAngle, 30)
屋脊位于形状对角线方向

在本主题中