shapeL、shapeU、shapeO 操作

语法

  • shapeL(frontWidth, leftWidth) { selector operator operations | ... }
  • shapeU(frontWidth, rightWidth, leftWidth) { selector operator operations | ... }
  • shapeO(frontWidth, rightWidth, backWidth, leftWidth ) { selector operator operations | ... }

参数

  1. frontWidth - float
    前翼的深度。
  2. leftWidth - float
    左翼的宽度。
  3. rightWidth - float
    右翼的宽度。
  4. backWidth - float
    后翼的深度。
  5. selector - selector
    • shape - setback 面(例如 L、U 或 O 形状)。
    • remainder - 选择面的其余部分。
  6. operator - float
    运算符用于定义如何使用退缩面生成后续形状。 这同样适用于具有多个面的形状。 有效运算符如下:
    • ":" 将每个面放入新形状。
    • "=" 与选择器对应的所有面将合并成一个新形状。
  7. operations - float
    要在新创建的形状上执行的形状操作的顺序。

描述

shapeLshapeUshapeO 操作会根据预定义的空间选择器选择多条边,并使其退缩用户定义的距离。

注:

该操作是应用退缩的另一种方式。 例如

shapeL(frontWidth, leftWidth) { selector operator operations | ... }

也可以使用 setback 操作和 comp 函数实现:

setback( comp(fe) { front=frontWidth | left=leftWidth } ) { selector operator operations | ... }

几何标签

操作自动将语义组件标签应用于生成的边组件。 有关更多详细信息,请参阅 setback 操作。

相关内容

示例

L 形状

使用 L 形状填充的区块

使用 L 形状填充的区块。
attr myFrontDepth = 5
attr myLeftWidth = 11

LotInner -->
   Lot
		
Lot -->
   offset(-3,inside)
   shapeL(myFrontDepth,myLeftWidth) { shape : Footprint | remainder : NIL }
	
Footprint -->
   extrude(rand(10,20)) 
   color(1,0,0)

U 形状

使用 U 形状填充的区块

使用 U 形状填充的区块。
attr myFrontDepth = 5
attr myRightWidth = 3
attr myLeftWidth  = 11

LotInner -->
   Lot
		
Lot -->
   offset(-3, inside)
   shapeU(myFrontDepth,myRightWidth,myLeftWidth) { shape     : Footprint 
                                                 | remainder : NIL }
	
Footprint -->
   extrude(rand(10,20)) 
   color(1,0,0)

O 形状

使用 O 形状填充的区块

使用 O 形状填充的区块。
attr myFrontDepth = 5
attr myRightWidth = 3
attr myBackDepth  = 2
attr myLeftWidth  = 11

LotInner -->
   Lot
        
Lot -->
   offset( -3, inside)
   shapeO( myFrontDepth, myRightWidth, myBackDepth, myLeftWidth ) 
         { shape : Footprint | remainder : NIL }

Footprint -->
   extrude(rand(10,20)) 
   color(1,0,0)