roofShed 操作

语法

  • roofShed(angle)
  • roofShed(angle, index)
  • roofShed(valueType, value)
  • roofShed(valueType, value, index)

参数

  1. angle - float
    屋顶平面生成的角度 (byAngle)。
  2. index - float
    用于指定单坡屋顶的方向的边索引(因此为整数值)。
  3. valueType - selector
    { byAngle | byHeight } - 屋顶生成的类型。
  4. value - float
    valueType 指定的屋顶平面的角度或高度。

描述

roofShed 操作用于构建垂直于当前形状几何的每个面的单坡屋顶。 在边 index (默认值为 0)处,将相对于面平面以给定角度或高度生成一个平面。

如果设置了 index,则屋顶平面将定向到指定边。

注:

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

范围

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

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

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

组件标签

该操作自动将语义组件标签应用于生成的面组件:

"roof.bottom"

"roof.side.outer"

"roof.side.inner"

"roof.top"

蓝色:原始面。

黄色:侧面。

红色:孔洞的侧面。

绿色:屋顶面。

自动标签 roofShed

有关使用组件标签的详细信息,请参阅:

相关内容

示例

简单的单坡屋顶

将在拉伸的 L 型地块上生成基本的单坡屋顶。

将在拉伸的 L 型地块上生成屋顶坡度为 10 度的单坡屋顶。 边 index 设置为 3。 请记住屋顶方向以及枢轴和范围设置。

Lot  --> 
   extrude(10) Mass
   
Mass --> 
   comp(f) { top : Top 
           | all : X }
		   
Top  --> 
   roofShed(10, 3) Roof
在 L 型地块上构建的单坡屋顶

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

Roof --> 
   comp(f) { all : X }
进行组件分割后的单坡屋顶

注:
每个 Top 形状边恰好有一个屋顶面。