[Calibre command] Angle
本文最后更新于88 天前,其中的信息可能已经过时,如有错误请发送邮件到daoshilaoqi@qq.com

一、Overview

Type: layer operation

Purpose: 选择与坐标系x 轴的较小角度幅度满足给定约束条件的边。

二、Usage

Angle layer constraint
Output: edge

三、Input & parameter

  1. layer:可以是 original layer,可以是 derived layer,也可以是 layer 组成的集合,还可以是edge layer。
  2. constraint:在 “约束” 主题中第 68 页表 2 – 2 的 “约束表示法” 列中列出的必需约束。约束必须包含浮点数(以度为单位解释),且必须大于或等于 0 但小于或等于 90,不能指定约束大于 90

四、Description

选择所有相对于坐标系 x 轴具有较小角度幅度且符合约束条件的图层边。

每条边相对于坐标系的 x 轴有两个角度:一个较小幅度的角度和一个较大幅度的角度。下图展示了这两个角度。Angle 操作始终计算 0 到 90 度(包括 0 度和 90 度)之间的较小角度幅度

从数学角度,若严格要求只能是锐角(即大于 0° 且小于 90° ),在设定约束条件时,应避免使用等于 0° 或 90° 的约束。例如,使用 “> 0 < 90” 这样的约束,而非 “≥ 0 ≤ 90” 。这样就能确保所选边与 x 轴形成的较小角度幅度严格处于锐角范围。

所有angle相关的操作,只能检测0 ~ 90度之间(包括0度和90度),还可参考 “Not Angle”(非角度)、“Drawn Acute”(绘制锐角)、“Drawn Angled”(绘制角度)、“Flag Acute”(标记锐角)、“Flag Angled”(标记角度)、“Exclude Acute”(排除锐角)、“Exclude Angled”(排除角度)和 “Deangle”(去除角度)等操作。

五、Test cases

Test rules list:

Rule nameDescriptionOpValue
OD.R.1The angle of OD==45°
NW.R.1Shapes must be orthogonal or on a 45 degree angle

Test deck rules:

DRC SELECT CHECK OD.R.1 NW.R.1 
OD.R.1 { @ The angle of OD == 45°
    angle OD >= 0 < 45
    angle OD > 45 <= 90
}
NW.R.1 { @ Shapes must be orthogonal or on a 45 degree angle
    angle NW > 0 < 45
    angle NW >45 < 90
}

Test patterns:

Highlight results:

问题:OD.R.1和NW.R.1左上角我都设置的是正交旋转45度,为什么右侧边Highlight呢?

原因:我的OD和NW是在正交图形的基础上进行rotate 45度得到的,会有可能导致offgrid,这样就不是45度了。

解决方法:建议重新按照45度来画,而不是通过正交图形旋转得到。

最下面两个图形,是通过polygon 指令按照45度画出来的,可以看出是符合要求的。
旋转会导致snap,从而不on grid
作者:ZLS
版权声明: 本博客所有文章除特别声明外,均采用CC BY-NC-SA 4.0协议
转载请注明文章地址及作者哦~
上一篇
下一篇