可以使用以下变换来修改当前形状的范围:
- t(tx, ty, tz) - 沿范围轴平移范围的位置。
- r(rx, ry, rz) - 通过将 rx, ry 和 rz 添加到范围的旋转矢量 scope.r 来使范围绕其原点旋转。 还可以通过编写 r(scopeCenter, rx, ry, rz) 来围绕范围中心旋转。
- s(sx, sy, sz) - 将范围的大小设置为 sx, sy 和 sz 的值。 因此,不同于平移和旋转操作,系统不会添加参数值而是将其覆盖。 此外请注意,大小操作会将大小设置为绝对值(例如米或码),且不会执行相关缩放。
- center(axes) — 根据 axes 平移当前形状的范围,以使其中心对应于形状堆栈上先前形状范围的中心。 后者将确定在哪个(形状堆栈上先前形状的)轴方向执行平移。
相关运算符
对于 t() 和 s() 运算,可以使用运算符 ' 方便地将绝对值 tx,ty,tz 或 sx,sy,sz 变换为与范围大小相关的值。
s('0.5, '1, '1)
t('2, 0, '3)
这等同于:
s(0.5*scope.sx, 1*scope.sy, 1*scope.sz)
t(2*scope.sx, 0*scope.sy, 3*scope.sz)
示例
设置大小
在全部三个尺寸中,拉伸的 Lot 都将设置为 5 个单位的绝对大小。
|
相关调整大小和居中
首先通过将 s() 运算与相关运算符 ' 结合使用来缩小范围,然后使范围(相对于 Lot 形状的范围)居中,最后将其拉伸为 3D 几何。
|
旋转和居中
系统首先围绕每个分割形状的范围原点旋转该分割形状,然后使其居中。
使用 r(scopeCenter, 0, 360*split.index/split.total, 0)代替 r() 的 center() 序列可以提供相同的结果。 |
平移 - 旋转串联
这就是我们的开始形状。
| |
首先沿 x 轴平移两个单位。
| |
然后绕 y 轴旋转 30 度。
| |
然后沿 x 轴再平移 2 个单位:
|