setbackToArea

概要

  • setbackToArea (area) {选择器操作员操作| …}
  • setbackToArea (area,uvSet) {selector operator operations | …}
  • setbackToArea (area,minDistances) {selector operator operations | …}
  • setbackToArea (area,minDistances,uvSet) {selector operator operations | …}
  • setbackToArea (area,minDistances,maxDistances) {selector operator operations |…}
  • setbackToArea (area,minDistances,maxDistances,uvSet) {selector operator operations | …}

参数

  1. 区域 –浮动
    挫折余量的理想区域。必须> 0。
  2. minDistances,maxDistances – float
    包含每个面边缘的缩进距离的数组。应用的回退将在此范围内。
  3. uvSet,选择器,操作符,操作
    所有其他参数与回退操作相同 。

描述

该 setbackToArea操作类似于挫折操作。不同之处在于自动选择缩进距离,使得 余数满足给定 区域

如果没有 给出minDistance,则为每个边选择缩进距离相等。如果 指定了minDistance,则这些距离增加一个公共偏移量,以满足该 区域。(可选) maxDistances定义应用距离的最大值。

所需的 面积时的最小距离太大无法实现,最大距离太小或当前形状的面积大于指定较小的 区域

注意:

其余部分取决于所选边的挫折。如果你只对剩余的形状感兴趣,你仍然需要提供一个挫折选择器

setbackToArea(area){all = NIL | 余数= X.}

有关

例子

挫败地区

左:面积为400的正方形形状缩回到100的区域。右:执行回退,使所有后退面的面积为300

Left --> setbackToArea(100) { all      = NIL   |
                             remainder = Green }

Right --> setbackToArea(geometry.area - 300)
                            { all      = Green }
方形挫折到区域

一个L形的挫折,面积为100和300。

attr area = 100

Lot --> setbackToArea(area) { front     = Blue  |
                              left      = Red   |
                              remainder = Green }
L形挫折到区域

在不同比例下相同形状的区域100的回退。

Lot --> setbackToArea(100) { all       = Blue  |
                             remainder = Green }
挫折到100区
 

下限和上限

受最小和最大距离限制的挫折(以红色突出显示)。请注意,通过将数组传递给参数化的Lot规则,每个数组仅计算一次 comp函数。

attr area = 300

minDists = comp(fe) { all : rand(3)    }
maxDists = comp(fe) { all : rand(3, 6) }

ShowDists(dists) -->
    setback(dists) { all       = NIL |
                     remainder = 
                       comp(e) { all = Red } }

Lot --> Lot(minDists, maxDists) 

Lot(minD, maxD) -->
    ShowDists(minD)
    ShowDists(maxD)
    setbackToArea(area, minD, maxD)
                           { all       = NIL   |
                             remainder = Green }

Was this article helpful?