语法

  • roofRidge(valueType, value)

参数

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

描述

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

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

注:

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

范围

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

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

 

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

相关内容

示例

范围和修剪平面

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

Lot  --> extrude(10) Mass
Mass --> comp(f) { top : Top | side = Sides. }
Top  --> roofRidge(byAngle, 30) Roof
GUID-6B99A4C5-366B-464B-AAC8-07ECADDD2053-web

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

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

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

 

GUID-6D4559B2-37A7-49FC-B149-B63F0F17DFBC-web
 

屋脊方向

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

Lot  --> extrude(10) Mass
Mass --> comp(f) { top : Top | side = Sides. }
Top  --> alignScopeToGeometryBBox(xy)
         roofRidge(byAngle, 30)
GUID-ED5B1694-F2D4-48DE-9933-853F54DDACC2-web

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

Top  --> alignScopeToGeometryBBox(yx)
         roofRidge(byAngle, 30)
GUID-B7EF2001-24B1-4530-B5C4-2826E7744998-web

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

Top  --> alignScopeToGeometryBBox(xy)
         rotateScope(0, 0, 45)
         roofRidge(byAngle, 30)
GUID-0066F23C-2D9D-4B21-86E2-0C1B7EE8968D-web