Bitbybit Docs
    Preparing search index...

    Class OCCTCorners

    对 OpenCascade 壳体或实体的单个角进行倒圆角和倒角,通过角附近的点而非边索引来选取:找到离每个点最近的角,对其分类并单独处理,形状的其余部分保持不变。角是多条边在一个顶点相交的地方。classifyCornerByPoint 报告一个点会选中哪种类型的角,cornerByPointReport 说明圆角做了什么或为何被跳过。

    Index

    Constructors

    by point

    • 对壳体或实体上离每个给定点最近的角进行圆角,只触及该角。

      radius 是圆角大小;对于 3D 角,taperFactor 设置圆角沿相交边延伸多远,0 表示最紧凑,1 表示完全延伸。snapTolerance 限制点到顶点的距离,0 接受最近的;modeplanarOnly 时跳过 3D 角。

      Parameters

      Returns Promise<TopoDSShapePointer>

      角已倒圆角的形状

      const rounded = await bitbybit.occt.corners.filletCornerByPoint({
      shape: box,
      points: [[5, 5, 5]],
      radius: 1,
      taperFactor: 1,
      snapTolerance: 0,
      mode: Bit.Inputs.OCCT.cornerModeEnum.auto,
      });
    • 对壳体或实体上离每个给定点最近的角进行倒角,只触及该角。

      distance 是倒角从角延伸多远,angle 是其斜度,以度为单位。snapTolerance 限制点距顶点多远,0 接受最近的;modeplanarOnly 时跳过 3D 角。无法倒角的角会抛出错误。

      Parameters

      Returns Promise<TopoDSShapePointer>

      角已倒角的形状

      const beveled = await bitbybit.occt.corners.chamferCornerByPoint({
      shape: box,
      points: [[5, 5, 5]],
      distance: 1,
      angle: 45,
      snapTolerance: 0,
      mode: Bit.Inputs.OCCT.cornerModeEnum.auto,
      });
    • 查找离每个给定点最近的角并报告它是哪种角,不更改形状。

      每个条目说明角在哪里、它距点多远、有多少边和面在此相交,以及它是平面角、可展角还是真正的 3D 角,或者为什么没有找到。它显示 filletCornerByPoint 会选中什么。

      Parameters

      Returns Promise<CornerByPointReport>

      每个点一个条目的报告

      const report = await bitbybit.occt.corners.classifyCornerByPoint({ shape: box, points: [[5, 5, 5]], snapTolerance: 0 });
      console.log(report.results[0].classification);
    • 运行与 filletCornerByPoint 相同的角圆角,但返回报告而不是形状:对每个点,找到了哪个角、如何分类、做了什么以及是否成功。

      便于在更改半径或点之前弄清圆角为何被跳过。

      Parameters

      Returns Promise<CornerByPointReport>

      每个点一个条目的报告

      const report = await bitbybit.occt.corners.cornerByPointReport({
      shape: box,
      points: [[5, 5, 5]],
      radius: 1,
      taperFactor: 1,
      snapTolerance: 0,
      mode: Bit.Inputs.OCCT.cornerModeEnum.auto,
      });
      console.log(report.results[0].applied, report.results[0].message);