partition_dynamic — 在垂直范围较小的位置水平划分一个区域。
partition_dynamic(Region : Partitioned : Distance, Percent : )
partition_dynamic partitions the input Region horizontally
into regions that have an approximate width of Distance. The input
region is split at positions where it has a relatively small vertical extent.
The positions where the input region is split are determined by the
following approach: First, initial split positions are determined such that
they are equally distributed over the horizontal extent of the input region,
i.e., such that all the resulting parts would have the same width. For
this, the number n of resulting parts is determined by dividing the width
of the input region by Distance and rounding the result to the
closest integer value. The distance between the initial split positions is
now calculated by dividing the width of the input region by n. Note that
the distance between these initial split positions is typically not
identical to Distance. Then, the final split positions are
determined in the neighborhood of the initial split positions such that the
input region is split at positions where it has the least vertical extent
within this neighborhood. The maximum deviation of the final split position
from the initial split position is Distance*Percent*0.01.
The resulting regions are returned in Partitioned. Note that the
input region is only partitioned if its width is larger than 1.5 times
Distance。
Region (输入对象) region(-array) → object
Region to be partitioned.
Partitioned (输出对象) region-array → object
Partitioned region.
Distance (输入控制) real → (real)
Approximate width of the resulting region parts.
Percent (输入控制) real → (real)
Maximum percental shift of the split position.
默认值: 20
建议值: 0.0, 10.0, 20.0, 30.0, 40.0, 50.0, 70.0, 90.0, 100.0
值范围:
0
≤
Percent
≤
100
partition_dynamic 在所有参数正确时返回 2 ( H_MSG_TRUE )。当输入为空(未指定区域)时,可设置行为通过算子 set_system('no_object_result',<Result>),当输入区域为空时,可设置行为通过算子 set_system('empty_region_result',<Result>),以及当结果区域为空时,可设置行为通过算子 set_system('store_empty_region',<'true'/'false'>)。如有必要,则抛出异常。
intersection,
smallest_rectangle1,
shape_trans,
clip_region
基础