offset 操作

语法

  • offset(distance)
  • offset(distance, keepFaces)

参数

  1. distance - 浮点型
    偏移距离,可为正也可以为负。
  2. keepFaces - 选择器
    { all | inside | border } - 选择要保留的面。 默认值为 all

描述

offset 操作用于为当前形状几何的每个面在距离 distance 处构造偏移面。 根据参数的符号,偏移面将分别在内部(负号)或外部(正号)进行构造。

注:

生成的形状包含偏移面和边界面(即原始面和偏移面之间的差异)。 如果只需偏移面,则只能通过使用组件分割提取对应的面(请参阅以下示例)。 或者,可以提供偏移选择器作为第二个参数。

范围

会根据新几何调整范围大小。

遮挡物形状

如果应用了偏移选择器,则会在应用偏移之前自动生成遮挡物形状。 遮挡物形状设置为适用于未标注遮挡查询

相关内容

示例

偏移面和边界面

下图列出了内部和外部情况中的偏移面(红色)和边界面(绿色)。

内部和外部中的偏移面和边界面

原始面(位于中间)会缩小(负偏移)和放大(正偏移)。 偏移面采用红色,边界面采用绿色。 请注意,放大时,偏移面和边界面会重叠。

这些偏移面是使用以下规则生成的,其中 offset 介于 -3 和 3 之间。

attr red   = "#FF0000"
attr green = "#00FF00"

Lot --> 
   offset(-3) A

A --> 
   comp(f) { inside : I 
           | border : O }

I --> 
   color(red)

O --> 
   color(green)

要提取偏移面,需要将内部选择器用于组件分割。 在外部情况中,这可能令人困惑,因为在此情况下偏移面实际位于外部。

注:

使用正偏移时,边界面(绿色)和偏移面(红色)会重叠。 在此情况下,边界面的法线指向下方(见下文)。

面方向

在下图中,对于每个面,标记第一条边。

在内部情况 (offset = -1) 中,内部和边界面均逆时针定向(正)。

内部情况

在外部情况 (offset = 1) 中,只有红色面逆时针定向。 绿色边界面为顺时针(负)。

外部情况
注:

由于在外部情况中边界面为负,以下布尔方程适用于这两种情况:内部面 + 边界面 = 原始面。


在本主题中