Bitbybit Docs
    Preparing search index...

    Class OCCTCorners

    Скругление отдельных углов оболочки или тела OpenCascade и снятие с них фасок, выбираемых по точке рядом с ними, а не по индексу ребра: ближайший к каждой точке угол находится, классифицируется и обрабатывается отдельно, оставляя остальную форму нетронутой. Угол - это место, где несколько ребер встречаются в одной вершине. classifyCornerByPoint сообщает, какого вида угол выберет точка, а cornerByPointReport объясняет, что сделало скругление или почему оно было пропущено.

    Index

    Constructors

    by point

    • Скругляет угол, ближайший к каждой заданной точке на оболочке или теле, затрагивая только этот угол.

      radius - размер скругления; taperFactor, для 3D-углов, задает, как далеко скругление заходит вдоль сходящихся ребер, 0 для самого тесного, 1 для полного охвата. snapTolerance ограничивает расстояние от точки до вершины, 0 принимает ближайшую; mode planarOnly пропускает 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 принимает ближайшую; mode planarOnly пропускает 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);