roofPyramid 操作

语法

  • roofPyramid(angle)
  • roofPyramid(valueType, value)

参数

  1. angle - float
    屋顶平面生成的角度 (byAngle)。
  2. valueType - selector
    { byAngle | byHeight } - 屋顶生成的类型。
  3. value - float
    valueType 指定的屋顶平面的角度或高度。

描述

roofPyramid 操作用于构建垂直于当前形状几何的每个面的金字塔屋顶。 面中心(所有折点的平均值)将沿面法线拉伸给定高度并与所有面折点连接。 新三角形为屋顶面。 如果给定角度,所选高度要保证屋顶三角形 1 与面的夹角与指定值相同。

注:

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

范围

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

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

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

组件标签

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

"roof.bottom"

"roof.top"

蓝色:原始面。

绿色:屋顶面。

自动标签 roofPyramid

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

相关内容

示例

简单的金字塔屋顶

在拉伸的地块上构建屋顶坡度为 30 度的金字塔屋顶。 请记住枢轴和范围设置。

Lot  --> 
   extrude(10) Mass
   
Mass --> 
   comp(f) { top : Top 
           | all : X }
		   
Top  --> 
   roofPyramid(30) Roof
在地块上构建的金字塔屋顶

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

Roof --> 
   comp(f) { all : X }
组件分割后的金字塔地块

注:

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